Of course you should also have a third account for savings. :)
The other option is doing the same with credit cards, though you'd have to work backwards with credit cards. Basically, have a groceries credit card, a dining out credit card, etc. If you look at the balance you can see you have $200 in dining purchases this month and you budget is $250, so you have another night out budgeted for the month.
Prior to that there was an app called "Level", that did the same sort of thing across all your accounts. However it consistently failed to connect to my primary bank so it wasn't that useful.
+ 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.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/...
This was an amazing thread that gave me lots of ideas. I plan on keeping this codebase moving forward with them.
Disclosure: I am the founder.
We also have a live demo at https://www.buxfer.com/demo (or click "Live demo" on the desktop/mobile website)
Please feel free to contact me at [email protected] and I will be happy to assist you with any specific questions, in case the marketing material is not sufficient.
https://www.ledger-cli.org/3.0/doc/ledger3.html#Budgeting-an...
= Budget
- 10 Coffee shop x 30Most people have money allocated for specific categories when they budget, that doesn't mean they are living on the razors edge if they simply wanna know how much more they can spend while still adhering to their predefined budget!
A lot of people (including me) have savings as one or more line items on their budget.
My budget is super duper simple:
1) Put the bills money direct deposited into in one account - that is money for mortgage, streaming services, taxes, insurance, water, and electricity.
2) Put a predefined savings amount direct deposited into savings and investment accounts. This includes 401k deductions.
3) Put the remaining money into a third account and spend it all however I want. I'm on budget as long as I don't spend more than what's in this account.
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.