plain text accounting.
hledger is fast, reliable, free, multicurrency double-entry accounting software that runs on unix, mac, windows, and the web. With it you can track money, investments, cryptocurrencies, time, or any other quantifiable commodity; with a future-proof plain text file format, version control for your changes, and without needing any cloud service or vendor.
Developed continuously since 2007, hledger is licensed under GNU GPLv3+, written in Haskell, and thoroughly tested, with $100 bounties for regressions reported.
Currently, three user interfaces are provided out of the box: a powerful command line UI (hledger), a quick terminal UI (hledger-ui), and a simple web UI (hledger-web).
Plain Text Accounting (plaintextaccounting.org) means:
Data is stored in plain text files, which can be easily read by humans, tracked with version control software such as Git, and maintained with text processing tools. This facilitates portability, longevity and privacy for your valuable accounting data.
The data format is flexible and easy to write or generate, but hledger can check it and prevent many kinds of error. This, plus the auditability provided by version control, provides confidence in your data and reports.
There is a fast command-line interface, which makes the tool flexible and easy to integrate into custom workflows.
hledger is a robust, largely compatible reimplementation of the original PTA app, Ledger CLI. See also: hledger and Ledger,
For yourself, your business, or other organisations, track and report on:
- Assets and liabilities
- Billables, receivables and payables
- Revenues and expenses
- Cryptocurrencies or NFTs
With the readable data format and lightweight software, hledger and PTA users tend to rapidly improve their understanding of double-entry bookkeeping and accounting.
Here's an example of the main
journal format. This represents an accounting General Journal. Positive amounts are debits, negatives are credits, but all you need to remember is that each transaction is balanced, summing to zero. (One amount may optionally be omitted to save typing.)
# 2022.journal 2022-01-01 opening balances as of this date assets:bank:checking $1000 assets:bank:savings $2000 assets:cash $100 liabilities:creditcard $-50 equity:opening/closing balances 2022-02-01 GOODWORKS CORP assets:bank:checking $1000 income:salary $-1000 2022-02-15 market expenses:food $50 assets:cash
Support for two time logging formats is built in:
timeclock format, for clockin/clockout time tracking:
# 2009.timeclock i 2009/03/27 09:00:00 projects:a o 2009/03/27 17:00:34 i 2009/03/31 22:21:45 personal:reading:online o 2009/04/01 02:00:34 i 2009/04/02 09:00:00 projects:b o 2009/04/02 17:00:34
timedot format, for approximate/retroactive time tracking:
# 2016.timedot 2016/2/1 fos:haskell .... biz:research . inc:client1 .... .... .... .... .... .... 2016/2/2 biz:research .... .. fos:hledger .... .... .... fos:ledger 0.25 fos:haskell .5 inc:client1 2
Among the PTA apps, hledger has a strong focus on ease of use and practicality for day-to-day accounting. It supports most Ledger and Beancount features but omits some of the more complex ones (value expression language, implicit lot matching). It prioritises "just works", accessible documentation, and is actively maintained, with a lively chat.
Non-programmers will enjoy hledger's built-in financial statements, multi-period reports, choice of user interfaces, easy CSV import system and general robustness.
Programmers may appreciate its speed (25k txn/s on a macbook air m1), accuracy (up to 255 decimal places), reliability (1100+ tests, $100 bounty for regressions), powerful scriptability/embeddability and clean statically-typed Haskell implementation.
And why might you not choose hledger ?
- If you need a rich GUI above all, you might prefer GnuCash, KMyMoney, or Quickbooks.
- If you like spreadsheets and don't have a ton of data, you might find those quicker.
- If you do a lot of advanced trading, or want to hack a lot with Python, also look at Beancount.
- If you want to mix more code in your financial data, or hack on C++, evaluate Ledger.
- If you like minimalist unix tools and think all the above are bloat, see pta.
- If you are mobile-only and don't need version control or flexibility, maybe a phone app will do.
- If you don't need version control or privacy, but do need friction-free collaboration with financial professionals and institutions, you might prefer a commercial web-based system.
I'm Simon Michael, hledger project founder and PTA fan. Welcome!
I have been building and relying on this project since 2007, together with 140+ contributors.
We hope you too will find hledger/PTA useful in transforming your relationship with money and time. After enjoying some personal or organisational success with it, you might want to become one of the generous sponsors to help sustain this work.
The main site contents are listed in the sidebar to your left. If it's not visible, click/tap the horizontal-lines icon at top left, or press the
s access key.
You can search this site quickly for any topic by using the magnifying-glass icon at top left, or the
/ access key.
Other access keys are:
t change theme,
1 home page,
2 recent changes,
< previous page,
> next page.