Money · Edition No. 20 · 14 Sep 2026

simonmichael/hledger

Keeps double-entry accounts in a plain text journal file you write yourself, and prints balance sheets, income statements and registers from it.

← MoneyRead the whole edition →

4.5k stars · GPL-3.0 · 1.52.1 (2026-04-28), read from the About sidebar on the repository page · Track this in Scout

Keeps double-entry accounts in a plain text journal file you write yourself, and prints balance sheets, income statements and registers from it.

Repo detailsthe review · specs · pros & cons · install

What it is

A double-entry accounting program that reads a plain text journal file. It offers a command-line interface, a terminal interface and a small web interface, and it prints balance sheets, income statements and account registers.What it is good for. Anyone who wants accounts they can read, compare and keep forever, and anyone who has been burned by a finance app shutting down. It also suits a one-person business with few transactions per month, where the typing is genuinely small and the auditability is genuinely useful. It pairs with Actual above: Actual is for deciding, this is for recording.

Stars4.5k
LicenceGPL-3.0
Latest1.52.1 (2026-04-28), read from the About sidebar on the repository page
Good
  • Your data is a plain text file you own, in a format that two other programs also read, so you are never locked in.
  • Real double-entry accounting, which means the numbers have to balance and a mistake shows itself.
  • Unusually careful documentation and a steady release every few months, going back many years.
Watch for
  • You type the entries, or you write a small importer. There is no bank connection at all.
  • Double-entry accounting is a genuine subject, and the first week is confusing even with good documentation.
  • GPL-3.0. You may use it freely, but anything you build from its code must also be GPL.
Similar repositories
  • ledger/ledger

    The original plain text accounting program that hledger was modelled on, faster on very large files and harder to learn, with a stricter file format.

    Track this in Scout
  • beancount/beancount

    The same plain text idea with a stricter language and a Python plugin system, which suits people who want to write their own checks and reports.

    Track this in Scout
  • beancount/fava

    Solves the presentation half: a good-looking web interface over a Beancount file, with charts and filters that the command line does not give you.

    Track this in Scout
Install
# Debian or Ubuntu
sudo apt install hledger
# macOS
brew install hledger
# Make your first journal file:
mkdir -p ~/finance
cat > ~/finance/2026.journal <<'EOF'
2026-09-14 opening balances
    assets:bank:checking          1000
    equity:opening balances
2026-09-14 Hetzner server
    expenses:hosting                12
    assets:bank:checking
EOF
hledger -f ~/finance/2026.journal balance
hledger -f ~/finance/2026.journal incomestatement
Screenshots
simonmichael/hledger: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.