Plain-text accounting changed how I think about money
Two years ago I moved my finances into a git repository. Not a budgeting app, not a spreadsheet — a folder of text files, versioned, diffable, greppable. This is the pitch.
The format
A transaction in hledger looks like this:
2025-01-15 coffee with sam
expenses:food:coffee ₹420
assets:bank:checking
That's it. Double-entry bookkeeping in plain text. Every account is just a name, every report is derived, and the whole ledger survives any company's bankruptcy — including the software vendor's.
What surprised me
The friction is the feature. Manually entering transactions takes five minutes a week, and those five minutes are when I actually notice my spending. Auto-imported apps showed me charts; typing showed me habits.
Git is a time machine. git log -p ledger.journal is a better financial audit than anything a bank app has ever offered me.
Reports are composable. Want to know coffee spend per month, excluding weekends, since March?
hledger -f ledger.journal reg coffee --monthly --begin march
I even wrote a small wrapper — ledgerline — that renders these reports as pretty terminal tables. It's on the projects page.
Should you?
If the phrase "my finances are in a git repo" makes you smile: yes, immediately. If it makes you tired: honestly, fair. Keep the spreadsheet. But know that the text files will be readable in fifty years, and that matters more to me than any pie chart.