I just want a bank account and to have that bank record my spending and let me download it, securely, and automatically.
I mean the European Union has taken years to force, yes force banks to do this, and it is basically still broken.
I don't want to spend this much effort on something so obviously solvable. It just offends me. Yes that is the right word.
And, finally, none of this matters if I have trouble with the real problem - sticking to a budget. Solving that one is what I want personal finance apps to help me with. Keeping track of my finances should be a solved problem, locked in a box and forgotten about.
0. Forget about tracking things down to the dollar, or even the tens of dollars. That level of precision is unnecessary. If a coffee here or there is going to break your budget, it's already broken and you need to go in to panic mode.
1. Have a spreadsheet with vague monthly costs like 'transport', 'food' and the like. Combine that with your monthly income, and you'll know what your approximate monthly savings should be
2. Every month, manually record your savings.
3. Over time, compare your actual savings with your expected savings
4. If there's a discrepancy of a meaningful amount (however, remember step 0) then you might need to bury in to the details a little bit more.
Given that sort-of system, you have enough manual touchpoints that the budget is in your mind when you're making discretionary purchases, but not so much that it's stressing you out.
I've made a sheet that does basically the above with example budgeting for what I'm familiar with in Sydney - https://docs.google.com/spreadsheets/d/1KW3i-m8BtJ2O9lKurhJr...
I understand exactly what you are saying here, however, there have been several times in my life where buying a coffee here or there will break my budget. I know that's a level of poverty that most people on HN have never experienced before, but it's a reality for many people.
You don't really ever want to go into panic mode. Living on a very limited budget is not the end of the world. I actually chose my lifestyle. I had this idea that there are 2 ways to be rich: make more money than I need, or need less money than I make. Sometimes the second one involves a lot less stress (which is admittedly quite difficult for a lot of people to believe).
If you are on such a limited budget, it is quite important that you know whether or not that coffee on Monday means that you aren't going to eat on Sunday. At the same time, if you do have some wiggle room, it's quite important to treat yourself occasionally.
What is important to track as your expenses has nothing to do with absolute value. It has to do with the value relative to your total budget. If nothing you buy costs more than $5, then obviously you are going to track smaller values. On the other hand, one of the huge advantages of having no money is that it doesn't take long to count it ;-)
So I would rather say that if you need to track down to the level of individual dollars for a personal budget, something like GnuCash is probably not the appropriate tool.
Yes and no. Late last year I did track everything to the cent (well, to the grosz, the fractional part of Polish złoty) and used ledger (the CLI double-entry accounting tool) to analyze it. My main discovery there was that most of our spending was so thoroughly distributed across every category that there was no easy wins to be had. Pretty much the only things we could do that weren't serious lifestyle changes involved garbage-collecting some subscriptions and instituting monthly limits on $favourite-foodstuffs. But before doing a high-granurality trace of expenses, I was sure there were trivial cuts to be made. Turns out, they weren't.
Doing this level of tracking is probably not sustainable in the long run (unless you're in emergency mode), but doing that for couple of months is a great opportunity to reevaluate all spending in your life.
I just stop spending money unless I absolutely have to. A cup of coffee and a bit of candy at the gas station every other day (2+4 euro) * (365/2) * 10 years. Thats ELEVEN THOUSAND euro I could probably be doing something more interesting with. At 7 euro/kg and 30 gr/liter 11k is 52380 liters of coffee or 314285 cups or 86 cups/day for 10 years. 2/3 was candy (we are not buying that) so we only have 28 cups left per day. At 2 cups per day (which is 4 times as much) it still is 140 years of coffee every 10 years.
I pick 10 years because its short. If we take 50 years it is 55 000 euro. Now imagine throwing money around like that all day long.
Think about that when you get a free coffee.
I know it doesn't sound very convincing but most people manage to match their spending with their income. It really doesn't matter how much you earn. Real wealth is in not spending it.
Also, if you hoard enough cash and enough discipline it eventually stops making sense to work. More time to enjoy life! (jay!) Also, that bag of candy is probably killing me. If I'm hungry I must have planned things poorly.
I'd suggest considering using a separate payment method for those things, and only those things, that you just think are going to be just a little expense here or there that doesn't need detailed tracking.
Track the total spent via that payment method every month on your budget. It's then easy to tell at a glance if you were right about not needing to track these things in detail or if you have missed some things that you should be tracking in detail.
I use Homebank[1] which has pretty useful auto-assignment rules. I then have vague categories - think groceries, lunch & dining (e.g. buying lunch is more luxurious than buying lunch and dining is even more extravagant)
Every couple of weeks I import my statements and have a quick look at anything that wasn't auto-assigned - there's usually a couple of things and I add these, based on the merchant name or description, never to worry about again.
I figure this gives me the best of both worlds.
The only reason this small amount of work works for me is that I don't have to pay cash for much. When I do, it's unique enough I remember and categorise it, no biggy. I understand this wouldn't work for most though.
I wouldn't want to lose track of the small things, as they do add up! Keeping the categories loose (and not caring about the difference between coffee and a sandwich) makes it work.
"Look after the pennies and the pounds will look after themselves." as my grandma always says.
Thanks for the ideas of 2-4!
I strongly disagree. Entering every penny, and tagging every transaction correctly, lets you see where your money is going very quickly. A coffee won't break my budget but now I can see that I'm spending $x/month at my local cafe, etc.
Coffee is about 4.5 USD where I'm at, which is part of the reason.
The big expenses are still what matter though.
It may be unnecessary if you are just trying to see how you spend your money, but may be necessary if you are running a business. YMMV.
I should get back to it sometime
A coffee is $5 give or take.
If I have one every day that's $1,825 a year. If I splurge and have two every other day that's $2,737. That's a lot of money.
The simplest way to budget is to just give yourself a set amount of cash every morning and keep spending it until you run out. You get immediate feedback because you can see how many banknotes you have left.
Funnily enough I think that's the main reason why there's a war on cash.
I would like to see a complete log of every purchase made like my bank keeps only with much more detail, each bill broken down to well described products with pictures, serial numbers and manuals. As that involves sensitive data we would have to think of some way to wrap it.
I also want tax office to have real time access to a relevant sub set. One administration with every purchase in the country and ever hour worked.
Then do salaries and taxes by the second and split off tax payments right where the transaction happens.
Might as well aggregate everything for sale into one giant government web store.
If everything is made insanely convenient it doesn't matter what it costs. No more sloppy fuzzy business but everything by spec.
I wonder how many people want to start a business but are simply to terrified by the paperwork.
Fines As A Service?
ACH literally takes O(days) to move a few bytes of data from one bank account to another and the system simply stops working evenings and weekends, so this is a bit much :)
If / when BTC and LN become ubiquitous, you can probably achieve this without much effort.
There are a lot of great APIs that banks provide, but my personal opinion is that they're largely meant to distract from the fact that the vast majority of your data ISN'T accessible through an API. A lot of banks are building genuinely great tools for developers - thinking specifically of JPM's Quorum and Capital One's Cloud Custodian. But these aren't open banking tools.
Plaid and similar services are great, and the best we can currently do, but they have inherent shortcomings in that they face the same restrictions as any other developer trying to get information directly from a bank.
It's largely the same picture in healthcare. The government is trying to force healthcare companies to open up their environment, and healthcare companies are fighting tooth and nail to stop that. The CEO of EPIC Systems got the heads of many, many major hospitals to directly oppose a rule the HHS is trying to pass basically forcing health record companies to open up. For the time being EPIC has their "App Orchard" which... well, go visit apporchard.epic.com and you'll get a picture for how much they care about giving individuals the right to their health data and developers the right to build more systems on top of their own.
What they should have done instead, is standardize a secure export function of all your expenses, allowing open source, and vendors to provide statistics and utilities based on this format.
I made Lunch Money (https://lunchmoney.app) as a potential happy medium between the two. If you end up trying it out, feel free to let me know what you think!
I've first heard of it from the IndieHackers podcast featuring you [1] and remember myself signing up and thinking "wow, this is exactly how I would design and build something like that".
Everything is polished, thought through, and the pace with which you push out new features is crazy.
Thank you!
[1] https://www.indiehackers.com/podcast/150-jen-yip-of-lunch-mo...
Q: Have you ever considered alternative payment schemes, e.g., student pricing, loyalty pricing (pay $X first year and then $Y for all subsequent years, Y < X)?
weboob has many capabilities, such as "listing messages" or "listening to music" and an important one is "getting financial information out of an account". Each capability is in the middle of 2 things:
- Applications, which want to implement a given capability; a basic one is boobank (https://weboob.org/applications/boobank) but you can write anything
- Modules, listed in the same page; a module is a website
The weboob project is completely open source and written in Python. If you use the boobank application you can use it to download and store all your financial transactions, and automate it as needed. As the example on the homepage shows, you can pipe it into munin (or any other graphing tool) and see the evolution in your accounts automatically.
Thanks for the link to weboob project, I haven't seen that one. boobank looks much more like something I want to have, though I can't find anything on how it works - how are the banking modules implemented? In particular, are they accessing an API, or just scrapping the bank's page? The reason myself and others are pushing for consumer-open API access is because, while scrapping is something a competent programmer can do (+/- jumping through the increasingly arcane authorization hoops), it's technically against ToS, and I'm personally not willing to risk my bank thinking I'm trying to "hack" them.
1) Pay rent and all bills on time, fully. This is sacred. It is called the Golden Rule for a reason.
2) After rent and bills, take the rest out in cash.
a) Split the cash into the number of weeks it needs to cover.
b) Split the cash for each week into two equal parts. Put one half in an envelope labeled "Monday" and the other half in one labeled "Friday".
c) Hide each week's envelope in a different part of your room or house.
3) Put the first week's "Monday" money in your pocket. Spend it until it is gone or not. You decide. If you overspend, hopefully it was on a Wednesday because you must make do. Eat oatmeal, eat rice, eat spinach. Get through it.
4) On "Friday" put the other half of the week's budget in your pocket and spend it before you go to bed on Sunday.
5) Repeat
My (US based) bank and both my credit cards do this just fine and I download them to gnucash; it does this with a third-party library AqBanking, which includes both a GUI configuration program and a command-line tool for downloading to a CSV, which you can the process with whatever you like.
It works Ok, but I hit my zapier limit sometimes.
I'm currently working on setting up my personal server to receive emails from my account and parse them into a table locally, which I can then connect into Google sheets with an API key.
I've been downloading monthly statements manually and feeding them into my data woodchopper, but email sounds like a good alternative (or maybe complimentary?).
CAMT.053: Bank to customer account statement. Detailed and structured payment data.
https://en.wikipedia.org/wiki/ISO_20022
But quite what motivated them to move from their proprietary .csv they used to have I'm not sure.I don't think this solves the problem, unless you use incredibly broad categories for budgeting such that you never want to split a single transaction over two categories.
I think banks benefit from a certain amount of sloppiness. Get hit by a finance charge here, accumulating unnecessary interest on a credit card there? Who cares! Let the bank handle it, don't worry, banking should be convenient...
So despite endless paeans to customer service and 'community' and whatever horns the banks are tooting these days, seeing how you spend your money simply remains difficult.
By design.
Which is why the fix is not coming, and never will be coming, unless you implement it yourself.
Because it is difficult to get a bank to build a tool when the bank's profits are improved by them not building it.
Until then we've been using a mix of Excel and YNAB.
If that's not enough, you can just use Plaid. Am I missing something here?
If you want more fine grained data, you can download statements for the month or year to date, etc
If you want to see your net worth across every bank/brokerage over time you can use an app like weslthfront or personal capital
Bank software almost always miscategorizes something.
My bank categorizes my purchases from the liquor store as 'home improvement'. The house certainly looks better when I'm drunk, but that's probably not what they had in mind.
As to financial discipline no amount of tooling is going to help you out with that. Tools can help you you what you already want to do but they can't make you want to do something that you don't want.
More importantly, the importers (for all my banks and financial services) let me import and reconcile all transactions, but also archive all documents (including PDF, text files, etc) in one, well organized directory: each file is saved into a folder that corresponds to my account structure such as Asset:Current:Cash, Liability:Mortgage, Income:Salary, Expenses:Health:Dentist. It's great to rely on fava (example: https://fava.pythonanywhere.com/example-beancount-file/incom...) to check your accounting (with all files listed in the journal by date, with tags and links and other neat features) and still be able to browse documents in your file browser.
Maybe I missed something, but it seemed like beancount wants everything to live in One Giant Journal file. I really wanted a pipeline where each bank statement PDF would output one file with a corresponding list of transactions (this stage can run completely in parallel and I use "ninja" to make it very fast).
Then another process can run over these files looking for matches (+$X, -$X), and spit out "transaction groups", where each transaction group is a set of transaction ids that sum to zero. And then a different interactive tool lets you categorize transactions and spits out transaction groups with embedded "expense" transactions. It's all non-destructive; each tool only adds data, and nothing ever modifies existing files. Then a final step can combine all these files and spit out a beancount file for Fava.
How does this compare with the way beancount's importer does it? How does its importer handle transfers and categorization? Is it destructive or non-destructive?
Actually, beancount supports include directive. See includes section [1] of the language syntax document
[1]: https://docs.google.com/document/d/1wAMVrKIA2qtRGmoVDSUBJGmY...
Beancount user here, even if you don't bother with any finance tracking, organizing financial documents following the folder structure is useful - see "Filing Dcouments" in https://docs.google.com/document/d/1e4Vz3wZB_8-ZcAwIFde8X5Cj...
Shameless promos:
- People are starting to make Fava extensions for things like envelope budgeting, portfolio tracking, etc. Usually these are announced on the mailing list: https://groups.google.com/forum/#!forum/beancount
- The sublime plugin is great but I have a really useful improvement to search by org-mode headlines that never seemed to get merged - see https://github.com/norseghost/sublime-beancount/pull/14
I've been hearing about making extensions for envelope budgeting for years, with little progress. I haven't checked in the last 2 years though - any progress on this?
To be frank, it was fairly annoying that the author kept declaring it as "not too hard" and yet no one came up with one.
But the "how to get going" part is where I find the real difficulty lies.
There is a conceptual friction in double-entry accounting, which beancount enforces. If you do not have prior exposure to it, even if you are financially and mathematically inclined- grokking double entry can be a life-changing practice. It is the Iyengar Yoga to the 7 minute workout that is just tracking transactions as per GnuCash or Quicken or whatever.
One has to have the appetite to consume a worldview. As someone living in that world, FWIW, I highly recommend it. I would not undersell the conceptual work required. It is not for everyone.
But if the approach speaks to you, reach out on the mailing list and people will help with the mechanics.
Cheers.
I was able to write a plugin to get data from the Milan stock exchange in a few hours, which was very nice. The vim plugin is also pretty ok.
I've never used the import features, the manual inputting of transactions into a text file doesn't take too long.
> If you’re happy with just knowing that your credit card balance is less than a certain amount each month, that’s great! You don’t need GnuCash.
I'm curious what fraction of people track personal finances versus those who don't. I don't know if I'm in a big majority, small majority, big minority, small minority, or what.
Do you track your personal finances? If so, in how much detail? Maybe it would make an interesting Ask HN.
After that worked well for me, I now put small amounts into various savings accounts, like "tires", "vacation", or "emergency". I use an Ally account with "buckets".
I don't balance anymore, and haven't for 20 years. Just a quick glance at recent transactions to make sure I recognize everything.
It's also amazing how quickly some of those savings accounts add up when I'm not thinking about them much.
We have our "Expenses" account that salaries go into. We have our "Offset" account that has our emergency fund in it and offsets the interest for our mortgage. And finally we have a "Goals" account that we use to save up for big ticket items like a new car, holiday, or something.
We take 10% of our respective incomes each into a personal, "off the books" account and we do whatever we like with that.
Simple.
I do it less for budgeting, and more for a method of centralizing information. I have 4 credit cards that I use regularly, from 3 banks, I'm a w-2 employee with a 401k and benefits, and I file my own taxes. It's hard to keep track of everything, when the relevant data is behind login walls, in occasionally proprietary formats.
I wrote a bunch of scrapers and parsers for obtaining this data, and translating it into a ledger transaction format. Once it's there, I can do all the reporting and whatnot to my heart's content. Writing all of the infrastructure has been a labor of love, with a non-trivial emphasis on labor. I balance out about once a month, but since automating the various transformers, I pretty much never have to debug balances any more, which is a godsend.
It tracks down to a pretty excruciating level of detail, enough that I compute (for example) how much it costs my employer to employ me, my average monthly spread in my checking accounts (between when cc bills, rent are due and when income comes in), average costs of travel-vacation-days, and how that's changed over seasons.
At this point, it mostly "just works", and it's easy to append to my records. The next fun part will be getting useful and actionable insights out of it, and applying them to my life and decisions.
It's very nice to feel "in control" about these things; I don't really worry about money any more.
I’m using YNAB, which has honestly changed the way I think about money. Historically I’ve always taken the approach that there’s no point having money and not spending it, impulse buying things, and then being screwed when an unexpected bill comes in. Or the need to eat just before payday.
YNAB pushes you into allocating money at the point it comes in, anything from rent and groceries to a pot for renewing my Amazon Prime subscription when it comes up. Somehow the act of allocating the money seems to trigger the same mental reaction as actually spending it used to, and I’ll now often find myself with more money left over to go into savings at the end of the month because I actually didn’t need to spend most of what was allocated to my generic “fun money” bucket.
We track every penny. About once a month we sit down and categorize every purchase we made the last month. We only keep receipts if the purchase was for a non-obvious category (e.g. buying both diapers and groceries at Target) so that we can split each transaction between categories.
For some banks, we manually download transaction data in whatever nice format they provide. For others, we use a syncing service that works with the app.
It's been so great throughout our marriage to know that we're both in charge of the money and make decisions together.
That said, I've talked with many people who don't like that level of detail. At first, it was baffling to me that people didn't know the details of their finances, but as I've grown, I've realized that there's plenty more than one good way to manage your money.
Full disclosure: I actively work on and sell budgeting software.
If you'd like be saving more money than you currently are, then you can drill down into each side to look for things to improve.
I started with Microsoft Money, and tracked everything including cash and credit cards charges, for 10 years. It took a while to enter the info and I wasn't really using the info at that detail, so I changed up and also migrated to Moneydance, since Microsoft Money sunset in 2009.
I started over with Moneydance, and instead of recording cash to such detail, I just recorded it as a transfer from checking to "Wallet - Cash" and then balanced that every month by assuming all my cash went to restaurants. Not 100% accurate but mostly correct and way faster.
After a 2-3 years of Moneydance I decided to migrate again to GnuCash, for the various benefits of open source software. This time I also lightened up my recording to condense credit cards purchases down to one monthly entry. Which again saves a lot of time. I glance over my monthly bill to make sure the charges are correct but don't split out by category anymore.
So that's where I am now. Been using GnuCash for the last ~10 years, only record large categories of expenses and basically check credit cards bills for accuracy and keep my checking/savings accounts up to date. I only update retirement/investment accounts once a year, at the end of the year.
I am fortunate to be able to live below my means so I don't have to stress over balancing various accounts to the dollar. I just need a general idea of my position.
I will do it again, but haven't. I'm presently using YNAB because it's easier for my wife and I to share. I use it to a similar level of detail, but don't track my stocks and retirement accounts with it. IT's been very helpful for us to know how much money we have and where it's all going. Last year was very expensive and we ended up in some debt, so this is also helping us get things back on track. It's hard to get out of debt (especially if it's become a habit to rely on credit) without knowing this kind of information.
I track transactions in and out of accounts that I get statements for, with a "cash" expense for withdrawals (I know someone who would track his pocket change in spreadsheets.), and broadish categories for income and expenses (my Books expense account is ... large).
I wish I had created some kind of asset account when we bought a house; instead I just treat the mortgage like rent and have this great big windfall followed by an equal expense when we moved. :-)
I did it from when I first started working full-time so I could get some idea of savings/spending &c.
It was "meh" usefulness, but pretty easy since I could auto-import the transactions and it takes me maybe 1hr per month to categorize everything.
Now that I'm married its incredibly useful. "Can we afford X?" "How much are we spending on Y?" "I feel like I've been overspending on Z, how bad is it?" are the sorts of questions that can be answered very quickly.
Neither my wife nor I are in "charge" of spending, but I keep the books (because I had been before getting married). These money discussions could very easily become divisive if we didn't have easy-to-access data.
1. I'm a contractor now, so need to do tax filings, and having detailed finances helps with that.
2. I find it quite interesting (but not always that useful!, although it sometimes is) what my expenditures are each month, i.e. how much I spend on electronics/gear vs holiday vs other, compared to potential savings.
Then one day I got mad at a random fee from my bank after realizing how much they charged me over the years. I closed my account at this bank, decided that I will be more careful with my spendings and started tracking everything with GnuCash.
I do it for two reasons. Occasionally I found a problem with double-billing that I would otherwise miss, but mostly it is to be able to check where my money went and plan realistically.
At some point I dropped the habit, more out of laziness than anything else. I still have a budget spreadsheet with a rough plan for my monthly finances, I just don‘t track the actual expenses anymore. Reading this makes me think I ought to start again...
I'm a hardcore command-line and keyboard-only power user, so I would have absolutely loved to have made Ledger work for me rather than use the mouse-heavy GnuCash interface, but couldn't, and went back to GnuCash with my tail between my legs.
I'd still rather use it, so maybe I'll give it another try some day.
As you imagine, the fact that it's text-only has been both a burden and a blessing.
Burdens:
- inserting transactions takes a long time, when you're starting out. will always take a long time if you never "automate"
- it's easy to make little mistakes and not catch it until the next time you compile or make a report.
blessings:
- git, sed, grep, awk all "work as advertised"
- you can automate the boring things, as they get more boring, and you can learn a lot along the way
at this stage, I have a combination of awk and python scripts (maybe 500 lines total, but a lot of it is regex) that convert my financial institutions' transaction export csvs into ledger transactions. I pretty much copy paste that into specific ledger files. The next step that I'm currently automating takes a concatenated `git diff` and interactively categorizes expenses/splits/assigns to the correct ledger file.
I also blew a ton of time (maybe 40 hours) on scraping those csvs from bank websites, workday, and fidelity (basically, a puppeteer script for logging in, downloading all the files available). Getting past google auth for workday was hard. But learning these things has been fun.
With all this automation, I spend maybe 20 minutes every weekend importing things over from the banks. I'd do it every month, but I'm still a control freak with it.
Doing this has been super fun! And it also has yielded a lot of insight into my finances. Above all, it gives me a feeling of "control" over my finances like no other. Itemizing deductions takes an hour, just as a throwaway example.
I switched from GnuCash to ledger about 8 years ago and never looked back.
I have a script that pulls my bank account using aqbanking [1] and icsv2ledger.py [2]. The latter can match transactions to templates and set transaction accounts and payees automatically. It also supports autocompletion of account names when a transaction is not matched by a template.
For cash entries, I use ledger-mode in Emacs. (I also use Org mode, so I spent a lot of time in Emacs anyway.) ledger-mode also supports autocompletion.
I only use the command line for reporting and have aliases for the most common reports. These mostly revolve about showing my current budget.
[1] https://wiki.gnucash.org/wiki/AqBanking [2] https://github.com/quentinsf/icsv2ledger
Fun fact: The second program I wrote was a database in Turbo Pascal to keep track of my loose change.
Not so fun fact: I lost my GnuCash files after I made the switch. Ten years of accounting gone. :(
Similar problem, except I use KMyMoney. I wrote a program to convert my KMY file to Ledger format. So I still enter transactions in KMyMoney but have the power of Ledger as well.
It's totally changed the way I think about finance, for my person and for businesses. It also means I can have very informed conversations with accountants! :)
Double-entry accounting as a domain is super interesting, and Ledger's intersection of that domain with UNIX hackery is a joy to experience.
I'd put YNAB along with 1Password (and probably Fastmail) in the class of best single purpose pieces of software that I pay for.
I'm a long-time user of both. YNAB wins hands-down in budgeting and basic usability.
When I got married, we integrated finances. I had been using GnuCash for years by then. Its interface was an immediate non-starter, even though as an application it's more powerful than YNAB (e.g., stocks and retirement planning, mortgage amortization, business expenses, easier splits--at least in my opinion). If it had a better budget and reporting system, I might have been able to swing it--but it didn't and doesn't, and that was that. The other killer feature YNAB offered was a mobile application.
Financial apps have to reduce friction. Interpersonal first (although that's a tall order for software), but also in delivering fast entry and a big-picture view of what you're doing with your money. GnuCash really isn't designed for any of that. And that's honestly fine for what it is, although I wish the database were easier to wrap your head around—it should be possible to build a cleaner and/or web UI around it than it seems to be.
As it is, I'm not really content with YNAB either, but if that's what it takes to get our internal financial reporting in order, it's a lot better than nothing.
> Stop living paycheck-to-paycheck, get out of debt, and save more money.
As for 1Password, given your username I'm assuming you've tried Bitwarden? What is better about 1Password?
I'm not in YNAB's target market either, but the value they provide is useful even if you're not struggling month to month with finances. You get really good control over your money and a much better understanding of how you're spending it and where.
Being really aware of that makes it easier to actually leverage it more because you know exactly what you can put where so you can be closer to zero in your checking account (push more towards investments, etc.).
It also makes it easier to change behavior and know exactly what knobs you can turn with your finances.
Only downside with it is that the auto-import sucks (I suspect because the bank APIs suck). I move all transactions through one credit card and I manually create transactions in YNAB when the card is charged. I use the Apple Card which has really good software so it's easy to notice transactions and make sure things line up.
My username is also from when I was 13 and really excited about linux :-), now mostly on macOS - I haven't really lived up to it.
Previously I had been using Mint to keep track of my spending, but I never felt in control, it was only useful as a reporting tool of what had already happened.
YNAB is all about giving every dollar a job and setting priorities for your life. It's the envelope system in digital form if you are familiar with that. With Mint and similar systems, I'd just be looking at my pile of cash in my account and thinking "yeah I can easily afford a new gaming PC!".
But I wouldn't be taking into account my 6 month auto insurance bill coming up in 2 months that would require a bunch of cash. YNAB let's me see that easily - it was painful in the beginning as I was "catching up" in all these categories, but now I feel so much more comfortable with my money and how it can be put to good use.
In a nutshell, I would describe the difference as, "GnuCash (and Mint, Quicken, Moneydance, etc) are for monitoring your finances. YNAB is for controlling your spending."
The more mainstream personal finance apps have all sorts of tools for tracking investments and assets and all that good stuff, and a lot of rich reporting functionality. They also generally have some version of budgeting, typically with a fairly straightforward, traditional approach.
YNAB, by contrast, is really just about budgeting. I'd argue that it's not just an application, it's a whole budgeting method that happens to come bundled with an application to help you in implementing it. When you sign up to YNAB, what you're really doing is subscribing to (founder) Jesse Meacham's personal spin on Dave Ramsey's philosophy of money management. You might as well subscribe to his podcast while you're at it. In fact, I'd suggest listening to a few episodes of his podcast before even signing up for the free trial. If you don't like his way of thinking about money, you probably won't get a whole lot out of YNAB, either.
And YNAB really doesn't even try to be anything else. You can stick your 401(k) balance in there, but YNAB's own documentation encourages you not to bother. All you'll get out of it is that it will show up in one of the reports. It only has three reports, by the way, and they're all spartan and minimally customizable.
I would place Lunch Money above YNAB right now. It tracks money in a bit intuitive way, and is easier to use in my opinion.
I’m glad keepass exists, but I’m happy to support polished software in this domain. I like paying for software I think is really good and focuses on a narrow problem.
That being said, GnuCash is a powerful double entry book keeping system which can almost certainly handle all your bookkeeping needs. But simple, it is not.
As another commenter mentioned, I think that the "complicated" part of using GnuCash is understanding double-entry bookkeeping, which is why I devoted so much time in the article trying to explain it in concrete terms. My intention here isn't necessarily to steer people to GnuCash itself (I'm learning about a lot of alternatives from these comments), but to simplify the core underlying concepts. Not sure if I achieved that, but I tried!
GnuCash is very simple if you already know double-entry accounting... and learning double-entry accounting would probably be the work of a weekend or less for anyone who knows how to program. Not hard.
Probably the biggest hurdle IMO is the single user nature. Even the SQL backend requires a global lock.
Assets = Liabilities + Equity + (Income - Expenses)
For some reason the (Income - Expenses) part gets left off in many introductory explanations of the accounting equation. I think that leads to a lot of confusion about how to treat Income and Expense accounts in programs like GnuCash for newcomers to double entry accounting.
You might want to try "Every Dollar" which is free and has a mobile experience. It's not open source, of course, but it might fit what you're looking for.
YNAB is drop-dead simple and available on all of our different platforms. Money well spent.
Downsides are the data import process, which can be complicated, and the lack of a mobile app.
It's more akin to a self-hosted version of Mint. Combined with the Plaid connector[3], I find it the easiest to use for my workflow. And despite the instructions, you don't need a paid dev account. The free Plaid account will let you access up to 100 live financial institutions.
[1] https://github.com/firefly-iii/firefly-iii
[2] Live demo: https://demo.firefly-iii.org/
There were too many simple use cases that could not be done simply, compared to mmex.
One example is credit card partial chargeback/refunds. The dev suggested to edit the initial charge and substract the refunded amount. I dont want to do that. I like to keep a 1:1 mapping of transactions.
Also income vs expense accounts, instead of payees. If Amazon refunds me partially (let's say $10 from a $100 purchase) it now creates an Amazon income account with $10. I had an Amazon expense account of $100. Both accounts are not linked in any way and it's impossible to know your Amazon balance ($90).
I buy a lot of stuff for my girlfriend and she pays me back around the end of the month. Keeping track of her balance is not possible with Firefly.
A few other things were not working properly or at all.
Dev is very nice and active but I doubt he has any accounting background. Firefly turned out to me as a prettified excel sheet, not a double entry book keeping.
It's also nifty that it exposes pretty much all of the functionality via a REST API, complete with the ability to manage OAuth clients/tokens. Not something I expected to really leverage, but have been surprised how frequently it's come in handy.
How are their tagging/categorization abilities?
I mean, you’re the one spending money you already know what you spent it on... Your bank already has a history of transactions if you want to look at it.
Put 30% of your income in a savings account, the money for necessary bills in another account with auto-billing, and the rest for spending in a spending account.
I see so many people categorizing everything with spreadsheets and budget apps and I just ask myself... why? If you set aside savings and necessary expenses what’s the point of categorizing your spending?
So then you could say, great, so you know that for sure now, so what? Well, this is actionable! Continuing with the example, now we can look at the upward trend in groceries and ask whether we're happy about that. Is it an overall upward trend, or is it coming from something else that we've deprioritized? In this case, yeah, it's pretty directly coming out of eating out and socializing, so not something we need to worry about. But in other cases it has provided data to inform hard decisions about where to cut.
And that actionable trade off thing isn't even my favorite part! My favorite part is peace of mind when we buy stuff. I don't have to wonder whether we can afford things, we either have the money for it, or we can move money for it from some other thing we were gonna spend it on, or we just can't afford it. But there's no guesswork, which is so much more relaxing than what I used to do (guess and hope).
Your mileage may vary, but for me, it's some of the best invested time I spend.
I also have a family and am the sole income earner. I just set aside everybody's spending money / allowance and they can do with it as they wish.
I was saving 30% of my income per month, and wanted to save at least 50%. So I decided to measure my expending, and try to cut it off without actually impacting my quality of life.
I discovered that substantial parts of my expending were going to: warm and cold water (2x the national avg per person), electricity bill, take-away food, transportation, health insurance.
I changed all the water taps with ones with a lower volume rate "by default" (you have to go out of your way to open them to the max), replaced all bulbs with LEDs, decided to only go for take away once per week but get the nicest and most expensive one instead, bought a bike for commuting, and changed health insurance and electricity providers to similar ones, but much cheaper.
Those were minimal changes in lifestyle that bumped my saving ratio from 30% to 60%.
Without measuring, I would probably would have taken a bunch of random actions that would have impacted my lifestyle more, and not delivered such a big jump.
I don't routinely use these apps, but if you want to continuously optimize your expending, measuring it is step 0.
I'm not saying don't invest in fun and experiences; life is short, and you should enjoy it. But picking up random things at Target and idly browsing Amazon might not be necessary. And might be keeping you working harder, longer. Cheap drinks are just as enjoyable as expensive ones.
I've started putting money I would spend on stupid things into savings and investments. Nothing would be better than buying my freedom to work on whatever problems I want to 100% of the time.
I've got mutual funds and growth stocks, but my favorite thing is my dividend stocks. I like watching those returns come in because I'm doing nothing to earn them. It feels magical and has helped curb the desire to buy anything I don't need. If I put it into an investment, the money works for me instead of me working for the system.
That's like, your opinion man. While I'm sure that's one perfectly valid approach, I find a lot of value in knowing where my money has gone beyond categories.
To make it more concrete, how much I spend at Amazon my Rewards Visa determines whether the 2% bump in rewards is worth the cost of Prime. (I know - most people find enough value in the videos or not thinking about shipping. But I find that I simply spend more at Amazon when I have Prime, so I avoid having it!)
To counter myself, my own software is probably too granular and I waste time on those little details of where I've spent money. I could stand to simplify a bit.
The expense category is still something like `Expenses:Books:SciFi`, or whatever. The payee for the transaction is then `Amazon`. If you prefer to make the payee the specific retailer that's selling to you, using Amazon as a platform, you can do that, and instead "tag" the transaction with `:Amazon:`.
You can also track points as a byproduct of the transaction, but that's another rabbit hole.
I think you can do it via vendors but the small business feature set is somewhat cumbersome.
I could write this myself, and have done a trivial one in the past. Is there anything better?
A big takeaway (adjustable on "Spending Plan") is "if you can reduce your expenses modestly during a downturn in retirement, your chance of success is much higher".
Sequence of Returns risk is also shown pretty well. The failure instances are commonly when your backtest year is immediately prior to a recession or The Great Depression.
One unexpectedly-sweet benefit is that your spending is a high-granularity record of where you have been and what you have been doing, encoding some signals you might not have thought to write in a diary. Things like "that was when we were saving for our down payment" or "I was going to coffee shops every day trying to finish my dissertation" or "that was when we had a pandemic." I enjoy looking back through our ledger the same way I enjoy going way back in my gmail history.
[1] https://github.com/adept/full-fledged-hledger [2] https://plaid.com/
It's hugely valuable to have all of your financial data in one, human-readable place. Not only to you, but to whomever might be executing your will ;)
I also wanted my life partner (my lovely wife) to participate. This was going to be the hard part. Behavior modification. So I built a very simple "tracker".(php/codeigniter/mysql) Date, description, category, spender, cost, that could be accessed anywhere.
I asked my wife to start tracking spending. As we had just bought a new house and 1 1/2 year old. She was extremely resistant to the idea. Six months after using the "tracker" she told me that she didn't plan on doing it more than 2 days before she gave up. However since starting it 3 years ago she and I have increased our "frugalness" and really looked where we should spend money (vacations, artisan food and not items to impress other people… such as fancy cars.)
I think part of the trick is not necessarily import or export or "api"ing data. The trick is doing a manual entry for each transaction. Kind of like a spending journal, food journal or just a journal. There still seems to be power in manually entering a transaction, although it might not be by pen and paper.
This was a big realization for me. I tend to prefer getting the "robots" to do things for us (in other words, automate things). Developing an intuition of what's happening with your money is hard when you use an automated tool though.
The process of managing the ledger bi-weekly really adds something more for me. Working on each entry to determine a category, writing down amounts, noticing how many entries I've entered into a category each session, and looking at it in aggregate afterward gives me some greater sense of how my financial life works. I can almost picture writing the transactions in GnuCash before I even do it.
I get what you mean about it being complicated though. I learned the bits I needed to get by and mostly stick to that. So that works for me. In the long run, the double-ledger manual style is what I think is most important.
I would second this for anyone whose goal is to spend less money. I think some people keep track of purchases just to see all spending and may not care about reducing spending. In that case, importing data can save time.
This article also agrees with your suggestion. She suggests it's th that knowing you are going to have to write down your purchase helps you think before automatically spending: https://www.nytimes.com/2018/11/28/smarter-living/budget-mon...
It’s running on a raspberry pi in our house and my wife and I both use it. One feature I am adding is a “hey what’s this?” flag that tells the other person to reconcile/categorize the transaction that the other person has more context on.
Personally, I don't mind manually entering the stuff, because you'll need to classify everything into the correct accounts anyway.
And I have another sheet to compute net worth - retirement and brokerage accounts hold funds for which I can get a price using the GOOGLEFINANCE function, so the numbers change over time and I know pretty much down to the penny what my net worth is after I sorta manually enter in a couple bank balances.
In the article, I briefly touch on skipping manual transaction logging and just importing statements from your bank / credit card. And I gloss over this, but it looks like GnuCash offers similar functionality for automatically updating stock prices https://wiki.gnucash.org/wiki/Online_Quotes - not sure if it's a pain to set up or not, but it's probably not as easy as just calling a google sheets function.
Seems like you wouldn't have any reasons to switch over given that you've already got a nice system going, but just wanted to point out that you can use GnuCash in a way that's not quite as... rigid as the way I use it :)
And why are the columns different to the example shown later for the checking account (or current account, as we say here in the UK)? You've got "increase" and "decrease" vs "deposit" and "withdrawal". Obviously you're likely to use your credit card and checking account in substantially different ways, but surely the fundamentals of transferring money in and out is similar enough that they ought to look the same in your finance software?
> Credit card accounts are almost always negative
This is only true if you think of them like a bank account. Every credit card statement I've ever receive has shown the amount I owe as a positive amount.
A savings account goes the other way.
I don't know why but it's an accounting convention.
Sometimes I think those conventions just exist to confuse people into needing an accountant.
1. Expenses in the future - If I book a bunch of plane tickets for later in the year today, I can book those expenses in those months in which I’m traveling (pre-paid asset until then) there-by seeing when I’m incurring those expenses vs. the cash flow of those expenses.
2. Corporate expenses - I can book expenses that I will be re-imbursed for as receivables and not have them run through my “income statement” (nothing like putting some business class plane tickets on your personal card to make things look weird)
3. Loans - whether it’s an auto loan on your car or simply a loan to a friend it’s great to be able to see your entire balance sheet (and remember that some items are outstanding!)
4.variable granularity - decide how detailed you want to get for some accounts you may decide you don’t need that much detail (because you track it some other way - like your 401k) and you can just track your total balance at month end (+/- deposits)
5. Track illiquid investments in your net worth (not saying the marks are right, but at least you have a placeholder value for them on your balance sheet (your home - private company stock etc.)
6. Privacy - it’s your data - no sharing it with anyone else
I guess I'm asking what happened in the past decade to Gnucash ;) 2014 is the last time I really used it, and reporting had then not really changed.
I'm not sure how much it's changed since 2014. I think the "budgeting" system is still probably as bad as it was back then, though (and by bad I mean not really applicable for personal use, probably good for businesses). That's why I wrote this budget plotting script.
The UI is still excellent. It is the only reason I have Windows installed on a spare computer. Despite never being updated, the principals of personal finance haven't changed that much.
[0] https://bitbucket.org/hleofxquotesteam/dist-sunriise/wiki/Ho...
GnuCash's Price Editor can fetch values automatically. It used to be able to use Yahoo finance, but they cut that off a while back. There is a replacement, but I cannot remember what it is at the moment (and am on the work laptop).
GnuCash is actually pretty easy to use, once you get used to the double-entry system and how it handles some things. I have a moderately complex situation (and it's been stupid complex in the past), and I don't spend more than a few minutes a month on it (unless I'm trading stocks; it can take more time to set up each stock's account for proper tracking).
It's possible to get Yahoo! data through web scraping, but it's certainly less convenient than it used to be.
IEX also has an open API for querying historical data.[1] I don't think it has as much historical data as Yahoo! has, and it's changed a bit since the last time I thought about putting together a backtester.
This is definitely one of the clumsier parts of GnuCash. Still works though.
Credit card payments end up with two records of the payment, one from the credit card and another from your bank.
There's no way to merge records in GnuCash, ideally you would be able to mark them as the same record, but keep them both to keep the import logic happy.
The big challenge IMO is that each transaction has a date, but sometimes the ends disagree on when it happened. E.g. you transfer money from checking to a brokerage, it takes multiple days but you have to choose one date for that transaction.
https://directory.fsf.org/wiki/GNU
As far as I can tell, everything there was made simply because somebody out there thought it's important for a Free version of said software to exist. That's pretty cool. There's gnucash of course, but also a gnutrition calorie/macro/micro tracker, a flight simulator, some sort of comic saving software... the list goes on. Fun!
That list also mentions GNU Health and GNU Med for hospitals. I'm curious as to whether they're actually used, and if so, who uses them.
> No data is stored on servers, except when you enable Cloud Sync to keep your data up-to-date on all your devices. In this case the data is stored encrypted on iCloud.
I've tried GnuCash and Skrooge, can't ever get the direct downloads to work for more than two months without breaking.
Quickbooks Online, which I have been using for a little over a year, does syncing exceptionally well; but at the cost of a polished UI.
Ideally I would love to be able to access my Quickbooks desktop database using iOS or web, alas that’s not doable.
I recently moved to KMyMoney and everything just clicked. I found the interface to be nicer, especially combining the filter functionality with the ability to select multiple things and tag them appropriately.
I appreciate the article trying to explain Double-Entry bookkeeping, and I would suggest people look into KMM as an alternative to GnuCash.
Instead, I tend to think of my budget as having cycles (monthly, currently), with a net "debit" or "credit" for different aspects of my life. I'm required to credit myself a certain amount in savings every month, and I'm allowed to debit a certain proportions of my income every month for different categories.
I end up tracking this with a set of plain text expense ledgers and a small Rust program: https://github.com/woodruffw/pledger
1) I couldn't make transaction importing work for the statements that I want 2) I couldn't get to the report that igpay got (this was many years back) for some reason, I also wanted more custom reports and it seemed really complicated to create one 3) I wanted a tool that was more malleable. Although GnuCash is completely open source, the codebase does not look too approachable for me
After trying a few other approaches (including spreadsheets), I settled with Ledger CLI. I also built importing tools over 3 years of coding on weekends and finally got a complete set of features and financial institutions that I want :) Started with the reporting / analytics part recently... You can check it out here:
Any feedback will be very appreciated :)
Many others promise that, but fail to deliver. Emma works for me, consistently. At the end of the day each of us manage our finances differently and the workflows have to be personalised. It's about finding the one that makes sense to you rather than "the best".
That was a sad day because I'd like to use an offline finance tracker on my phone.
BTW GnuCashMobile is not GnuCash, it's some third party android app.
The product is https://decimals.app, and the way I thought about bringing the simplicity to it was to wrap the API behind decimals and currency libraries already in use. If you want it for personal use, let me know, but it's something closer to LedgerCLI at this point, as it doesn't come with reports and other things from GnuCash.
I can sync all your data to an S3 bucket, so you would have all the data in the json format on your AWS account. As I use DynamoDB, it would be pretty straight forward to do. So, let me know what you thing and if you are interested in using a lib or REST API to create entries to a ledger, hit me up.
[0] https://www.csun.io/images/gnucash/expenses_piechart.png
I’ve always thought that having the data recorded in a single text file made the software only suitable for extremely small financial accounts. So I’ve put a SQL database that you have control over as the place where the data is saved (using a similar schema to what GNUCash does). Also added GRPC endpoints so scripts can talk to it easily.
It’s still early stage but plan is to make a bunch of front ends so that every financial task within a business can talk to the same backend (bank reconciliations, payroll etc)
P.S. I am not associated with this app. I am just a happy customer.
[0] - https://play.google.com/store/apps/details?id=com.monefy.app...
Invoicing though, she's still been doing with a different program since the ones in GnuCash are hard to get good-looking. I was about to ask for tips here, but then I see there's a whole bunch of stuff out there we could try first: https://github.com/search?q=gnucash+invoice :)
Are there others who have faced this issue similar to mine? Did you use GnuCash or something else? I'm more of CLI but she's more GUI. So...
Paired with Fava budgeting capabilities, my personal finance tracking is almost frictionless. It takes literally 5 minutes to go through 5 accounts.
Since I live in Germany, I still have to use cash, which is a bit a pain to track.
For that, I use an Android app that writes data directly into the Beancount ledger.
In the video, the guy recommends MoneyDance, but the same system would probably work in GnuCash too.
Easy to set up and requires the least amount of ongoing work to accurately categorize transactions.
I imagine Richard Stallman himself rappelling down a sold rock face to spread the good word of GNU.
How many libraries you got?