Beancount Client
The Beancount GUI Client for Mac.
A native Beancount GUI client for Mac. Open a .beancount ledger read-only and browse transactions, postings, accounts, prices, computed balances, and balance assertions as SQL tables. Parsing runs through rledger or the Python beancount package, which you install yourself, and BQL queries run through rledger. Free and open source.


Features
Built for Beancount.
Ledger As SQL Tables
The driver projects a ledger into seven tables: transactions, postings, accounts, prices, balances, balance_assertions, and source_files. Browse them in the sidebar like any other database.
Resolved Amounts
Thousands separators, arithmetic, cost annotations in braces, and price annotations with @ or @@ arrive already booked from the backend parser. Postings carry cost_number and cost_currency.
BQL In The Editor
Prefix a query with BQL: to run it through rledger. Table browsing, row counts, and pagination work on BQL results, though BQL does not accept SQL parameters.
Two Parser Backends
TablePro looks for an rledger executable first, then a python3 that can import beancount. Point at either one with TABLEPRO_RUSTLEDGER_BINARY or TABLEPRO_BEANCOUNT_PYTHON, or pin a choice with TABLEPRO_BEANCOUNT_BACKEND.
Include Directives Followed
Literal includes and glob patterns such as include "imports/*.beancount" and include "imports/**/*.beancount" are parsed. Every file that was read shows up in source_files.
Read-Only By Design
Beancount connections never write. Schema editing, imports, SSH, SSL, and database switching are off, so the plain-text ledger stays the single source of truth.
Data Grid
Browse and edit data.
Sort, filter, and edit Beancount data in a spreadsheet-like grid. Click any cell to edit. Insert and delete rows. Review changes before saving.


SQL Editor
Write queries faster.
Tree-sitter syntax highlighting, schema-aware autocomplete, multi-tab, Vim mode, and full-text query history. AI assistant can write, explain, or optimize your SQL.


Capabilities
What you can do.
- Open .beancount ledgers as read-only connections
- Browse transactions, postings, and accounts as tables
- Read computed balances and balance assertions
- Follow include directives and glob patterns
- Run BQL queries through rledger
- Inspect every parsed ledger and include file
- Export projected tables and query results
- Filter and paginate large posting sets
Connect
Get connected in seconds.
# Install a backend first, TablePro bundles neither
pip3 install beancount
rledger --version
# If TablePro cannot find it, set the path and relaunch
launchctl setenv TABLEPRO_RUSTLEDGER_BINARY /opt/homebrew/bin/rledger
# Then open the ledger
beancount:///path/to/main.beancountSupported versions
Beancount ledgers parsed by rledger (rustledger) or the Python beancount package
Connection types
- Local file (.beancount)
- beancount:/// connection URL
How to
Connect to Beancount in four steps.
- 1
Install TablePro and a parser backend
brew install --cask tablepro. Then run pip3 install beancount, or put an rledger executable on PATH.
- 2
Install the Beancount plugin
Open Settings > Plugins and install Beancount from the registry. TablePro also prompts to download it when you pick a ledger.
- 3
Create the connection
Press Cmd+N, choose Beancount, click Browse... and select your .beancount file.
- 4
Connect and query
Click Save & Connect. The projected tables appear in the sidebar. Cmd+T opens a query tab, and a BQL: prefix runs the query through rledger.
FAQ
Common Beancount questions.
Can I edit my ledger from TablePro?
No. Beancount connections are read-only. Browse and export the projected tables here, and make edits in your text editor.
Do I need to install anything besides TablePro?
Yes. TablePro bundles neither parser. Run pip3 install beancount, or put an rledger executable on PATH, in /opt/homebrew/bin, or in /usr/local/bin. When both exist, rledger is used.
rledger works in Terminal but TablePro says no backend was found. Why?
An app launched from Finder does not inherit your shell PATH. Run launchctl setenv TABLEPRO_RUSTLEDGER_BINARY with the full path, or TABLEPRO_BEANCOUNT_PYTHON for the Python backend, then relaunch TablePro.
Can I run BQL queries?
Yes. Prefix the query with BQL: and it runs through rledger. BQL always needs the rledger executable, even when the ledger was opened on the Python backend.
Is TablePro free for Beancount?
Yes. AGPLv3 open source. The Beancount driver is a registry plugin rather than a bundled driver, so TablePro offers to download it the first time you open a ledger.
Try TablePro for free.
Free and open-source. macOS 14+. Apple Silicon and Intel.