About CSV to Beancount Converter
You're a Beancount user with a stack of bank CSVs — Chase, Wise,
Revolut, Monzo, N26, 招商银行, whatever the bank handed over — and you
want them in your .bean ledger before tonight's
bean-check pass. The official path is to install Python,
pip-install beancount plus a per-bank importer, write a
config file, learn the importer's class hierarchy, and only then turn
one CSV into a ledger. For a one-off conversion, that's a workshop's
worth of setup before you even open the file.
This CSV to Beancount converter skips the toolchain.
Drop a CSV onto the page, the parser auto-detects delimiter
(, ; \t |) and
encoding (UTF-8, GBK, GB18030,
Latin-1 — so Chinese bank exports work without re-saving),
then suggests sensible column mappings by matching English and Chinese
header keywords (amount, date, 金额,
交易时间, 对方). You map five fields — Date,
Amount, Payee, Description, Category — pick a date format if auto
guesses wrong, optionally flip the sign for CSVs where expenses are
shown positive, then name the source/expense/income accounts and a
currency. Out comes a sorted Beancount ledger with open
directives, ready to drop in.
Useful for migrating a year of statements into a fresh ledger, building a one-time import while your real automation is still half-built, filling a gap when a bank-specific importer is broken, or simply staying private — bank transactions are sensitive and never leave your browser here. Output stats show entry count, debit/credit totals and date range so you can sanity-check before committing.