The Surprising Ease of Plain Text Accounting

As a long time user of You Need A Budget I was a little dismayed that the next version would be a hosted service. I had tried similar services before (Mint, Buxfer, PocketSmith, etc) and never found the sacrifice of privacy worth it. All of them felt like they were solving problems I didn’t have.

With YNAB 4 now unsupported, I started looking for alternatives. Would I finally surrender to Intuit and start using Quicken? Was a Google Docs spreadsheet enough to get me through? I experimented with GNU Cash for a bit and found it very powerful but somewhat difficult to use. A search for other open source tools randomly led me to ledger and my interest was peaked.

Here was a tool that let me store my data in a plain text file and let me control how and where I wanted to store it. I dove into using it and it made a great first impression. I could open a regular text file and add/edit transactions. It calculated my balance quickly and worked alongside other UNIX tools.

Transaction Entry

After switching over to ledger as of the first of the month, I quickly found 2 shortcomings. Typing transactions into an editor was easy but repetitive. After some Googling I found an interesting solution. A compatible project called hledger existed and offered some user friendly tools beyond what ledger did. Most interesting was a tool called hledger add .

hledger add combined the power of pattern matching (for transaction descriptions and accounts) with tab completion to make entering new transactions dead simple.

Reporting

The second roadblock I hit was reporting on the changes to my net worth from month to month. Doing this with a spreadsheet was tedious but straightforward. After skimming hledger ’s manual, I found the balance command. balance by default simply reports the current balance for all your accounts.

On top of that simple report, hledger balance also exposes some custom reporting option. I was able to assemble a command hledger balance ^assets ^liab --depth 2 -M -H that broke down my net worth monthly by top level account.

Conclusion