If you need to get invoices into Xero from an external source — a CRM export, a sales platform, a spreadsheet from a client — you have a few options. Which one makes sense depends on how many invoices you're dealing with, what format they're in, and how often you need to do it.

This guide walks through three methods: Xero's built-in CSV import, manual entry, and automated import using a tool like EntryRocket. Each has trade-offs worth understanding before you pick one.

Method 1: Xero's built-in CSV import

Xero has a native import feature that lets you upload a CSV file of invoices directly. It's built into the product and doesn't require any third-party tools.

How it works

Go to Business > Invoices in Xero, click Import, and upload a CSV file. Xero reads the columns and creates invoices from the data. You review the results and approve them.

What Xero expects from your CSV

This is where it gets particular. Your CSV format needs to follow Xero's exact column layout — specific header names, in a specific order. The required fields include ContactName, InvoiceNumber, InvoiceDate, DueDate, Description, Quantity, UnitAmount, and AccountCode.

The date format has to match your Xero region. UK and Australian organisations expect DD/MM/YYYY. US organisations expect MM/DD/YYYY. Get it wrong and Xero will either reject the file or — worse — silently swap the day and month on dates where both values are 12 or below.

Tax codes need to match exactly what's configured in your Xero chart of accounts. If your file says "GST" but your Xero account uses "GST on Income", the import fails.

Limitations

Xero's native import only works with CSV. If your data is in Excel, PDF, XML, or any other format, you'll need to convert it to CSV first — and make sure the columns match Xero's template exactly.

There's a practical limit of around 500 rows per import. For larger volumes, you need to split the file manually.

Multi-line invoices (one invoice with multiple line items) require a specific row structure where the ContactName and InvoiceNumber repeat on every row. If your export doesn't structure line items this way, you'll need to restructure the data before importing.

If any row has an error — a missing field, a bad date, an unrecognised tax code — Xero rejects the entire batch. You fix the error and re-upload the whole file.

Who this works for

If you have a small number of invoices in a CSV that already matches Xero's format (or very close to it), the native import is free and gets the job done. It's best suited for one-off imports or occasional bulk uploads where the volume is manageable.

Method 2: Manual entry (copy and paste)

This is the most common method, and the one most people want to stop doing.

How it works

Open the source file (PDF, Excel, email, whatever it is). Open Xero. Create a new invoice. Type or copy-paste each field — contact name, invoice number, date, due date, line items, amounts, tax codes. Save. Repeat.

Limitations

Manual entry is slow. A single invoice with a few line items takes 2-5 minutes. Multiply that by 50 invoices and you've lost most of a morning.

It's also the method most prone to errors. Transposed numbers, wrong dates, missed line items, incorrect tax codes — these add up and create reconciliation headaches downstream.

There's no getting around the time cost. Even with shortcuts and autofill, manual entry doesn't scale. If you're processing more than a handful of invoices weekly, the hours add up fast.

Who this works for

If you're dealing with fewer than 10 invoices per week from simple, easy-to-read files, manual entry is viable. Beyond that, it's a workflow worth automating.

Method 3: Automated import with EntryRocket

EntryRocket is a Xero-certified tool that automates the entire import process — from any file format, with no manual reformatting.

How it works

You email your invoice file to a dedicated @entryrocket.com address. A custom reader — built specifically around your file format — maps every field to exactly what Xero needs. The invoices appear in Xero automatically. You get a confirmation email showing what was imported.

The whole process takes less than a minute for most files, regardless of volume. EntryRocket processes over 3,000 records per hour.

What makes it different

EntryRocket works with CSV, Excel, PDF, XML, JSON, and most other file formats. You don't need to convert or reformat anything. The file your system exports is the file you send.

Each reader is built around your specific file layout and your Xero configuration. If your invoices have non-standard columns, unusual line item structures, or specific tax rules, the reader handles it. If you need business rules applied — deducting payment processing fees, splitting marketplace commissions, adding surcharges — that's built into the reader too.

There's no row limit. Whether your file has 5 invoices or 5,000, the process is identical.

Who this works for

Any business that regularly imports invoices from external sources into Xero. It's particularly suited to:

  • E-commerce businesses importing orders from Shopify, WooCommerce, or marketplace platforms
  • Logistics and transport companies processing carrier or consignment invoices
  • Businesses whose invoice files come in formats Xero's native import can't handle

Which method should you use?

It depends on volume, format, and frequency.

If you import invoices once a quarter from a clean CSV that already matches Xero's template, the native import is fine.

If you do it weekly or daily, or your files come in Excel, PDF, or any non-CSV format, or you're processing more than about 20 invoices at a time — automation saves real time and eliminates the errors that come with manual handling.