Skip to content

Getting started FAQ

Simon Michael edited this page Jun 19, 2022 · 1 revision

Getting started

Ledger, hledger, beancount, etc. - which should I choose ?

There are some comparisons, including

We all have opinions - ask for them in chat or search the reddit / mail lists / web. Circa 2022 I hope it's fair to say, without my bias showing:

  • Ledger, hledger and Beancount are the big three apps, with many users.
  • The other apps are less used, though some may be quite capable.
  • Ledger is the oldest and best known, with many features and long-standing quirks.
  • hledger is a cleaned-up version of Ledger, the most actively maintained, and the most user-friendly.
  • Beancount has the most features for investing and trading, and the most support (and need) for customisation, via Python.
  • Ledger and hledger parse files flexibly and forgivingly by default, with strictness as an option. Beancount's file format is more restricted and always strictly enforced.
  • It's generally relatively easy to migrate data from one to another, eg using data conversion tools like ledger2beancount and beancount2ledger.

--Simon M.

How to organise files ? Should I split the journal into many files ?

All in one file (or one file per year) and ordered by date is simplest and creates the fewest headaches (balance assertions/assignments, scope of directives, where to put entries, finding things..).

If you use emacs: it’s possible to insert org headings (which are comments to h/ledger) and then use org-mode or org-minor-mode to collapse/expand/navigate sections of your journal.

Also in emacs: in ledger-mode, C-c C-f can give you a filtered view of just one account’s transactions. (But be careful, if you edit in the wrong place it will lose data.)

How big is your ledger/journal file ?

For individual accounting, somewhere between 500-1500 transactions and 100-400 Kb of journal file per year seems typical.