XERO BANK STATEMENT CSV CHECK · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Why won't my bank statement CSV import into Xero?

Drop in a bank statement CSV and get every problem with its line number: account details above the header, separate Debit and Credit columns instead of one Amount, amounts like 1.234,56, (18.00) or $12.50, dates the file cannot prove the order of or that mix day-first and month-first, rows downloaded twice, and cells a spreadsheet damaged. Then download a repaired CSV in Xero's column layout.

The file is read in this browser tab and never leaves your device; bank files hold account details, so that matters. This checks the file against what Xero's statement import is documented to expect, not against Xero itself. For OFX, QFX or QBO use the OFX file check; for QIF use the QIF file check. Independent of every product named.

1. Your statement CSV

A .csv download from your bank, or its text pasted below. Comma, semicolon and tab separators are read.

Choose a file or paste the text, then click Check file.

The rules, and what they leave out

Common questions

Why does Xero say my bank statement CSV could not be imported?

The usual causes are rows above the header (account details or a title), separate Debit and Credit columns instead of one Amount column, an amount with a currency symbol, brackets or a thousands separator, a date Xero cannot read in the format you chose, and a quoted field that never closes. This tool reads the file, names each problem with its line number, and writes a repaired CSV.

Why did my dates import as the wrong month?

A date such as 03/04/2024 does not say whether it is 3 April or March 4, and the file has no field to declare it; you choose the format in Xero's import step. This tool reads the whole file: any date like 13/01/2024 proves day-first and any date like 01/13/2024 proves month-first. If every date has both numbers 12 or under it says the order cannot be proven and tells you to pick the format your bank uses and spot-check one row.

My bank gives me separate Debit and Credit columns. What do I do?

Xero takes one Amount column with money out as a negative number. The repair merges the two columns, writing the debit amount with a minus sign and the credit amount as it is. Rows where both columns are filled, or neither, are reported and left for you.

Why were transactions imported twice?

A statement downloaded twice, or two overlapping date ranges, repeats rows. The checker flags rows with the same date, amount and text so you can trim the overlap before importing. If two of them are genuinely separate payments, ignore the flag.

Does it change my file without telling me?

No. Every change is listed. Only provable fixes are made: dropping rows above the header and blank rows, renaming columns to Xero's names, dropping columns Xero does not read, merging Debit and Credit, plain-decimal amounts, and, if you ask, dates rewritten in a four-digit-year format in an order the file proves or you confirm. Garbled amounts, mixed date orders and ragged rows are reported and left for you.

Is my file uploaded anywhere?

No. It is read in your browser tab and a test in the code asserts there are no network calls. Bank files contain account details, so do not paste one into a tool that uploads it.