LedgerDrop

Bank statement CSV import errors in QuickBooks and Xero, and how to fix them

Published 8 October 2026 · by Tekiba

Short answer: a refused bank CSV almost always fails on one of ten things: dates, columns, how amounts are written, which way they point, zeros, odd characters, file size, the account, rows already there, or a balance that no longer adds up. Each section gives the message, the cause in Intuit's or Xero's words, and the fix.

Quotations are from their help pages, read on 8 October 2026. For the shape each program wants in the first place, see how to import a bank statement CSV into QuickBooks, Xero or Excel.

1. “The file you uploaded does not contain valid statement data”

This is Xero's message, and its page on resolving manual import errors lists what causes it: the date format set in Xero is wrong, “There are leading or trailing spaces in the date column”, “The statement contains blank lines”, the data is not prepared correctly, or the file is corrupt.

Fix: delete the blank lines, trim the spaces round the dates, and import again. If it comes back, Xero suggests pasting your rows into its own template, as the file may be damaged.

2. The dates are refused or come in on the wrong day

Both programs want every date in one format. Intuit's manual upload page: “Enter all Dates in the same format. We recommend the dd/mm/yyyy format.” Its common errors page adds: “Check the date format to make sure it matches the one you chose at the mapping stage.” A bank that writes the weekday into the date — Intuit's example is 20/11/2022 TUE — has to have it split into its own column.

Xero's CSV import page lists DD/MM/YYYY, MM/DD/YYYY and YYYY/MM/DD, and several shorter forms after them. A year-first date with hyphens, 2026-10-08, is not among them.

Fix: rewrite the column in one listed format. Rows a month out mean day-first was read as month-first; why Excel changes the dates in your bank CSV shows how that happens before the import.

3. The columns do not map

QuickBooks takes exactly 3 or 4 columns: “Each file needs either 3 (Date, Description, Amount) or 4 (Date, Description, Credit, and Debit) columns.” Intuit's first suggestion for a refused file is the mapping: “Make sure you have chosen the correct columns in the mapping stage. QuickBooks will not be able to read the data otherwise.” It also suggests deleting the columns you do not need.

Xero: “The Transaction Date and Transaction Amount fields must be assigned to columns from your CSV file.” It fails with “Data doesn’t match” when a heading is assigned to the wrong field — its example is the Transaction Date field set against the Payee column. It also wants the opening and closing balance columns deleted, “as Xero calculates the bank balance from the transactions”.

Fix: remove the balance column and anything else extra before uploading, then check each column against the field it is assigned to.

4. “The uploaded file contains invalid transaction amount information”

Intuit's page on bank upload errors gives one cause for this message: “This can happen if one of your transactions has 12 or more digits.” Its fix is to enter that row by hand and upload the rest. Otherwise, look at how they are written: Intuit asks for currency symbols and thousands commas to go (“it is best to keep the amounts column as simple as possible”), and Xero says the amount column “must only contain numbers” and “Don't use commas to show decimal places.”

Fix: plain numbers, a point for the decimal, no currency sign, no thousands separator.

5. Everything came in the wrong way round

No error appears; deposits arrive as spending. In one signed column Xero wants “income as positive amounts and expenses as negative amounts”, and for a credit card, “credit card payments as positive amounts and purchases as negative amounts”. QuickBooks' four-column layout is the one that catches people out: in Intuit's worked example, the payment of 100.00 is under Credit and the deposit of 200.00 under Debit.

The same layout has a trap of its own. “If you are using a CSV file with a debit and credit column, but you only have Money Out transactions in the period, this could give you an error when you try to upload the file.” Intuit's workaround: add one positive line and untick it on the last screen.

Fix: swap the columns or flip the sign, delete the wrong rows, and import again. Should debits be negative in a bank CSV? explains the two conventions.

6. Rows with an amount of zero

Intuit asks for zeros to go: “Leave any cells in Amount, Credit, or Debit that only contain zero (0) blank.” Xero will not take a zero row at all: “transactions of $0.00 can’t be imported as there's nothing to reconcile.”

