Free Xero CSV Validator
Catch every import error before Xero does. Drop a CSV, pick your document type and region, and get an instant row-by-row report.
Your browser cannot run this tool
The validator runs entirely in your browser and needs a recent one. Please update, or try the latest Chrome, Edge, Firefox, or Safari 16.4 and newer.
Drop your CSV here or click to browse
CSV or .txt files only, up to 10 MB
Parsing...
Skip the template entirely
EntryRocket reads your files as-is - no reformatting, no column renaming, no template matching. Send files by email and they land in Xero automatically.
Drop a CSV file above to see validation results.
What this tool checks
File-level checks
- • Valid CSV with correct delimiter (comma vs semicolon)
- • UTF-8 encoding
- • BOM detection
- • Header row present and valid
- • Consistent column counts
- • Trailing blank rows
- • Row limits (500 for invoices/bills, 1,000 for bank statements)
Date checks
- • Consistent date format across all rows
- • No ISO format (Xero rejects YYYY-MM-DD)
- • No named months (Xero rejects 15-Mar-2026)
- • Format matches selected region
- • Ambiguity detection (days ≤ 12)
- • Invalid calendar dates flagged
Invoice & bill checks
- • Required headers present and exactly spelled
- • Near-miss header suggestions
- • Required values present per row
- • Multi-line grouping consistency
- • Due date before invoice date warning
- • Invoice count and line item count summary
Number checks
- • Currency symbols in amount fields
- • Thousands separators
- • Parentheses indicating negatives
- • Empty required numeric fields
What this tool cannot check
Because the validator runs entirely in your browser, it cannot access your Xero organisation's data. The following fields are shown in an info card with the distinct values found in your file so you can cross-reference them manually:
- • Whether ContactNames exist in your Xero contacts
- • Whether AccountCodes exist in your chart of accounts
- • Whether TaxType names match your Xero tax rates
Frequently asked questions
Is my data safe?
Yes. Everything runs locally in your browser using JavaScript. Your CSV file is never uploaded to any server. You can disconnect from the internet after loading this page and the tool still works.
What file size can I validate?
The tool accepts files up to 10 MB. For larger files, Xero's own row limits (500 rows for invoices/bills, 1,000 for bank statements) mean you'd need to split them anyway.
Why are some dates flagged as ambiguous?
When every date in your file has a day value of 12 or below (e.g. 03/06/2026), Xero cannot tell whether it's DD/MM or MM/DD. Xero silently assumes whichever matches your organisation's region setting. If your org is set to US but the dates are actually DD/MM, dates get silently misread - the most dangerous type of import error. The validator flags this and asks you to confirm your region.
Can I fix my CSV file with this tool?
The current version shows you exactly what's wrong and where. An auto-fix feature is coming soon that will let you download a corrected CSV for mechanical issues like date format conversion, delimiter changes, and encoding fixes - all still running in your browser.
How is this different from just trying to import into Xero?
Xero's import errors are often vague ("Import failed" with no row numbers). The validator shows you every issue, on every row, before you upload - with specific fix hints. It also catches the silent failures that Xero doesn't report, like date ambiguity where Xero imports all dates on the wrong day.