Installation
Requirements
Section titled “Requirements”macOS 26 or later, on a Mac with Apple silicon. Nothing else: the app carries everything it needs inside — its own Python, Beancount, the Fava library and Git. It does not use, and does not touch, any Python, Beancount, Fava or Git you may already have installed.
Install the app
Section titled “Install the app”brew install --cask barcia/tap/beancount-desktopThe full name adds the tap, trusts it and installs, in one step. The app keeps itself up to date (see below), so a plain brew upgrade leaves it alone; brew upgrade --cask --greedy beancount-desktop updates it through Homebrew anyway.
Download the disk image from the home page, open it and drag Beancount Desktop to your Applications folder.
First launch
Section titled “First launch”-
Open Beancount Desktop. With no ledger open you see No Ledger Open and an Open Ledger… button.
-
Choose the folder that holds your ledger. The app finds the main file in it, or asks which one it is. See Open your ledger.
-
Starting engine… and Loading ledger… show for a moment, and then your Income Statement for this year, month by month.
-
If the folder had no Git history, the app starts one and tells you so. From then on every save can be reviewed and undone: see Saving and committing.
Nothing is downloaded, and the app works without an internet connection from the first launch. Its only connection is the daily check for updates, which you can turn off.
No ledger yet? The app opens ledgers, it does not create them. A folder with a main.beancount like this one is enough to start:
option "title" "My ledger"option "operating_currency" "EUR"
2026-01-01 open Assets:Bank:Checking2026-01-01 open Expenses:Groceries2026-01-01 open Equity:Opening-BalancesThe Beancount documentation explains the language.
- Open your ledger, then take the tour.
- Add a transaction and see it saved and committed.
- Capture expenses on the go with the iPhone companion.
Updates
Section titled “Updates”Once a day the app checks whether there is a new version and, if so, shows what changed and offers to install it: Install Update replaces the app and restarts it. You can also check at any time with Beancount ▸ Check for Updates…. To turn the checks off, or to let updates install on their own, see Settings ▸ Updates.