A bank statement CSV can look correct in a spreadsheet and still fail when you import it into Xero.
The problem may be an unsupported date format, incorrectly signed transaction amounts, column mapping, or rows that Xero cannot interpret.
Sometimes the import succeeds but the resulting transactions still need review.
This guide explains how to diagnose common import problems, prepare a correctly structured CSV, and compare the transaction data against the original statement.
The instructions reference Xero's US documentation. Requirements and available workflows can differ by region and subscription.
Common Xero CSV import problems
| Symptom | Possible cause | What to check |
|---|---|---|
| No valid statement data | Invalid dates, empty rows or malformed values | CSV structure and date formatting |
| Dates interpreted incorrectly | Ambiguous day/month ordering | Source statement and selected date format |
| Transaction amounts reversed | Incorrect amount signs | Money received versus money spent |
| Incorrect column mapping | Fields assigned to the wrong columns | Xero import mapping settings |
| Transactions rejected | Invalid or unsupported transaction values | Affected rows and error messages |
| Unexpected duplicate transactions | Overlapping bank feeds or previous imports | Existing statement lines and date ranges |
| Large import fails | File-size or timeout restrictions | Current Xero troubleshooting guidance |
These are possible causes, not guaranteed explanations for every error.
Reference: Xero bank statement import troubleshooting.
1. Check the transaction dates
Ambiguous dates are a common problem.
For example, 05/10/2026 could represent May 10 or October 5.
Use a date format supported by your Xero import workflow, and apply it consistently to every transaction.
For this guide, we use:
YYYY/MM/DD
Example:
2026/10/05
Always compare dates with the source bank statement before changing their format.
If Xero remembers an earlier import configuration, confirm that the selected date format still matches the new CSV.
2. Check the amount signs
Xero's documented CSV bank statement template uses a single Amount column, with positive and negative values.
- Money received: positive.
- Money spent: negative.
- Decimal separator: period.
Example:
| Transaction | Amount |
|---|---|
| Customer payment | 400.00 |
| Software subscription | -60.00 |
| Bank charge | -25.00 |
Some bank exports use separate columns for deposits and withdrawals.
When preparing data for the single-Amount template, combine them carefully without changing the underlying transaction direction.
Check the source account type and bank conventions before interpreting the signs.
3. Review the column mapping
When importing a CSV, Xero allows users to map source columns to statement fields.
A prepared file may contain:
| Source column | Intended Xero field |
|---|---|
| Date | Transaction Date |
| Amount | Transaction Amount |
| Payee | Payee |
| Description | Description |
| Reference | Reference |
Transaction Date and Transaction Amount are essential mappings.
If Xero remembers a previous mapping, review it when the CSV structure has changed.
Do not assume matching column names prove that the data itself is correct.
For detailed instructions, consult Xero's CSV bank statement preparation guidance.
4. Worked example: an unsuitable CSV and a corrected version
The following is a synthetic example created to demonstrate CSV preparation.
It is not a real customer statement, an independently tested Xero import, or a BANKTRUST processing result.
Suppose the original bank statement contains:
| Date | Description | Money in | Money out |
|---|---|---|---|
| October 5, 2026 | Customer payment | 400.00 | |
| October 6, 2026 | Software subscription | 60.00 | |
| October 7, 2026 | Bank charge | 25.00 |
Before: source-style CSV
Date,Description,Money In,Money Out
05/10/2026,Customer payment,400.00,
06/10/2026,Software subscription,,60.00
07/10/2026,Bank charge,,25.00
This example has two potential issues:
- Its dates may be ambiguous unless the day/month convention is known.
- Amounts are split between two columns rather than the single signed Amount column used in the intended Xero template.
This does not mean Xero necessarily rejects this exact file. The example illustrates why preparation and mapping matter.
After: prepared CSV
Date,Amount,Payee,Description
2026/10/05,400.00,Customer,Customer payment
2026/10/06,-60.00,Software Provider,Software subscription
2026/10/07,-25.00,Bank,Bank charge
The revised example uses consistent dates and one signed Amount column.
The Payee values are illustrative, not extracted from the source statement. In real bookkeeping, use accurate source information and confirm the current Xero template and mappings.
5. Reconcile the prepared data against the statement
A valid CSV structure does not guarantee that every transaction has been extracted correctly.
Before importing, compare the transactions against the original statement.
Continuing the synthetic example:
| Verification item | Amount |
|---|---|
| Opening statement balance | $1,000.00 |
| Deposits | +$400.00 |
| Withdrawals | -$85.00 |
| Calculated closing balance | $1,315.00 |
| Statement closing balance | $1,315.00 |
| Variance | $0.00 |
The calculation is:
$1,000.00 + $400.00 - $85.00 = $1,315.00
The extracted net movement reconciles mathematically with the statement balances.
However, zero variance does not guarantee every individual transaction is correct. Equal and opposite errors can cancel, and descriptions or dates may still be wrong.
Review individual entries in addition to the statement-level arithmetic.
The opening and closing balances are used here for verification. They are not transaction rows to include in the prepared CSV.
6. Import the CSV into Xero
Xero's documented US workflow generally follows these steps:
- Open Accounting → Bank accounts.
- Select the intended bank account.
- Choose Import a Statement from the account options.
- Upload the prepared CSV.
- Review or assign the CSV column mappings.
- Confirm the date format when prompted.
- Review the import summary, including warnings or errors.
- Exclude any transactions that should not be imported.
- Complete the import.
Interface labels may change. Follow Xero's current import instructions if your screen differs.
After importing, review the bank statement lines and reconcile them against the relevant accounting transactions.
Importing statement lines is not the same as completing reconciliation.
7. What if Xero still rejects the CSV?
Start with Xero's actual error message.
Check:
- Missing or invalid transaction dates.
- Inconsistent date formats.
- Unexpected spaces or empty rows.
- Non-numeric values in amount columns.
- Incorrect decimal separators.
- Old column mappings applied to a new file.
- Invalid transaction amounts.
- Overlapping statement periods.
- File size or import timeout errors.
If necessary, download the current Xero CSV template and prepare the source data again.
Some Xero help pages describe different import limits. Check the documentation applicable to your organization's region and workflow rather than relying on a universal row limit.
See Xero's troubleshooting guide.
8. What if the original statement is a PDF?
First check whether your bank provides a compatible transaction export.
Xero also supports native PDF statement imports in certain regions and plans, including documented availability for eligible US and Canadian organizations.
Hubdoc offers another statement extraction workflow.
If you have a BANKTRUST-supported digital PDF, BANKTRUST can extract transactions and evaluate whether the statement reconciles before providing its Xero CSV output.
Its verification model distinguishes:
- TRUSTED: Required balances are present, variance is zero, and no blocking anomalies are detected.
- REVIEW: Contradictions or blocking problems require review.
- DRAFT: Unsupported or unsuitable inputs cannot be treated as verified.
BANKTRUST V1 does not provide OCR and does not support every bank statement format.
These checks do not guarantee that Xero will accept every CSV or that every individual transaction field is correct.
For the supported conversion workflow, visit BANKTRUST PDF to Xero.
For general statement preparation, see How to Clean Up PDF Bank Statements for Bookkeeping.
Frequently asked questions
Why does Xero say my CSV contains no valid statement data?
Potential causes include date formatting, blank rows, invalid amounts, mapping problems, or malformed CSV content. Use the exact error message to narrow the problem.
Does Xero require separate debit and credit columns?
Xero's documented CSV template workflow uses one signed Amount column for money received and money spent.
Why are my dates importing incorrectly?
Your CSV date convention may differ from the import setting. Confirm the dates against the original statement and use a consistent supported format.
Can Xero import PDF bank statements directly?
Native PDF importing is available for certain organizations and plans. Check Xero's region-specific documentation.
Does importing a CSV automatically reconcile my books?
No. The imported statement lines still require appropriate review, matching and reconciliation in Xero.
Final checklist
Before completing your import, check the date format, signed amounts, column mappings, statement period, potential duplicates and balance arithmetic.
When a supported PDF statement needs structured extraction and statement-level verification before export, see BANKTRUST's PDF-to-Xero workflow.
Further documentation: Xero CSV imports and Xero troubleshooting.