beangrow
Investment returns done properly, money-weighted and time-weighted, over groups of accounts you define. Needs several large libraries, which the Expert edition can fetch on demand.
Beanbook:Plugins
A plugin is a small Python program you install yourself. Beancount plugins check or transform your ledger as it loads; Fava extensions add pages to the reports; importers turn a bank's CSV into entries. None of them are bundled, and none of them are ours.
plugin "beancount.plugins.auto_accounts"plugin "beancount.plugins.check_commodity"plugin "beancount.plugins.implicit_prices"
It runs with the app's permissions: it can read and change your whole ledger, and use the network. Install plugins only from a source you trust. Safe mode holds all of them back without deleting anything.
The projects below are listed because people use them with Beancount, not because this app vouches for them. Some need libraries that have no Android build, and some assume a desktop computer. The list inside the app marks the ones known not to work here.
Beancount's own plugins come with the app. Nothing to install: name one in your ledger and it runs.
auto_accounts
Opens accounts as it meets them, so a ledger does not need an
open directive for everything before it will load.
check_commodityComplains about a currency you never declared, which is usually a typo in a currency code.
implicit_pricesRecords a price from each transaction that names one, so holdings can be valued without a separate price list.
nounused and leafonlyHousekeeping: accounts you opened and never used, and postings to an account that has children.
Independent projects, each with its own authors and licence. The links go to their own pages.
Investment returns done properly, money-weighted and time-weighted, over groups of accounts you define. Needs several large libraries, which the Expert edition can fetch on demand.
Fava pages for investing: asset allocation, tax-lot selection, and cash drag. Adds screens to the Reports tab rather than changing your ledger.
Charts a portfolio's returns over time inside Fava, using beangrow's calculations.
Charts and tables you describe in a configuration file, shown as a dashboard page in Fava.
Guesses the account for an imported transaction from what you have categorised before, so a bank export needs less editing.
Most importers are a short beangulp script written for one bank's export. Yours can live with your ledger and be run from the app like any other script.
A plugin written for a desktop can fail here for ordinary reasons: it needs a library with no Android build, it expects a home directory, it wants to run another program, or it takes long enough that Android stops it.
The app says which of those happened. A failing plugin does not take your ledger with it: it is held back, and the ledger loads without it.
The Play edition adds one limit that is a store rule rather than protection: plugins there are plain Python, added from a file, and it never downloads code.
Everything the app does with a ledger (entering, editing, balances, reports, documents) works with no plugins at all.