Cleanrow

Clean up a bank CSV export for import

Your bank lets you download a CSV, but your accounting app rejects it, or imports it with the signs backwards and the dates in the wrong month. Cleanrow reads the bank's CSV in your browser, asks about anything it can't know, and writes a clean file in the layout you need.

Why bank CSVs don't import cleanly

Every bank invents its own CSV. The usual differences, all of which Cleanrow handles:

Step by step

  1. Open the converter and drop the CSV on Drop statements here, or click Choose files. Several exports at once is fine.
  2. Cleanrow finds the header row and suggests which column is which. Check them under Columns: Date column, Description, and under Amounts one of One amount column, money out negative, Separate money out and money in columns, or An amount column plus a column that says in or out. First rows of the file as it is shows the raw file underneath.
  3. Answer what it asks. A file marked Needs your choices lists them under Before this file can be downloaded: usually the Date order, what an unfamiliar type value means (What each value means), or, when nothing in the file proves which way money moved, one row you're sure of (Confirm the signs: A row you know and Which way it went).
  4. If the file has a balance column, map it as the Running balance column: Cleanrow then checks every row against it (below).
  5. Optional: Save this mapping as a name and click Save. Next month's export from the same bank is mapped for you. Only the header names and column choices are saved, in this browser, never rows.
  6. Under Download, pick the Format your app imports (CSV, a QuickBooks Online or Xero CSV layout, OFX, QIF or Excel), the Date format, and click the download button.

Examples

A card export with Debit and Credit columns

A made-up credit card export, as the bank wrote it:

Transaction Date,Posted Date,Card No.,Description,Category,Debit,Credit
2026-01-03,2026-01-04,4821,RIVERBEND HARDWARE,Merchandise,45.10,
2026-01-05,2026-01-05,4821,PAYMENT THANK YOU,Payment/Credit,,500.00
2026-01-09,2026-01-10,4821,STREAMLY*SUBSCRIPTION,Entertainment,15.99,
2026-01-12,2026-01-13,4821,"RETURN: BLUE HERON BOOKS",Merchandise,,22.50

Cleanrow recognises the Debit and Credit columns and the year-first dates, needs no questions, and writes this in the QuickBooks Online 3-column layout:

DateDescriptionAmount
01/03/2026RIVERBEND HARDWARE-45.10
01/05/2026PAYMENT THANK YOU500.00
01/09/2026STREAMLY*SUBSCRIPTION-15.99
01/12/2026RETURN: BLUE HERON BOOKS22.50

Purchases are negative and the payment and the return positive, from the cardholder's side.

Dates that fit both orders

Date,Description,Amount
01/02/2026,NIMBUS WIRELESS,-55.00
03/04/2026,FIBERLINK INTERNET,-70.00
05/06/2026,REFUND LUMEN HOME GOODS,19.99

Every date here is valid as month-first and as day-first, so the converter refuses to guess: "Every date fits both MM/DD and DD/MM. Choose the order before exporting." Nothing downloads until you choose Date order. If even one date in a file has a day above 12 (like 25/01/2026), the order is settled by that date and you aren't asked.

A UK export with pound signs and a running balance

Date,Description,Money out,Money in,Balance
03/01/2026,THISTLE GROCERS,£12.40,,£988.60
05/01/2026,SALARY BLUEFIN LOGISTICS,,"£2,100.00","£3,088.60"
25/01/2026,COUNCIL TAX DD,£145.00,,"£2,943.60"

The day-first order comes from 25/01/2026, the pound signs and thousands separators are dropped, and Money out and Money in become one signed amount. Because the file has a balance column, every row is checked against it and the file shows Verified:

DateDescriptionAmountBalance
2026-01-03THISTLE GROCERS-12.40988.60
2026-01-05SALARY BLUEFIN LOGISTICS2100.003088.60
2026-01-25COUNCIL TAX DD-145.002943.60

Common problems

The signs come out backwards

Some banks write money out as a positive number in a single amount column. Tick Money out shows as positive in this file (flip every sign), or confirm one row you know, and the whole file follows.

The same transactions in two exports

Exports that overlap (January to March, then March to May) can be merged into one file, oldest first. Rows with the same date, amount and description are highlighted as possible duplicates and kept: two coffees on the same day are real, so Cleanrow never deletes a row for you.

"This looks like an Excel or zip file"

The converter reads CSV and other delimited text, not .xlsx workbooks. Open the workbook and save the sheet as CSV first.

What the balance check can prove for a CSV

With a running balance column, Cleanrow checks that each balance follows from the one before it plus the row's amount. That proves the rows agree with each other and the signs are right. Bank CSVs rarely include an opening balance, so it can't prove that no row is missing before the first one; the banner says so. Without a balance column the file shows No balances in this file, can't verify: compare the totals with your bank before you rely on them. More on the balance check.

Your file stays on your computer

The CSV is read and rewritten in the browser tab; nothing is uploaded. Saved mappings stay in this browser's local storage and hold header names and column choices only. The page may contact one outside address, Polar's license check, when you enter a pass key. See the privacy policy.

Limits

The 7-day pass isn't on sale yet. Until it is, the free download of your first file works as described.

Related guides