Fix: blank the zero cells for QuickBooks; for Xero, untick the zero rows on the review screen or delete them.

7. Special characters in the descriptions

Intuit: “Special characters in the bank description can prevent you from importing your file. Look out for these and remove them before trying to upload the file again.” The upload page also says the file “must be in English”, and asks you to “Remove numbers from cells in the Description column.”

Fix: find and replace the characters QuickBooks will not take.

8. The file is too big, or the upload times out

QuickBooks takes 1,000 lines per upload and 350 KB a file; its advice for anything larger is to “shorten the date range and download transactions in smaller batches.” “We were unable to upload the file” is, in Intuit's words, a timeout: wait a few minutes and try again.

Xero accepts up to 100,000 rows in a file, but its troubleshooting page says a timeout “usually means your file contains more bank transactions than Xero can import at one time”, and to split the file “if it contains more than 1,000 bank transactions.”

Fix: split by date, a month or a quarter per file, so nothing is imported twice.

9. The file is going into the wrong account

QuickBooks says “The uploaded file is of a different type than these accounts” when, for instance, “you chose checking but you're uploading transactions from your savings account.” It also refuses subaccounts: “Make sure you don't import to a subaccount, which is a current limitation.” Xero's instruction is one file per account: “If you have multiple bank accounts, download a file for each account separately.”

Fix: cancel and choose the right account, or keep each account's statements in their own files from the start.

10. Duplicates, and a balance that no longer matches

Xero skips rows it already has — “Transactions matching those already in Xero will be treated as duplicates and won’t be imported” — but its own page warns that “Duplicate bank statement lines can occur if a bank statement is manually imported into an organisation, as well as imported via a bank feed.” Its page on duplicate statement lines: “If the statement balance that shows in Xero is different to your actual bank balance, this could be a sign that duplicate statement lines have been imported”, and the Duplicate Statement Lines report finds them by date and amount. QuickBooks asks you to check your chart of accounts first, and to make sure the statement “starts at least one day before your oldest QuickBooks transaction in that account.”

Fix: before importing, check that the file adds up and that its dates do not overlap what is already there. Merging 12 months of statements without duplicates covers the overlap.

Convert a statement → LedgerDrop reads the PDF in your browser, shows every row and checks them against the statement's printed balances, free at any length. The free CSV has five columns and ISO dates: for QuickBooks or Xero, remove the Balance and Check# columns and rewrite the dates. LedgerDrop Pro ($39 once) writes QuickBooks' three- and four-column layouts with day-first dates and blank zeros, and Xero's with no balance column and slashed dates, and warns past each program's documented size.

What this page cannot tell you

These are the causes Intuit and Xero publish, read on one day; nothing was tested by importing into either, and both change their screens. Neither page describes comparing your file with the statement it came from, so check the balances first: how to check a converted bank statement CSV for errors.

Questions

Why does QuickBooks say my bank CSV has invalid transaction amount information?

Intuit gives one cause: a transaction with 12 or more digits, which QuickBooks cannot upload. Take that row out, enter it by hand, and upload the rest. If no amount is that large, look for currency symbols or thousands commas in the amount column and remove them.

Why does Xero say the file does not contain valid statement data?

Xero lists a date format that does not match its setting, spaces before or after the dates, blank lines, data that is not prepared correctly, or a damaged file. Remove blank lines and spaces and import again; if it still fails, paste the rows into Xero's own template.

Why are all my transactions the wrong way round after importing?

The signs or the two columns were the other way round from what the program expects. Xero wants money in positive and money out negative in one column. In QuickBooks' four-column layout, Intuit's own example puts a payment under Credit and a deposit under Debit.

How do I stop the same transactions importing twice?

Check the dates in your file against what is already in the account before you import. Xero skips rows that match what it already has and has a Duplicate Statement Lines report for the ones that slip through; QuickBooks asks that the statement start at least one day before your oldest transaction in that account.

Also: QBO vs OFX vs QIF, if a CSV keeps failing and the program accepts another file type.