U.S. Bank CSV to Beancount
Convert a U.S. Bank checking, savings or credit card export into balanced double-entry Beancount transactions — four-decimal amounts, month-first dates and the filler Memo column all read correctly.
Column mapping verified against a real U.S. Bank export
How to export your U.S. Bank transactions
- 1
Sign in at usbank.com on a computer — the mobile app has no download — and open the account you want.
- 2
Open the account's transaction list and use the download control above it.
- 3
Choose CSV rather than the OFX or QFX options, which are meant for Quicken, and set the date range you want.
- 4
Paste the file below, header row and all. Its five columns are Date, Transaction, Name, Memo and Amount.
Four decimal places on every amount, and a waived fee is still a row
U.S. Bank exports amounts with four decimal places, so a grocery run posts as -84.2300 USD instead of the two-decimal figure printed on your statement. Nothing is wrong and nothing was rounded — Beancount keeps the number exactly as the bank wrote it. Current exports have moved to two decimals and ISO dates, and this preset reads both shapes. The second surprise is a fee that was waived: it exports as a 0.0000 row and converts into a real transaction worth nothing, rather than being dropped, so an annual fee you were never actually charged still shows up in the ledger.
Beancount output
U.S. Bank export questions
Which column becomes the payee — Name or Memo?
Name. On a checking export the Memo column repeats the same filler on every row — “Download from usbank.com.” followed by a copy of the merchant string — and on a credit-card export it holds a semicolon-padded acquirer reference. Neither is worth importing, so the preset maps Name, which is where the merchant, the transfer target or the payroll descriptor actually sits.
My dates read 8/1/2026 with no leading zeros, and a newer file uses 2026-08-01.
Both convert. U.S. Bank wrote unpadded month-first dates for years and its current export writes ISO dates instead; an ISO date is unambiguous, so the preset's month-first setting only decides the older shape. Keep that setting even on a short export: a file covering the first week of a month contains nothing that says which number is the day, and reading it day-first produces a clean ledger with every transaction in the wrong month.
How far back can I download?
About eighteen months, and in shorter slices — the download screen caps a single request well below a full year, so a year of history takes several exports. They stack: paste each file in turn, or convert them separately and concatenate the results, since Beancount does not care what order the transactions arrive in. Anything older exists only as a statement PDF, which this converter does not read.
Keep the ledger you just converted
Beancount.io hosts your plain-text ledger, imports future statements for you, and keeps every number auditable.
Start Free→