Skip to content
Beancount

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.

TablePro connected to a Beancount database showing the data grid and SQL editor

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.

TablePro data grid showing Beancount table rows with inline editing

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.

TablePro SQL editor with Beancount query and autocomplete

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.beancount

Supported 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. 1

    Install TablePro and a parser backend

    brew install --cask tablepro. Then run pip3 install beancount, or put an rledger executable on PATH.

  2. 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. 3

    Create the connection

    Press Cmd+N, choose Beancount, click Browse... and select your .beancount file.

  4. 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.