Text and data

How to Fix a Xero Bank CSV Import

When Xero rejects a bank statement CSV with cryptic error messages, the issue is almost always structural: separate debit and credit columns, embedded currency symbols, bracketed negative amounts, or trailing summary balances. Use Xero CSV Validator & Fixer to audit, clean, and consolidate your statement into a standard Xero import file locally in your browser before uploading.

Visual pipeline showing raw bank CSV validation, debit and credit consolidation, currency cleanup, totals verification gate, and clean Xero CSV candidate generation.
Browser-based Xero CSV processing pipeline: parse bank export, merge dual amount columns into a signed single amount, clean currency junk, and confirm ledger totals.

What to run

Open Xero CSV Validator & Fixer and select or paste your bank statement CSV file. The file is analyzed strictly inside your browser and is never uploaded to any remote server.

Select your organization profile. Choose UK / AU / NZ / Global (DD/MM/YYYY) or United States (MM/DD/YYYY) so calendar dates match your Xero organization settings.

Review the detected column mapping. If your bank export splits withdrawals and deposits into separate Debit and Credit columns, ensure both columns are mapped. The tool merges them into Xero's required single signed Amount column.

Check the orientation toggle. In standard banking statements, Money In (deposits) is positive and Money Out (debits) is negative. For credit cards or inverted ledger exports, flip the orientation toggle to reflect card charges accurately.

Date,Payee,Description,Amount,Reference
20/11/2026,Office Supplies Co,Stationery and toner,-124.50,INV-8821
21/11/2026,Acme Client Ltd,Consulting retainer fee,1500.00,REC-9942
22/11/2026,Cloud Hosting Inc,Monthly server hosting,-45.00,SUB-0012

How to read the result

Load example provides four synthetic transactions with Money Out of 187.75 and Money In of 1,500.00. The source quotes its comma-containing amount as a single CSV field; unquoted separators can shift columns and cannot be repaired by guessing. Inspect the statement totals summary card. Compare total Money Out (spend) and Money In (receipts) against the opening and closing summary of your official PDF or paper bank statement. Do not export the file if these totals do not agree.

Check the notices and auto-repairs list. The validator automatically detects and purges trailing empty lines, removes bank balance summary rows (such as "Closing Balance"), and strips embedded currency symbols ($ / £ / €) and thousands commas.

Resolve any blocking row errors. Records with unparseable dates, zero amounts, or non-numeric cells in the amount column will be flagged. Xero strictly rejects zero-dollar line items and corrupted date strings.

Verify the candidate preview table. Confirm that the first 50 rows show clean RFC 4180 headers: Date, Amount, Payee, Description, and Reference.

Common Xero CSV Import Errors and Fixes
Xero Error MessageRoot Cause in Bank CSVHow to Fix
The file uploaded does not contain valid statement dataTrailing blank rows, bank summary totals, or missing header rowStrip empty rows and remove opening/closing balance rows
There was a problem importing the fileCurrency symbols ($/£), commas in amounts, or (parentheses) for negativesNormalize amounts to clean signed numbers like -100.00
Amounts imported with reversed signsDebit and Credit columns mapped in reverse orientationUse the Debit/Credit orientation toggle to flip signs before import
Transactions imported under wrong dates (e.g. May 10 vs Oct 5)US MM/DD/YYYY vs UK/AU DD/MM/YYYY mismatch with Xero organizationSelect explicit regional profile to standardize date format

What to open next

If your raw export has corrupted character encoding or non-standard delimiters (like semicolon or pipe), open CSV Fixer to inspect byte encodings before re-running the Xero validator.

If you also manage accounts in QuickBooks or require Web Connect containers, use Bank CSV to OFX / QBO Converter or check your files with QuickBooks CSV Validator.

Once candidate totals are confirmed, check the confirmation box and click Download Clean Xero CSV. In Xero, navigate to Accounting > Bank Accounts > Manage Account > Import a Statement, select your downloaded candidate, and verify the mapped columns.

Stop when

Stop when the Money In and Money Out totals exactly match your bank statement, zero blocking row errors remain, and all amounts use standard decimal notation without currency symbols.

Always retain your original bank statement export alongside the cleaned candidate file for your permanent audit trail.

References

Use the linked specifications and product documentation to check behavior in your own environment.

Continue troubleshooting

Related tools

Frequently asked questions

Does Xero support separate Debit and Credit columns?

Xero can map dual columns during manual upload, but its standard statement template requires a single signed Amount column. Our tool consolidates Debit and Credit automatically to eliminate mapping errors.

Why does Xero reject files with currency symbols?

Xero expects pure floating-point numbers in amount columns. Currency symbols like $, £, or € cause the parser to treat the cell as text, resulting in immediate row rejection.

Will zero amount rows import into Xero?

No. Xero rejects bank statement lines with zero amounts (0.00). The validator flags zero rows as blocking errors so you can remove or adjust them before importing.

Are bank CSV files stored or logged on your servers?

Never. All validation, number parsing, date formatting, and CSV exports occur entirely within your client browser. No transaction data or financial figures ever leave your computer.

Need help with a tool or found a bug?

Report an issue directly to engineering. No accounts required — all client data remains private on your device.

Report an Issue →