SimpleBankConvertSimpleBankConvert home

Xero Bank Statement Import Failed? Common Causes

By SimpleBankConvertPublished October 17, 2026

When a Xero bank statement import failed, the file is almost always the cause, not Xero. Check five things in order: the file type, the date format, the amount column, blank rows and whether the dates overlap lines Xero already holds. Most failures trace to one of these, and each takes a few minutes to fix.

Which files will a Xero bank statement import accept?

Xero takes five kinds of statement file for a manual import. Xero Central's page about manually importing bank transactions lists them as OFX, QFX or QuickBooks files, QIF, PDF and CSV. A file in any other format, such as an Excel workbook saved as .xlsx, will be refused before Xero reads a single line.

The same page recommends OFX where possible. It says an OFX file can be imported without making any changes to the export your bank gives you. A CSV, by contrast, is a spreadsheet you or your bank laid out, so it carries every formatting choice along with it.

That difference explains most failed imports. OFX files fail rarely, and when they do it tends to be a problem inside the file the bank produced. Fixing a Xero OFX import error covers that case. CSV files fail far more often, because a single wrong cell can stop the whole file.

One more thing to rule out before blaming the file is your access. Xero Central says you need the administrator role, or the standard role with bank accounts access, to import a statement. If the import option is missing entirely, ask the person who manages your Xero users.

File type quick check

File extension Will Xero import it? Notes
.ofx, .qfx, .qbo Yes Xero's recommended route
.qif Yes Choose a date format if Xero prompts for one
.csv Yes Must follow Xero's column rules
.pdf Yes, per Xero Central Read the PDF section of Xero's own help for limits
.xlsx, .xls, .numbers No Save as CSV first

The "no valid statement data" message on a Xero import

"No valid statement data" means Xero opened the file but could not find statement lines it could read. Xero Central's guide to resolving errors when manually importing a bank statement says the message reads "The file you uploaded does not contain valid statement data" and lists five causes for it.

Those causes are:

  • The date format set in Xero does not match the dates in the file.
  • The date column has leading or trailing spaces.
  • The statement contains blank lines.
  • The data in the file is not prepared correctly.
  • The file is corrupt.

The first three are the ones to check by eye. Open the CSV in a spreadsheet and look at the date column. A date such as " 03/04/2026" with a space before it looks fine to a person and wrong to Xero. Scroll to the bottom as well, because many bank exports end with a blank row or a summary line such as "Closing balance".

If the same message returns after you have cleaned the file, Xero's guide says the file may be corrupt. Its fix is to download Xero's bank statement template, paste your data into it, save and import again. A fresh template removes any hidden formatting the old file carried.

Date and amount columns that sink a Xero CSV statement

The date and amount columns are the two Xero checks most strictly. Xero's troubleshooting guide says the date column must contain only data in a date format and the amount column must contain only numbers. Anything else in those columns, such as a currency sign, a word or a stray note, can fail the file.

Dates

Xero needs every date in the column to follow one format, and that format must match the one chosen in Xero's statement import options. A bank file that mixes "3/4/2026" with "2026-04-03", or a spreadsheet that turned some dates into text, will not import cleanly. If your dates come through in the wrong month rather than failing outright, the Xero CSV date error explains how to tell day-first from month-first dates and fix the column.

Xero's guide adds that if the date format or the column headers in your file have changed since your last import, you should edit the statement import options for the account. That setting remembers how the last file was laid out.

Amounts

Amounts must be plain numbers. Remove dollar signs and thousands separators, and make sure withdrawals carry a minus sign if the file uses one amount column. Xero's guide also mentions alignment: all the data in a column should be aligned the same way. A column where some cells are left aligned and others right aligned is a sign that some cells are text and others are numbers.

A quick test is to add up the amount column with a SUM formula. If the total comes out as zero or ignores some rows, those rows hold text, not numbers.

Timeout errors on a large Xero statement file

A timeout error usually means the file holds more transactions than Xero can import in one go. Xero's troubleshooting guide says you need to split the file if it contains more than 1,000 bank transactions. Files with precoded transactions may need to be split into even smaller batches.

