Plain Text Accounting That Handles 25,000 Transactions Per Second
Most accounting software wants you to trust it with your data, lock you into a proprietary format, and charge you monthly for the privilege. If you've ever felt uneasy about that arrangement—or just wanted your financial records in a format you can actually read, edit, and version control—hledger is worth a look. It's a double-entry accounting tool that stores everything in plain text files, and it's fast enough to analyze 25,000 transactions per second.
What It Does
hledger is lightweight, cross-platform, multi-currency accounting software built around a plain text data format. You track money, investments, cryptocurrencies, invoices, time, and inventory by writing simple journal entries in a text file. The tool then parses those files and generates reports—balance sheets, income statements, cashflow predictions, and more.
The journal format is straightforward. A transaction is a date, a description, and a set of postings that balance to zero:
2022-01-15 market
expenses:food $50
assets:cash $-50
From there, you can run commands like hledger bs to get a balance sheet, or dig into time reports by day, week, month, or project. The engine is accurate to 255 decimal places and supports your preferred account names, currencies, and number formats.
Under the hood, it's written in Haskell and has been continuously improved since 2007. It's inspired by and partly compatible with Ledger CLI, and it can interconvert with Beancount. You get multiple interfaces: command-line, terminal UI, web, mobile, and editor/IDE integrations. It also imports and exports CSV, and outputs text, HTML, JSON, and SQL.
Why It's Cool
-
Your data stays yours. The plain text format means full version control and privacy. You can track changes with git, diff your finances, and never worry about a company going under and taking your records with it. It's future-proof in a way that proprietary formats simply aren't.
-
It's genuinely fast. Analyzing 25,000 transactions per second on a MacBook Air M1 isn't a trivial benchmark. For anyone with years of financial data, that means reports come back instantly instead of making you wait.
-
Double-entry accounting as a learning tool. The README notes that using hledger is an excellent way to learn double-entry accounting. Because the format is transparent and the reports are precise, you can see exactly how transactions flow through accounts. There's no black box.
-
A supportive ecosystem. hledger is part of the Plain Text Accounting community, and the README emphasizes that it's actively maintained with regular releases. Compared to other PTA apps, the focus is on being easy to use and practical for everyday accounting—not just a proof of concept.
-
Scriptable and extensible. You can drive it from the CLI, HTTP, or an API, with plenty of examples. If you want to automate your bookkeeping or integrate it with other tools, the door is open.
-
Cross-platform and well-documented. It installs easily on Unix, Mac, and Windows. There's complete built-in documentation in multiple formats, plus beginner videos and tutorials. You're not left to figure it out alone.
How to Try It
Getting started is a matter of installing hledger and writing your first journal file. The README doesn't include specific install commands, but you can find detailed instructions on the home page at hledger.org.
- Install hledger for your platform (Unix, Mac, or Windows).
- Create a journal file—start with something simple, like an opening balance and a few transactions.
- Run a report to see your data in action:
$ hledger bs
Balance Sheet 2022-02-15
|| 2022-02-15
========================++============
Assets ||
------------------------++------------
assets:bank:checking || $2000
assets:bank:savings || $2000
assets:cash || $50
------------------------++------------
|| $4050
========================++============
Liabilities ||
------------------------++------------
liabilities:creditcard || $50
------------------------++------------
|| $50
=======================
- Explore the documentation and tutorials to go further—budgets, time tracking, invoices, and multi-currency support are all covered.
The repository is at github.com/hledgerorg/hledger. It's licensed under GPLv3 or later, so it's free software in both senses of the word.
Final Thoughts
hledger isn't trying to be a flashy SaaS product with a polished mobile app and a sales team. It's a tool for people who want clarity and control over their financial data—whether you're a developer comfortable with the command line or someone willing to learn a simple text format in exchange for long-term ownership. The plain text approach won't appeal to everyone, but if you've ever wanted your accounting to be as transparent and versionable as your code, this is a mature, well-maintained option that's been refined for over fifteen years. It's worth trying on a small scale to see if the workflow clicks for you.
Follow @githubprojects for more developer tools and open source projects.