Sebastian's personal website

Personal Finances Update

Written by Sebastian Dümcke on

I described my setup to track my expenses using ledger-cli and some homegrown scripts in a previous post. I have been using this setup for a couple of months now. Previously I regretted not being able to automatically import my bank statements via HCBI. While having such a function would be very comfortable, logging into my bank (I only have one) and downloading the statements as CSV files, takes little time.

I then wrote some scripts to import all transactions and classify every expense. By now, I have set up automated matching for most expenses have very little manual work left to do. The only things that need to be manually classified are expenses out of the ordinary (maybe 2-5 per month).

My main gripe was with the reporting capabilities of ledger. What is very difficult to achieve is comparing several time horizons across in a table. It seems this contradicts with the ledger design. I have scripted a set of reports that I run each month. Some are single ledger reporting commands, others actually combine awk, grep, sed and R one-liners to achieve the expected outcome. I currently look at the following:

ledger --period 2019 --depth=1  --amount='(-amount)' balance "^Income" "^Expenses"
ledger --period "until today" bal ^Assets ^Liabilities

All reports are under version control. It would be nice to have a graph showing the development of my net worth over time. Also I would like to have the monthly living expenses side-by-side instead of below each other. And finally, maybe a script highlighting outlier transactions (especially large transactions).

So far this provides me with enough overview and gives me the feeling to have my finances under control, which is what really matters. I will stick to this tooling for the time being.