Splitting by date is the cleanest way to do it. For a year of transactions from a busy account, one file per quarter or per month keeps each batch well under the limit and makes it easy to see which period has gone in.

When you split, keep the same header row at the top of every file and do not let the date ranges overlap. A transaction that sits in two files will import twice. Name each file by its date range, such as "checking 2026-01-01 to 2026-03-31.csv", so you can tick them off as you go.

Why did the Xero import fail when the file looks right?

A file that looks right can still fail on one of Xero's smaller rules. Xero's guide lists several: a $0.00 transaction cannot be imported, at least one line must be selected, a reference or cheque number can be too long, and the statement currency must match the bank account's currency.

Error messages and what they mean

The table below sums up the messages from Xero's troubleshooting guide, with the fix for each.

What Xero says or does Likely cause Fix
No valid statement data Wrong date format, spaces, blank rows, corrupt file Clean the file or paste into Xero's template
Timeout error More than 1,000 transactions Split into smaller files by date
Maximum character limit exceeded Reference over 255 characters or cheque number over 20 Shorten the cell
File type is invalid Wrong or damaged file Upload again, or try OFX, QIF or CSV instead
Transactional errors Lines Xero treats as invalid, such as $0.00 Remove or fix those lines
No transactions selected Every line unticked Tick at least one line
Data doesn't match Column assigned to the wrong Xero field, or a bad value Reassign the column or fix the value
Error completing the import Currency mismatch or a locked period Check the account's currency and lock date

Locked periods

The lock date case catches people out. If your accountant has locked the books up to a certain date, Xero's guide says an import into that period will be blocked. That is a sign to talk to your accountant, not to change the lock date yourself.

Wrong kind of file

Sometimes the file is not a bank statement at all. A list of supplier bills, for example, belongs in a different import with its own columns. If those bills are heading for QuickBooks Desktop rather than Xero, importing bills into QuickBooks Desktop covers that route.

Statement lines Xero already has from an earlier import

An import that overlaps dates already in Xero does not always fail, which is the bigger problem. The lines can go in a second time, and you end up with doubled statement lines to delete. Overlap is common after a failed attempt, a split file or a bank feed that started partway through the month.

Xero Central's page on manual imports says that when a bank feed starts, you should check for missing or duplicate transactions, and import missing ones or delete duplicates. The same check applies after any manual import.

The prevention is simple. Before you import, find the date of the last statement line Xero holds for the account. Start your file the day after. If the last line in Xero is dated 31 March, the new file should begin on 1 April, even if the bank's export starts earlier.

When the failed import half-worked

If an import failed partway through a set of split files, some batches may be in and others not. Check the statement lines in Xero for each date range before you import anything again. Import only the ranges that are truly missing.

A re-import checklist for a failed Xero statement

A failed Xero import is quickest to fix with a fixed order of checks. Work through the list below once, top to bottom, and fix whatever you find before importing again. Each step rules out one of the causes above, so you do not end up changing several things at once and not knowing which one helped.

The example file is made up: a CSV of 1,240 lines covering January to June for a checking account.

  1. Confirm the file type. The example is a .csv, which Xero accepts.
  2. Count the lines. 1,240 is over Xero's 1,000-line limit, so split it into two files: January to March and April to June.
  3. Check the dates. Every cell in the date column should use one format, with no spaces before or after.
  4. Check the amounts. Plain numbers only, a minus sign on money going out, no currency signs.
  5. Remove blank and summary rows. Delete the empty row and the "Closing balance" line at the end.
  6. Remove zero lines. Delete any $0.00 lines, which Xero will not import.
  7. Check text lengths. Keep references under 255 characters and cheque numbers under 20.
  8. Check the overlap. The last line in Xero is dated 31 December, so the first file starts on 1 January. Good.
  9. Import the first file, review the lines, then import the second.

If your statements only come as PDFs, typing them into a CSV is where many of these errors begin. SimpleBankConvert is being built to turn a PDF statement into a CSV laid out the way Xero's statement import expects, with dates in one format and one amount column. It is not open yet; join the list from the get started page to hear when it is.

All posts in Import errors