Guided entry
Use the form for transactions and other entries. Edit, delete or copy existing ones, and the ledger stays ordinary Beancount text.
Beanbook:Features
Entering what you spent takes a few taps. Behind it is Beancount, the same double-entry accounting software people run on a desktop, with Fava's reports on top, both running on your phone.
SELECT account, sum(position)WHERE account ~ '^Expenses:Food'GROUP BY accountORDER BY account
A form for everyday entries, and the text file itself when that is quicker. Both write to the same place.
Use the form for transactions and other entries. Edit, delete or copy existing ones, and the ledger stays ordinary Beancount text.
Read and edit the ledger files themselves, with highlighting and search. If a file changed after you opened it, the save stops rather than overwrite the newer version.
A change is written in full and read back by Beancount before the app says it is saved. If something fails halfway, the previous version comes back.
Comments, spacing, includes, relative paths and anything the app does not recognise stay exactly as you wrote them, outside the entry you change.
Fava's full set of reports and charts, beside the list of entries, your account balances, and the text editor.
Fava reports on the device
Your projects live inside the app. These are the ways to get a copy out, or keep one in step.
Photograph or attach receipts, turn the pages into one PDF, and link it to an entry or an account. Documents are kept in the project folder, so they travel with it.
Export to an ordinary folder or a backup archive.
Auto-mirror keeps a copy in a folder you choose, such as one your cloud storage syncs. If the same file changes in both places, both versions are kept and you decide.
The app can back up on a schedule and keep as many past copies as you choose. A backup you start yourself can be protected with a passphrase; scheduled ones are not.
Remote mode uses a Fava server you host. It provides reports and quick-add while the server is reachable.
It does not keep an offline copy, edit existing remote entries, or
attempt two-way sync. An https:// certificate error
is fatal. An http:// connection is used only when you
type that scheme and is disclosed as unencrypted before
connection.
Plugins add checks, entries or report pages: Beancount plugins, Fava extensions, and importers for your bank's exports. The app also runs Python scripts. See the plugins people use.
A plugin runs with the app's permissions and can reach anything the app can: it is a program you are trusting. It runs only when your ledger names it, and safe mode holds all of them back.
Plugins are added from a file, must be plain Python, and cannot use your phone's own features. This edition never downloads code.
Plugins install from the in-app list in one tap, with the Python libraries they need, and can use your phone's own features.
Some plugins need libraries far larger than the app itself, so they are never bundled. They are downloaded only when you install a plugin that needs them, or ask for one by name.
The Play edition's limits on plugins are store rules, not protection for your ledger. In both editions a plugin runs with the app's permissions.
The ledger format is identical in both editions, but package and update behavior differs.