1.6.0: monthly summaries in CSV. Nothing in your ledger files has to change.Changelog

Open source project
  • Overview
  • Install
  • Changelog
  • Community
  • Legal
  • Privacy
Repository

Install

One file, on your path

There is no installer, no service to register and nothing written outside the folder you point it at. Version 1.6.0, MIT licensed.

In short

Four steps

  1. 01

    Download the build for your system

    Linux, macOS and Windows, x86_64 and arm64. Each archive carries a checksum file next to it.

  2. 02

    Put the binary on your path

    Anywhere your shell looks. /usr/local/bin on Linux and macOS, any directory on PATH on Windows.

  3. 03

    Make a folder of ledger files

    Plain text, one transaction per block, any file names you like, as many files as you like.

  4. 04

    Run a report

    ledgerline report balance ./ledgers writes the first one to your terminal.

The long version

Updated 2 September 20266 minutes

Every platform, the file format, and the commands that read it.

Ledgerline is a single executable with no runtime and no dependencies. Installing it means putting one file somewhere on your path. Removing it means deleting that file.

Linux and macOS

Download the archive for your architecture from the package registry, unpack it, and move the binary:

tar -xzf ledgerline-1.6.0-linux-x86_64.tar.gz
sudo mv ledgerline /usr/local/bin/
ledgerline --version

On macOS the first run is blocked until you allow it in the security settings, because the build is signed by the project rather than by a registered developer. There is no way around this that does not cost money the project does not have.

Your distribution may already carry a package called ledgerline. It is usually a release or two behind and it is not maintained by us. Either is fine.

Windows

Unpack the zip and put ledgerline.exe in a directory on PATH, or run it from where it sits:

ledgerline.exe --version

Paths in arguments may use either slash. Output is UTF-8 with CRLF line endings; pass --lf if you want otherwise.

Building from source

You need a C compiler, make, and about two minutes. There is no configure step and no generated code in the tree.

git clone https://example.com/ledgerline.git
cd ledgerline
make
./ledgerline --version

make check runs the test suite against the fixture ledgers in tests/. If it fails on your platform, that is a bug worth reporting, with the output.

What a ledger file looks like

One transaction per block: a date, a description, then one line per account and amount. The amounts in a block must sum to zero.

2026-03-01  Rent
    expenses:rent          800.00
    assets:current        -800.00

2026-03-04  Invoice 118
    assets:current        1450.00
    income:consulting    -1450.00

Blank lines separate transactions. A line starting with # is a comment. Account names are whatever you type; the colons are only a convention that the reports group on.

Running the reports

ledgerline report balance ./ledgers
ledgerline report income ./ledgers --from 2026-01-01 --to 2026-03-31
ledgerline report monthly ./ledgers --account expenses --format csv
ledgerline check ./ledgers

check is the one to put in whatever runs your backups. It prints nothing when every block balances and exits zero; otherwise it names the file and the line.

What it needs

A terminal and read access to the folder. It writes nothing except what you redirect, keeps no state between runs, and does not open a network socket. There is no configuration file, and there will not be one.

When it goes wrong

Questions that arrive by email

  • command not found after installing

    The directory the binary is in is not on PATH. Run `echo $PATH` and either move the file or add the directory. On Windows, open a new terminal after changing PATH.

  • A report is empty

    Ledgerline only reads files ending in .ledger. Check the extension and check that you named the folder rather than a single file.

  • check says a block does not balance but it looks right

    Amounts are parsed to two decimal places and a third decimal is an error, not a rounding. The reported line is the one that pushed the sum away from zero, not always the one with the mistake.

  • Dates out of order across files

    That is allowed. Ledgerline sorts by date across the whole folder, so splitting by year, by month or not at all all give the same reports.

  • Which version am I meant to run

    The newest. Releases are small, backwards compatible with the file format, and listed on the changelog page with anything that changed in the output.

  • It will not start on macOS

    Right-click the binary, choose Open, and allow it once. The build is signed by the project, not by a registered developer, so the first run is blocked.

Open source project

Ledgerline turns a folder of plain-text ledger files into four reports. It does nothing else, and that is the point.

The tool

  • Overview
  • Install
  • Changelog

The project

  • Community
  • Issue tracker
  • Mailing list

Elsewhere

  • Repository
  • Package registry
  • Chat room

Legal

  • Legal notice
  • Privacy
Ledgerline is free software under the MIT licence. Copyright 2024-2026 the Ledgerline maintainers. No warranty of any kind.