CSV to Beancount Converter

Convert any CSV bank statement or transaction export to Beancount double-entry ledger format. Interactive column mapping, configurable accounts, runs in your browser.

1.0.0
Version
Auth
Batch
Zero uploads. CSV parsing and conversion happen entirely in your browser.

1Upload CSV

Upload CSV or drag here

Bank statement, credit card export, expense tracker dump…

CSV to Beancount Converter Tutorial

What is Beancount?

Beancount is a plain-text, double-entry accounting system. Every transaction has two entries that must balance — money doesn't just appear or vanish, it moves from one account to another. It's the geekiest, most auditable way to do personal or small-business finance.

2026-04-01 * "Trader Joe's" "Groceries"
  Assets:Bank:Checking  -45.67 USD
  Expenses:Food:Groceries

Why This Tool?

Banks export CSV. Beancount wants its own syntax. Hand-converting 500 transactions is tedious and error-prone. This tool maps your CSV columns to Beancount fields and spits out a ready-to-bean-check ledger.

Workflow

  1. Upload your bank's CSV export
  2. Pick which columns are Date, Amount, Payee, Description
  3. Tick "Invert sign" if your CSV has 45.67 for expenses (bank CSVs are usually signed already with negative for debits)
  4. Set account names — the source account (your bank) and the default expense/income accounts
  5. Download the .bean file, drop it into your ledger, run fava or bean-check

Auto-detection Features

  • Delimiter — tries ,, ;, tab, |
  • Encoding — UTF-8, GBK (for Chinese banks), GB18030, Latin-1
  • Date format — YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, DD.MM.YYYY

Compatible CSV Sources

Any bank that gives you a CSV. Confirmed working with: Chase, Bank of America, Wells Fargo, Wise, Revolut, Monzo, N26, Deutsche Bank, ING, 招商银行, 支付宝 (for just the raw transactions), 工商银行.