shlewislee.me

A year with hledger

The reason I started using hledger was simple: I wanted to understand my finances better. Ever since I began using credit cards, personal finance wasn’t as straightforward as “I have X left.” Often, I was caught off guard by unexpected bills and overspending. Even if I constantly checked the credit card app, it was still unclear how much I would owe on my credit card bill since it took a few hours to even days to process and display transactions, depending on where I used it and without clear rules.

This was more than frustrating. Additionally, I started having assets and liabilities that I needed to track: receivables, payables, etc.

Could this be handled with good old paper and pen? Maybe. There were also many software options, including some open-source ones, that had been around for a long time and were easy to use. Initially, that’s what I tried first. I only considered FOSS software because, clearly, when I don’t pay for a perfectly designed and partnered-with-banks app, I’m paying for it with my data. None of the FOSS apps, however, satisfied me: both GNUCash and KMyMoney had the same problem—the GUI wasn’t really easy to use, and after all, I wanted to use proper double-entry ledger since I was already studying corporate accounting.

That’s when I discovered hledger and Plain Text Accounting (PTA). It sounded perfect: a plain-text format meant I could manage everything with just my keyboard, proper double-entry accounting (despite some quirks not inherent to any specific PTA software), and the ability to generate easy-to-read financial reports, all within a terminal interface. The command-line approach also meant I could write scripts and that it’s portable, easy to back up, all the good stuff.

But it did not come without difficulties. Most software gives you a general blueprint of how you should record your finances. hledger is literally just a blank text file when you start, and you have to build your own system along the way. Now, after almost a year of usage, I have my system, and it is pretty solid: almost every transaction happens within the system, and I take less than a few minutes to add them. But for the first 2-3 months, there was this period of system building that took a not-insignificant amount of time figuring out how to record things.

But I can assure you that after the initial period of figuring things out, you’ll be very happy with it. One of the best things I love about hledger is that since it’s your system, everything can and will align with your personal reason for bookkeeping: for me, it was ultimately to find out the running cost of myself, kind of like you would in corporate finance, recording and categorizing transactions in a way that actually shows how things are. No other pre-built system can really do this without major hassle.

It’s still pretty tedious work to manually add every transaction I make every day. It’s especially demoralizing when you are away for some time and there’s about a week’s worth of transactions to be recorded (there’s a reason why companies have a whole team to do this, albeit their finances are much more complicated). But like I said, once you get your system set up soundly, it doesn’t take more than 10-15 minutes. But the result is amazing: you finally have a clear idea of your operating expenses, and that really helps you save money and spend wisely.

Reply to this post by email ↪