Ledger logo

Ledger

Command-line double-entry accounting that reads plain text files and generates reports

Open Source Alternative to
Repository activity
  • Stars6k
  • Forks540
  • Open Issues8
ledger-ledger health score - Linux Foundation Insights
License

Other

Languages
  • C++
  • Python
  • Perl
Ledger screenshot

About Ledger

Ledger is a double-entry accounting system accessed from the UNIX command line. There is no UI: you write account names and transactions into a text file, then run Ledger with options to specify the input and the reports you want. It reads the files and generates output, with no other database or stored state.

Output is generally plain text, but you can produce a graph or HTML instead. The tool is simple in concept yet rich in ability, offering detailed reporting access to your data. Optional Python bindings, off by default, enable features such as journal import.

Ledger is written in C++ and builds from source on Linux, macOS, and similar systems. A prebuilt Docker image is also available, letting you run it without installing further dependencies.

Key features

  • Reads account names and transactions from text files
  • Generates reports from command-line options
  • Outputs plain text, graphs, or HTML
  • No database or stored state outside the files
  • Optional Python bindings for import and scripting

Details

On GitHub since
2008
Language
C++
License
BSD 3-Clause
Platforms
CLI · Docker
Storage
Plain text files · no database
Install
Build from source · Docker