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-0012How 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.
| Xero Error Message | Root Cause in Bank CSV | How to Fix |
|---|---|---|
| The file uploaded does not contain valid statement data | Trailing blank rows, bank summary totals, or missing header row | Strip empty rows and remove opening/closing balance rows |
| There was a problem importing the file | Currency symbols ($/£), commas in amounts, or (parentheses) for negatives | Normalize amounts to clean signed numbers like -100.00 |
| Amounts imported with reversed signs | Debit and Credit columns mapped in reverse orientation | Use 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 organization | Select 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.