Lanternhill Studio · Bank CSV Categorizer

How to Clean Up a Bank CSV Export Before Bookkeeping

Bank exports are rarely ready to use. These are the common problems and fixes.

Extra lines above the header

Some banks add account info above the column names. Delete those rows so row 1 is the header (Date, Description, Amount…).

Amounts stored as text

Values like $1,234.50 or (45.00) may be text. In Sheets, =VALUE(SUBSTITUTE(SUBSTITUTE(C2,"$",""),",","")) converts them; wrap parentheses amounts as negatives.

Separate Debit and Credit columns

Make one signed Amount column: =N(Credit) - N(Debit). Money in is positive, money out negative.

Mixed date formats

Check that dates sort correctly. If 03/04 could be March 4 or April 3, confirm your bank's format and use Data → Split text or DATE() to rebuild them.

Duplicates from overlapping downloads

If two downloads cover the same days, sort by date and amount and look for exact repeats. Don't remove two genuine identical charges on the same day without checking the statement.

Pending transactions

Leave out pending items; use only posted transactions so totals match your statement.

Once it's clean, the free Bank CSV Categorizer can sort and total it in your browser. See also the year-end bookkeeping spreadsheet guide.

Frequently asked questions

Why won't my bank CSV amounts add up in a spreadsheet?

They are often stored as text, with dollar signs, commas or parentheses. Convert them to numbers, for example with VALUE and SUBSTITUTE, and treat parentheses as negatives.

How do I combine separate Debit and Credit columns?

Make one signed Amount column with =N(Credit)-N(Debit), so money in is positive and money out is negative.

Should I include pending transactions?

No. Use only posted transactions so your totals match the bank statement.

Want more than a quick fix?

Just starting out? Grab the free Starter Expense Tracker (pay what you want, $0 is fine).

Guides