GitHunt
EV

Evernight/beantab

BeanTab is a spreadsheet-like interface for Fava to mangage balance assertions in your Beancount ledger

BeanTab

License

BeanTab is a spreadsheet-like interface for Fava to mangage balance assertions in your Beancount ledger.

BeanTab

What's the ideal way to manage balance assertions? I switched to Beancount from spreadsheets where I used to track balances of accounts and, as a consequence, total net worth. I got many more possibilities and features as a reward of that migration but if I'm being honest, some aspects of tracking just balances were more convenient in spreadsheets.

Why not to get the best of both worlds?
BeanTab is meant to be a part of Beancount plugin ecosystem that makes that particular workflow pleasant to use. It relies on balance-ext and pad-ext from beancount-lazy-plugins extensions that augment the original balance and pad operations with more functionality and flexibility.

BeanTab Extended

Also explore transactions and discrepancies using the advanced view. It's akin to an alternative editable version of the Fava's Balance Sheet page.

Features

  • Spreadsheet-style balance table — View all balance assertions, valuations, and balance-ext entries in an editable grid (powered by RevoGrid)
  • Inline editing — Add or modify balance entries directly in the table; changes are written to your Beancount files on save
  • Multiple balance types — Supports regular Balance, valuation, and balance-ext directives (regular, padded, full-padded, valuation)
  • Filtering — Can be filtered by account / regex and a couple of additional settings to only show the set of accounts you're interested in
  • URL-persisted settings — Current configuration (filters, sort, layout) is stored in the URL for bookmarking / saving using fava-sidebar-link directive
  • Categorized changes between periods – Enable "Show Deltas" to see changes in balances from transactions classified by account types
  • Interlinked with Fava pages* – Easily find discrepancies in balances and explore them in Fava

Installation

pip install git+https://github.com/Evernight/beantab.git

Add to your Beancount ledger

Add the Fava extension directive:

2024-01-01 custom "fava-extension" "beantab" "{}"

For suggested usage pattern you will need to set up balance-ext and pad-ext from beancount-lazy-plugins. See example for more details.

Usage

  1. Run Fava with your ledger:
fava your-ledger.beancount
  1. Open the BeanTab tab in the Fava sidebar.

  2. Use the table to:

    • View balances across accounts and dates
    • Edit cells to add or change balance assertions (append ~ for padded, ! for regular when overriding)
    • Use Settings to adjust grouping, filtering, and visibility
    • Save changes to write balance-ext entries to your ledger / included files

Development

make deps          # Install Python (uv) and frontend (npm) dependencies
make build         # Build the frontend bundle
make dev           # Run Fava with example ledger + esbuild watch

With a custom ledger path:

make dev LEDGER_FILE=path/to/your/ledger.beancount

See Also

Languages

JavaScript98.6%TypeScript1.1%Python0.3%Makefile0.0%CSS0.0%HTML0.0%

Contributors

GNU General Public License v2.0
Created February 13, 2026
Updated March 8, 2026