Beanbook:Help

Start with a project, not an account.

Create a ledger, or import the folder your existing ledger is in. The app reads the same Beancount syntax used on desktop.

A project that stays togethermain.beancount
option "title" "Household"option "documents" "documents"include "accounts.beancount"include "2026/*.beancount"

Getting started

  1. Open More, then Projects.Create a new ledger, or import a folder or a .zip.
  2. Keep the whole folder together.Import the folder, not only the main file, so included files and linked documents come with it.
  3. Fix errors after importing.A ledger that Beancount reports errors in still imports. Each error shows its file and line, and you can correct it in More, Files.
  4. Export a copy.Keep an ordinary folder you can open on a computer, make a backup file, or turn on auto-mirror to keep a folder in step for you.

Importing an existing ledger

Import the whole folder tree or an archive, not only the root .beancount file. That keeps included files and linked documents together.

Imported projects keep their own layout. The app does not require the folder names used for a new project.

Before writing anything, import rejects path traversal, absolute paths, archive symlinks, zip bombs, case collisions, and duplicate names. It imports into a new project rather than overwriting an existing one.

Where your files live

Your projects live in the app's own storage, because Beancount and Fava need ordinary file paths, which Android's folder picker does not give. Import, export and mirror are how files get in and out.

  • Inside the app

    Projects live in the app's private storage, which a file manager cannot open. Export or mirror to get a copy you can.

  • Edit files in the app

    Every file of your ledger can be edited as text in More, Files.

  • Portable copies

    Import, export and mirror connect the app's storage to a folder you choose with Android's folder picker.

  • Only your files in the project

    Caches, logs and passwords are kept outside your project folder, so a copy of it holds only your ledger and documents.

Troubleshooting

A ledger will not load

Tap the error on Home to see it with its file and line, then fix that line in More, Files. The app shows what Beancount could not read rather than guessing.

A save was refused

The file changed after you opened it, for example through the mirror. The save is refused rather than overwrite the newer version: copy your change, open the file again and apply it there.

A plugin stops startup

Turn on safe mode in More, Plugins. The ledger then loads with no plugins, and nothing is deleted.

A remote server will not connect

Check the scheme and certificate. Certificate errors for https:// are fatal. The app never retries over http://.

A plugin will not install

Some Python libraries have no Android version. The app names the ones it could not get, and the parts of the plugin that need them will not work.

What it does not do

These are product limits, not hidden roadmap promises.

No bank connections

The app does not connect to your bank or download statements. Entries are typed, scanned from receipts, or imported by a script you run.

No financial advice

It records and reports what you enter. It does not give financial, tax or investment advice.

No Git integration

The app edits your files but leaves version control, such as Git, to you.

No remote offline cache

Remote mode requires the server and provides reports plus quick-add, not existing-entry editing or two-way sync.

No reading of receipt text

The app keeps photos and PDFs of receipts, but does not read the text on them yet.

A short plugin list, not a store

The app lists the plugins from awesome-beancount with what is known about each. The Expert edition installs them one at a time; the Play edition lists them only. Nothing is reviewed for safety, and plugins run with the app's own access.

English UI only

The UI is prepared for localization, but translations do not exist yet.

Large ledgers cost time once.

The app was built and measured around roughly 25,000 transactions in about 10 MB. Larger ledgers are not refused: just over 100,000 entries loads correctly. What it costs is the first load after a change, which runs to tens of seconds at that size. Opening the app again is quick, because the figures the native screens need are cached and re-checked against the contents of your files. Fava reports and BQL queries still do a full load every time, so those stay slow on a large ledger.

Before relying on it

Read the privacy policy and how the editions differ, especially if you plan to use your own Fava server, plugins or scripts.