21 ms·
Plainbudget: Minimalist Plain Text Budgeting
- viiviiviivii 8y agoNeat!
- nyamada 8y agoare you familiar with this project? https://www.ledger-cli.org/ https://www.ledger-cli.org/
- greenleafjacob 8y agoAlso a fan of ledger. See http://plaintextaccounting.org http://plaintextaccounting.org for some more details on its workflow.
- kqr 8y agoI'm a huge fan of double entry accounting, regardless of vessel (I do it in Google Sheets from time to time), even for the simplest things. Very flexible and powerful, yet safe.
- jgalvez 8y agoYup, my intent was to get to a simpler approach.
- howeyc 8y agoThis is what I use to budget. I just create a budget transaction at the start of the month with my plan for the month. I then run a report showing the difference between each budget account and each corresponding expense account on a monthly basis.
- msangi 8y agoI really like this approach. Currently I'm using Fava, which has all the power of Beancount and a nice web UI https://beancount.github.io/fava/ https://beancount.github.io/fava/
- ytjohn 8y agoAlso, Fava adds budgeting to Beancount. Beancount itself doesn't really have the concept, but Fava lets you add budget lines and compare your spending against your budget.
- nebgnahz 8y agoJust learned (and still learning) ledger two days ago. I found it not intuitive but can see the value. Any good tutorial/guide?
- Jtsummers 8y agohttp://plaintextaccounting.org http://plaintextaccounting.org And the links from there are a pretty good start. Start with just basic asset tracking (checking, savings) and liability tracking (debt, CC) and get into the routine of it. Then you can add in your investments and other assets (car, home, stocks, foreign currency holdings, etc.). If you don't care about a slightly inaccurate history, just add the stocks later on at their present value, or go back and find your initial purchase dates and cost basis and let ledger calculate your present gain/loss.
- txmjs 8y agoReally great project! Good work. Love seeing Nuxt in the wild too. Reminds me of Numi[0], a really beautiful text calculator I've been using on MacOS for a few years now. [0] http://numi.io/ http://numi.io/
- jgalvez 8y agoWoah, loved that app :) Lots of cool stuff that can be incorporated into Plainbudget's "sheet syntax" over time. Thanks for sharing.
- wodenokoto 8y agoWhen I change one of the values in the Expense A group, the top expanse A value doesn't change in the top group, which is sort of dissappointing. Is this by design? + 1000 Salary - 700 Expense A - 200 Expense B - 100 Expense C = 0 = 800 Expense A - 300 Car payment - 150 Plane ticket x 2 - 200 Utilities bill
- jgalvez 8y agoThat's a planned feature: https://github.com/galvez/plainbudget/issues/6 https://github.com/galvez/plainbudget/issues/6 I will work on it this week.
- jgalvez 8y agoFor now, only the sums of each group are dynamic.
- jgalvez 8y agoThere you go: https://galvez.github.io/plainbudget/?named-groups https://galvez.github.io/plainbudget/?named-groups
- wenc 8y agoThis is nice, but for budgets to be effective, they need to be across multiple time periods. Budgeting is like an optimization/monitoring problem with 2 objectives: 1. monthly cash flow > 0 (don't ever let your cash situation go negative e.g. credit-card debt) 2. maximize(Year End final balance) I have a Google Sheets doc that I've used for years where I have inflows and outflows by month, and a year-end balance that is automatically calculated. This lets me see what my projected cash status will be at the end of the year. At every month, the cash flow (in - out) is calculated -- this prevents me from going underwater at any given period. Having a dynamically updating spreadsheet helps you to monitor those two objective functions and make course-corrections. It's simple, it's cloud-based and it's available on all devices.
- jgalvez 8y agoYeah, that's my idea with this issue: https://github.com/galvez/plainbudget/issues/4 https://github.com/galvez/plainbudget/issues/4 I want to be able to have multiple "sheets" horizontally, one for each month, and then make it possible to calculate a final balance (and perhaps even a graph in the background). Nevertheless, plainbudget as a CLI tool has worked just as well for me for many years. It does take a bit of manual text wrangling in its current form, but I hope it'll grow now that it's open sourced :)
- jasode 8y ago>, plainbudget as a CLI tool has worked just as well for me for many years. It does take a bit of manual text wrangling in its current form I looked over your site's examples and the conceptual primitives you have designed ("value groups", "cashflows", "expenses") do not seem to be powerful enough to manage "budgeting". Yes, you're deliberately trying to make it "simple" but text entries without date timestamps metadata for each transaction and without accounts/categories/buckets/tags will impede disciplined budgeting. Your (lack of) metadata primitives is too simple. Based on your example, each "value group" doesn't seem much more than an isolated group of arithmetic operations which is similar to punching in some calculations on a desktop calculator[1]. E.g. one enters a few calculations which shows up on a paper tape, presses "C" to clear and punches another group of calculations, and presses "C" to clear, etc. Your text system has obvious advantage of "text labels" over the desktop calculator but it doesn't have enough metadata primitives (e.g. timestamps & tags) to produce budget forecasts, goal planning, savings schedules (e.g. college fund, vacation fund, retirement, contingency reserves for house repairs and car repairs, etc). https://www.google.com/search?q=adding+machine&source=lnms&tbm=isch https://www.google.com/search?q=adding+machine&source=lnms&t...
- iambateman 8y agoIf you haven’t checked out YNAB.com, it’s my go-to for budgeting. I find it useful because it has auto-import like mint, but with flexible categories. There’s no way I’m going to enter in every transaction (not to mention the dozen automatic subscriptions). To me, automatic import is a must. From there, it does a fantastic job of helping me plan for next month and track spending across time. After 2 years, I have a clear sense of how much we spend on car repairs, vacation, Christmas, etc. Anyway, I’m not affiliated with them, I just enjoy the tool.
- jgalvez 8y agoI just realized something sad: the reason I never went through using any of ledger-cli, YNAB and Mint etc is that I never really made enough money that it got so complicated it wouldn't fit a single file (lol)
- amerine 8y agoLiving a life aiming for this simplicity seems like a worthwhile endeavor.
- iambateman 8y agoHA! Well your budgeting tool is nevertheless quite minimal and beautiful. Thx for sharing. ;)
- pvinis 8y agoYou have to start somewhere, right? :D Also, these tools are not for managing your multi-millions. They are for making you aware about your spendings and earnings, so you can plan better. The numbers are not important. The percentages are, though. (Disclaimer, I am not using any of these tools in their full potential, but I'm trying. I have used ledger mostly, and now I am trying out ynab. I want me to get better with money management.)
- infinite8s 8y agoYeah, once you hit the multi-millions money management means a completely different thing!
- amerine 8y agoFeels like a mini calca. Nice, thanks!
- miles_matthias 8y agoFor me, none of these budgeting tools attempt to answer the one question I think is the most common amongst people: "Do I have enough budget remaining in this month to afford this purchase?" That's harder than it seems. For example, if you're debating a purchase on the 10th of the month, there are a bunch of bills and other purchases you're going to make the rest of the month (groceries, eating out, etc.) so you don't really know how much is remaining that you have to spend. I use a Google Sheet that has taken me years to iterate, which knows the current date, tells me what expenses I'm going to incur over the rest of the month, along with a column of estimated numbers I guess at (cost of groceries, eating out, etc. for the rest of the month) and then tells me what my true remaining balance is.
- jgalvez 8y agoThat's actually my most common use. If my organization is a mess in a given week, I just open a new sheet and go: + 100 Wallet + 800 Account + 50 Piggybank - 100 Some urgent expense - 150 Another urgent expense And then I figure it out. It's the fastest way for me to get these calculations done.
- jasode 8y ago>That's actually my most common use. [...], I just open a new sheet I think this answer explaining your most common usage actually explains better what you've built and its (unstated) philosophy. What you've created is a "scratchpad for arithmetic" that parses the numbers in plain text.[1] (Or stated another way, a "freeform spreadsheet" without the row col gridlines.) You then choose to call that functionality "budgeting". My lightbulb moment: This is why non-existent datetime data isn't "missing" in your tool because "math scratchpads" don't need dates. I also see why you see your tool as "simpler" than the other text-based accounting tool "ledger-cli". ledger-cli is definitely not a math scratchpad; it's based on transactions of debits/credits which is overkill for a scratchpad. I understand it better now. If you want to call your text parser math scratchpad -- a "budgeting" tool, I won't quibble with that. However, a lot of other people think of "budgeting" as money planning with a time horizon beyond the boundaries of a scratchpad. My earlier comments were based on that wider expectation of "budgeting". I'm not saying a budget tool has to be as feature-heavy as Quicken or Mint but many people would need something with slightly more functionality than a math scratchpad. [1] Your parsexxx() functions are not specific to the domain of money budgeting but for any numbers with text labels to be added/subtracted/multiplied: https://github.com/galvez/plainbudget/blob/master/src/pages/index.vue#L105 https://github.com/galvez/plainbudget/blob/master/src/pages/...
- kashyapc 8y agoAlso in the same vein of plain text (command-line only): GNU `pem` (Personal Expense Manager): https://www.gnu.org/software/pem/ https://www.gnu.org/software/pem/ It's a single Perl script. Used this for my monthly expenses before I bought a "smart phone" a few years ago. Since then I use a more crude method -- the 'Keep' utility on Android as an "expense manager". A note with tick boxes, where each tick box denotes an expense entry, later do the math, I know it's super inefficient, but I don't want to install yet another application).
- vinceguidry 8y agoI have a hard time believing that any technological solution can really help with budgeting. At the end of the day, it's about choosing how you want to spend your money. Either you know where your money is going or you don't. If you don't, then maybe a few months of tracking expenses will tell you, but once you do, it then becomes about the internal struggle of telling yourself not to spend money you really shouldn't be spending, and this battle can't be fought with an app. Maybe if you made a ton of money and it didn't make personal sense to track it all. I can see maybe a personal accounting app that involved actual people logging into your bank accounts and actually looking at what you're spending maybe being a thing, but that's called hiring an accountant and has been a thing for centuries. Difficult to see this problem yielding to any kind of tech solution. I say this as somebody who maintained his own expense tracking app for months before dumping it. Nowadays I just look at my bank statements if I'm confused. Doesn't take long to find out what I need to know.
- threatofrain 8y agoI'd be curious if insight helps in self control, but I don't think manual entry is the right way to go either. However, I do think that in an age of data vacuuming people do need some kind of automated solution that isn't present on the market.
- galfarragem 8y agoYou don't need a budget, you need to feel in control of your finances and knowing your net worth is the way to do it. Knowing that I spent $312.23 on groceries is not. If/when your net worth is too risky for you get more tight and try to improve it every month. If/when you feel confortable with your number you can loosen up. I started to track it in a spreadsheet every month. I loosen up to every quarter. This is my new religion.