What you see
You import a bank statement CSV into a bank account in Xero and see "The file you uploaded does not contain valid statement data. Please check the file".
Why it happens
Xero Central says the error can occur because "The date format set in Xero isn't correct", "There are leading or trailing spaces in the date column", "The statement contains blank lines", "The data in the file isn't prepared correctly" or "The file is corrupt".
Bank exports often add title rows, balance rows or blank lines around the table, and payment app exports add times to the date.
Xero's fix for a file that keeps failing is to download its bank statement template, copy the data into it, save it and import again.
How to fix it
- Drop your CSV into the converter above.
- Under "Xero organisation" choose United States for MM/DD/YYYY dates or Elsewhere for DD/MM/YYYY.
- Download the file. It has Xero's template columns, one date format, no spaces around dates and no blank lines.
- In Xero import it into the bank account and confirm the same date format if Xero asks.
What this does not fix
- Xero Central says to split a file with more than 1,000 bank transactions, or you may get a timeout error. The converter does not split Xero files, so export a shorter date range when your file is longer than that.
- Lines of 0.00 are left out, because Xero says they cannot be imported.
- Xero also stops an import when the statement currency does not match the bank account. The converter keeps one currency per file; import it into an account in that currency.
Before and after
Before: the bank CSV as downloaded
Account Name:,Sample Business Checking Account Number:,XXXX0000 Statement Period:,01/03/2025 - 31/03/2025 Date,Description,Debit,Credit,Balance 03/03/2025,OPENING DEPOSIT,,"2,500.00","2,500.00" 14/03/2025,"OFFICE SUPPLIES, INV 77",125.40,,"2,374.60" 15/03/2025,CLIENT PAYMENT - ACME SAMPLE LLC,,800.00,"3,174.60" 28/03/2025,MONTHLY SERVICE FEE,5.00,,"3,169.60"
After: what Xero receives
| *Date | *Amount | Payee | Description | Reference | Check Number |
|---|---|---|---|---|---|
| 03/03/2025 | 2500.00 | OPENING DEPOSIT | |||
| 03/14/2025 | -125.40 | OFFICE SUPPLIES, INV 77 | |||
| 03/15/2025 | 800.00 | CLIENT PAYMENT - ACME SAMPLE LLC | |||
| 03/28/2025 | -5.00 | MONTHLY SERVICE FEE | |||
| 03/28/2025 | -10.00 | 12345 |
Synthetic sample data that follows the real export layout, not a real account. The "after" output was produced from it by the same converter this page runs.
Import the fixed file into Xero
- In Xero open Accounting > Bank accounts and choose the account.
- Click Manage account > Import a statement.
- Choose this CSV and click Import.
- Check the column mapping (Date, Amount, Payee, Description, Reference) and confirm the date format if asked.
Questions
- What does "does not contain valid statement data" mean in Xero?
- Xero could not read transactions from the file. Xero Central names the date format set in Xero, spaces in the date column, blank lines, badly prepared data and a corrupt file as the causes.
- Do I still need Xero's template?
- No. The converter writes the same columns as Xero's bank statement template: Date, Amount, Payee, Description, Reference and a cheque number column.
- How many transactions can one Xero import have?
- Xero Central says to split the file if it contains more than 1,000 bank transactions, to avoid a timeout error.
Converters for this file
- CSV to Xero bank statement converter
- Bank CSV converter
- Import a PayPal activity CSV into Xero
- Import a Stripe balance report CSV into Xero
- Import a Venmo statement CSV into Xero
Related import problems
Sources
The rules on this page come from these help pages, checked 2026-11-13. Software changes; if your screen says something different, the help page is the authority.