Skip to main content

Import CSV files into Xero, without reformatting

Xero accepts CSVs. It just doesn't accept your CSV.

The column names have to match Xero's template. The dates have to match your Xero organisation's region. The contact names have to match your Xero contacts exactly. The tax codes have to match your Xero tax rates exactly. Miss any of those, and the import either fails or, worse, silently imports wrong data.

EntryRocket accepts whatever CSV your system actually produces. Your reader handles the translation.

100%

accuracy on data extraction. Deterministic parsing, no guessing.

Any CSV

any column order, any date format

<1 min

per file, every time after that

The problem

The problem with Xero's native CSV import

Xero's CSV importer is strict, in a way that's reasonable for Xero but painful for the rest of us. It expects:

  • Exact column names (ContactName, InvoiceNumber, InvoiceDate, and so on)
  • Dates in your region's format, with a silent-misread risk when day values are 12 or below
  • Contact names that already exist in Xero, character-for-character
  • Tax rate names that match your Xero configuration exactly
  • Files under Xero's row limits: roughly 500 lines for invoice and bill imports (each line item counts as a separate row), and 1,000 transactions for bank statement imports

Most source systems don't produce CSVs in that shape. You end up with a reformatting spreadsheet you maintain forever, or you give up and key data in by hand.

If you want the full picture of what Xero expects, our Xero CSV import guide covers the format in detail, including the seven most common errors and how to avoid them.

How EntryRocket works

What EntryRocket does with CSVs

Your reader is built around the CSV your system actually produces. Any column order, any header names, any date format, any tax label convention. The reader maps all of that to what Xero needs, and imports the result.

You email the file in. Xero has the records within a minute.

How it works

Three steps, then it's automatic

1

Send us a sample

Send us a sample of the CSV you're currently wrestling with.

2

We build your reader

We build your reader in 2-3 business days, matched to your file's exact structure.

3

You email files in

From then on, you email files in. Your reader handles the rest.

What gets created

Depending on your workflow, your reader can create:

  • Invoices (including multi-line invoices from one row per line item)
  • Bills
  • Bank statement lines, ready for reconciliation
  • Contacts
  • Manual journals
Common use cases
  • Bank statements in a bank's own CSV layout that doesn't match Xero's template
  • POS and till exports with product-level detail, mapped to revenue accounts
  • Marketplace payout reports where fees, refunds, and taxes need splitting
  • Legacy system exports with custom column names and date formats
  • Multi-currency CSVs where Xero needs currency codes and your file uses symbols
FAQ

Frequently asked questions

About importing CSV files into Xero with EntryRocket.

View all FAQs →
Do I have to rename columns before sending the CSV? +

No. Your reader is built around your file's existing column names. You send it in the same shape your system produces.

What if Xero's native CSV import just works for me? +

Then keep using it. EntryRocket is for the situations where Xero's CSV import is costing you recurring time: multi-source files, large files, or formats that don't fit Xero's template.

Will it handle dates in any format? +

Yes. Your reader is configured for the date format your file uses, including ISO dates, named months, and region-specific formats.

What about Xero's row limits (500 for invoices, 1,000 for bank statements)? +

Those limits apply to Xero's native CSV importer, not to EntryRocket. Your reader processes the whole file in one go, whether that's 500 rows, 5,000 rows, or 50,000. No splitting, no batching.

Stop reformatting CSVs for Xero

Send us a sample of the CSV you're currently handling by hand. We'll show you how your reader will handle it.