Plain Text Accounting: The Ledger Is Just Text
Ishe Chinyoka
- 4 minutes readTable of Contents
When most people think about accounting software, they imagine windows filled with tables, buttons, and forms. Perhaps they think of QuickBooks, Sage, or GnuCash. For years, that was my picture too. I used GnuCash and appreciated what it offered.
Then I discovered plain text accounting.
More specifically, I discovered Hledger. Within a few days I realized I wasn’t simply changing accounting software—I was changing the way I thought about accounting itself.
I haven’t looked back.
Accounting without the Interface
Plain text accounting (PTA) is exactly what the name suggests: instead of entering transactions into graphical forms, you record them in an ordinary text file.
A transaction can be as simple as this:
2026-07-13 Grocery shopping
Expenses:Food 85.00
Assets:BankThat’s it.
No mouse. No dialog boxes. No complicated database hiding behind the scenes. Just a human-readable journal describing what happened.
The software—whether Hledger, Ledger, or Beancount—does the heavy lifting afterwards.
The Biggest Surprise
The greatest revelation for me wasn’t that accounting could be written in plain text.
It was realizing that debits and credits are ideas, not layouts.
Many of us first encounter accounting through T-accounts. The left side is debit. The right side is credit. It is easy to walk away believing that debit means “increase” and credit means “decrease,” or vice versa.
Neither is true.
A debit is simply a debit.
A credit is simply a credit.
Whether an account increases or decreases depends entirely on what kind of account it is.
Assets increase with debits.
Liabilities increase with credits.
Income increases with credits.
Expenses increase with debits.
The accounting software already knows these rules.
Instead of trying to remember which side of a T-account to use, I simply record whether a value is increasing or decreasing. A negative sign means a decrease. A positive value—or simply omitting the sign—means an increase. The reporting engine understands the accounting principles and presents the information correctly.
Once this clicked, accounting suddenly felt much more logical.
Reports Are Generated, Not Written
One misconception is that plain text accounting means giving up professional financial reports.
Quite the opposite.
Your journal is simply the source of truth.
From that single journal, software can generate:
- Journal reports
- General ledgers
- Trial balances
- Profit and Loss statements
- Balance sheets
- Cash-flow reports
- Budget comparisons
The entries never change.
Only the way you ask the software to interpret them changes.
This is remarkably similar to Markdown.
A Markdown document is just plain text.
Depending on the renderer, that same text becomes HTML, PDF, Word, or EPUB.
Plain text accounting follows the same philosophy.
One journal.
Many outputs.
Transparency Matters
One reason I became interested in plain text generally was transparency.
Configuration files are transparent.
Markdown is transparent.
Git repositories are transparent.
Plain text accounting extends exactly the same philosophy to finance.
A journal created today can still be opened twenty years from now with nothing more than a text editor.
It can be searched with grep.
Processed with awk.
Filtered with sed.
Version-controlled with Git.
Backed up anywhere.
Merged with other records.
Reviewed line by line.
There is no proprietary file format standing between you and your own financial history.
Accounting as Data
One of the most exciting aspects of PTA is that your accounts become ordinary data.
Need to find every fuel expense?
Search the journal.
Need statistics for the last five years?
Run a command.
Need to correct hundreds of entries?
Use your favourite text-processing tools.
Because the data is plain text, the entire Unix toolbox becomes available.
This is where textsmithing meets bookkeeping.
It Scales Surprisingly Well
Some people assume plain text accounting is only for hobbyists who enjoy command-line tools.
I don’t think that’s true.
A freelancer can use it.
A family can use it.
A charity can use it.
A small business can use it.
Even larger organizations can benefit from keeping financial data in an open, auditable, version-controlled format.
The principles of double-entry bookkeeping do not depend on graphical interfaces.
They depend on accurate records.
Plain text happens to be an excellent way of keeping them.
A Different Way of Thinking
I no longer see Hledger as merely another accounting program.
I see it as another example of a broader philosophy that has appeared throughout my journey as a textsmith.
Write the important information in plain text.
Keep it readable.
Keep it portable.
Let specialized tools transform it into whatever presentation you need.
Whether the text represents a document, a website, source code, configuration files, diagrams—or even an accounting journal—the principle remains remarkably consistent.
The interface may change.
The data should endure.
That is perhaps the greatest lesson plain text accounting has taught me.