writingnotes

Plain-text accounting changed how I think about money

Reez Patel1 min read

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.