WindowsmacOSLinux

Where Does Beancount Keep the Ledger File?

Beancount reads a plain text ledger you place anywhere. The file pattern, include structure, and where Fava reads it.

Last updated

Beancount has no default data directory. Your ledger is a .beancount text file (or a tree of them joined by include lines) that lives wherever you put it. Fava, the web UI, simply takes that file as its argument.

The convention is one folder per books set with a main file at the top. Fava options are custom lines inside the ledger itself, not a separate config. Back up the folder and the whole setup moves with it.

Where Beancount stores this, by platform

Windows
%USERPROFILE%\Accounts\main.beancount

User chosen home for the books set, with main.beancount including yearly files. Pass this file to fava on the command line. Keep receipts in a documents subfolder for Fava discovery.

macOS
~/accounts/main.beancount

Same pattern under home. Display settings live in the ledger as custom fava-option lines, so there is no extra config path to back up beyond this tree.

Linux
~/accounts/main.beancount

Identical layout to macOS. Server setups commonly serve one ledger per file with fava --host 0.0.0.0, each main file becoming one books set in the switcher.

Frequently asked questions

How do I point Fava at my Beancount file?

Run fava with the main file as its argument, for example fava ~/accounts/main.beancount. Fava opens that file and follows its include lines. There is no separate Fava config file to hunt down, since display options live inside the ledger as custom fava-option lines.

How should I organize multiple Beancount files?

Split by year or topic and pull them together with include lines in one main file. Keep documents beside the ledger in a documents folder so Fava discovery finds receipts. One main file per books set keeps reports clean.

Notice an outdated path? Let us know.