Skip to main content
Bankflow

Free tool

Reformat a bank CSV for QuickBooks, Xero, or Sage.

Turn any bank's CSV into the exact layout your accounting software's bank upload expects.

Read in your browser. Never uploaded.

Any bank's CSV works, with or without account details above the header.

What gets fixed on the way through

The preamble above the header

Account names, statement periods, and blank lines above the real header are found and skipped, and so are total rows and page footers under it. Every skipped line is listed, so nothing disappears without a reason.

Dates, read once, written your way

The date column's format is detected from all of its values. When every date could be read both ways, as 03/04 can, the tool says so and asks, rather than booking a month of transactions on the wrong days.

Debit and credit into one signed amount

Separate money in and money out columns become one amount with money out negative, the convention every importer here reads. A card export that writes charges as positive can be flipped with one tick.

Amounts as banks print them

Currency symbols, thousands separators, (brackets) for negatives, a trailing minus, DR and CR suffixes, and decimal commas are all read into plain numbers.

The destination's own headers

QuickBooks Online's 3-column (Date, Description, Amount) and 4-column (Date, Description, Credit, Debit) uploads, Xero's Date, Amount, Payee, Description, Reference, and Sage's Date, Amount, Description.

Split where the importer needs it

QuickBooks Online takes up to 1,000 transactions per upload, so a longer file downloads as numbered parts, oldest first. Payees that begin with = or + are written as text so a spreadsheet cannot run them as formulas.

Questions

What CSV format does QuickBooks Online accept for bank transactions?
A 3-column layout of Date, Description, and Amount, with money out negative, or a 4-column layout of Date, Description, Credit, and Debit, with both written as positive numbers. The upload asks which one you have and which date format it uses.
Why does QuickBooks or Xero put transactions on the wrong dates?
Neither complains when handed the other date order: 04/03/2026 read month first is the 3rd of April, and read day first is the 4th of March. The formatter shows how the first rows will be read before you download, and warns when the source dates are ambiguous.
Which date format should I choose for Xero?
Day first outside the US, which is the default here and how Bankflow's own Xero export writes dates. An organisation set up in the US reads month first.
My bank CSV has Debit and Credit columns. Does that work?
Yes. Choose “Separate money in and money out” if the guess has not already, and pick both columns. Each row becomes one signed amount, or stays as Credit and Debit if you choose QuickBooks' 4-column layout.
Can it read an OFX or QBO file instead?
Yes. OFX, QBO, QFX, and QIF files are read without the column step, since the format already says which field is which, and come out in whichever CSV layout you pick.
Is my bank CSV uploaded?
No. The file is read and reformatted in your browser, and the download is built there. Nothing is sent to Bankflow or anyone else.

Related: statements into QuickBooks, statements into Xero, and turning a CSV into a QBO file.

Starting from a PDF statement?

Bankflow reads the PDF, reconciles the rows against the balances the statement prints, and exports straight to the QuickBooks, Xero, Sage, or NetSuite layout, with no column mapping.

50 free page credits · No card