UI Features of beancount.io
The beancount.io web interface provides a suite of tools to help you manage, analyze, and customize your accounting workflow. This article highlights the main features available to users.
Editor
The beancount.io UI includes a built-in editor for quick changes to your Beancount source file. Features include:
- Auto-completion for account names, payees, tags, and more
- Trailing whitespace highlighting
- Flexible file selection via the
default-file
option - Smart cursor placement using the
insert-entry
option (jumps to the most recent entry)
Querying with BQL
On the Query page, you can run Beancount Query Language (BQL) queries, similar to the bean-query
CLI tool. The UI will display results as tables and, when possible, as charts (line or treemap) if your query returns two columns (date/string and inventory).
- Download query results as CSV by default
- See the BQL Reference for more details
Adding Transactions
Click the +
button (or press n
) to open the transaction form. You can:
- Insert transactions at a specific position with the
insert-entry
option - Bookmark the form with
#add-transaction
in the URL - Add tags and links directly in the narration field (e.g.,
Lunch #food ^receipt
)
Up-to-Date Indicators
Colored dots next to accounts help you track which accounts are up-to-date:
- Green: Last entry is a passing balance check
- Red: Last entry is a failed balance check
- Yellow: Last entry is not a balance check
- Grey: Account not updated recently (configurable with
uptodate-indicator-grey-lookback-days
)
Enable this by setting fava-uptodate-indication: TRUE
in the account’s Open directive.
Displaying Only Relevant Accounts
The beancount.io interface provides options to declutter your account view:
show-closed-accounts
show-accounts-with-zero-balance
show-accounts-with-zero-transactions
collapse-pattern
Opening an External Editor
You can open your Beancount file in your favorite editor directly from the beancount.io UI using the use-external-editor
config and the beancount://
URL handler. See beancount_urlscheme for setup.
Multiple Beancount Files
If you start the beancount.io UI with multiple Beancount files, you can easily switch between them by clicking the file name at the top left.
Custom Sidebar Links
Add frequently used or filtered views to the sidebar using the custom
directive:
2016-05-04 custom "fava-sidebar-link" "Income 2014" "../income_statement?time=2014"
- The first argument is the sidebar label
- The second is the URL (relative or absolute)
Common examples:
- All Documents:
/<slug>/journal/?show=document
- All Notes:
/<slug>/journal/?show=note
- Use
/jump
for dynamic links (e.g.,/jump?time=month
)
Language Support
Set the interface language with the language
option, or let the beancount.io UI detect it from your browser.
Uploading Documents & Statements
- Drag and drop files onto account names or Journal rows to upload
- Drop on account: file is stored in the account’s folder; you can rename before saving
- Drop on transaction: creates a
document
metadata entry for the transaction - Files are stored in your
documents
folder (set withoption "documents" ...
) - Beancount auto-discovers documents and generates entries
- Enable plugins for extra automation:
- Tag discovered documents:
plugin "fava.plugins.tag_discovered_documents"
- Link documents to transactions:
plugin "fava.plugins.link_documents"
- Tag discovered documents:
Exporting Journal Views
You can export any displayed (including filtered) Journal view in Beancount format by clicking the Export button.