For a long time I used Microsoft Money to manage my accounts, but that was eventually retired and stopped working. I had to find other options so I picked the easiest option - nothing.
A couple of years ago I started looking into setting up an actual system. I had a few requirements:
- I didn't want an online-only solution.
- It had to work on all platforms I use (GNU/Linux, MacOS, and Windows).
- I didn't want a third-party storing my bank details.
In the end I settled on using ledger. It runs locally, stores everything using plain text, and doesn't require any remote service to work. And as a bonus there is ledger-mode which adds ledger integration to Emacs.
My system at the moment is pretty basic: I split each of my accounts into separate directories, and then use one file for each year. I also have a primary file that links to all of these files; this allows me to run reports across all of my money.
There are some pretty big things I want to improve on in my setup: importing entries takes time, I'd like to learn how to run better reports, and I want to set up a YNAB-style budget system.
By far the biggest pain-point right now is importing entries. Currently I have to manually download CSV files from my bank, convert them with a script, and then go through each item to remove duplicates and categorize the data. Ideally I'd like to be able to automate the entire process, but I'll be happy if I can simplify the conversion and importing process.
Resources to learn more: