plain text accounting,

made easy

quick start.) (Woah, too much to read ? Here's the.)

hledger is cross-platform accounting software for both power users and folks new to accounting. It's good for tracking money, time, investments, cryptocurrencies, inventory and more. It is a reimplementation of Ledger CLI (I liked Ledger so much, I rebuilt it in Haskell) with a particular focus on ease of use and robustness.

Here are some things it provides out of the box:

hledger is a Plain Text Accounting system. Some strengths of the PTA approach:

Runs on your local computer, keeping your financial data private and under your control

Simple model of operation: put a log of transactions in, get reports out

Simple, expressive, human-readable, future-proof plain text format

Can be version controlled, eg with Git, to safeguard your data, track changes, or collaborate

Edit with your favourite text editor, or a data entry UI, or import from other formats

Easy to script, automate, and integrate into custom workflows

Lightweight, fast, non-distracting to use

Great for learning more of double-entry bookkeeping and accounting.

Here are some ways in which hledger strives to provide robustness:

Robust installation: multiple options are provided for binary and source installation. Building from source is reliable and consistent across platforms.

Robust execution: runtime crashes are minimised by Haskell's memory management and strong compile-time type checking. The software is also heavily tested by automated test suites and CI. Failures caused by user input are reported clearly and promptly.

Robust features: built-in commands and options combine well with one another, and are expected to do something sensible in all cases, with all kinds of input.

Robust calculation: results are expected to always perfectly match what you would calculate on paper, up to 255 decimal places.

Robust parsing: dated items, such as balance assertions and balance assignments, are processed in date order. Assertions/assignments with the same date are processed in parse order. Multiple assertions/assignments within a single transaction work as you would expect.

Robust reporting: reports are deterministic and not affected by the order of input files or data items except where that is part of their spec.

Robust documentation: all functionality is documented precisely, with a mnemonic permalink. Reference manuals for your hledger version are available online, and built in for offline viewing. General and command-specific command line help is provided. We favour documentation-driven development.

hledger is free software, with no purchase price or monthly fees. It is licensed under GNU GPLv3, providing the strongest guarantee that you will always have the right to run, inspect, modify, or share it. It is actively maintained, with regular releases, a large chat room and other support resources.

hledger is modelled after the pioneering Ledger CLI, and will read many Ledger files without change. Ledger users will find the data formats and commands familiar. Though not yet as fast as Ledger, it is quite fast, parsing and analysing (correctly) ~2000 txns/s on a 2013 macbook. Reports normally take a fraction of a second, and hledger-ui updates instantly as you edit.