Skip to main content
Runs in your browser. Your file is never uploaded.

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.

Drop your CSV here or click to browse

CSV or .txt files only, up to 10 MB

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.

Also read