If you're looking for how to import invoices into Xero, 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. 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 column layout: header spelling must match exactly, including case and spaces. 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.
Before uploading, you can run your file through our free Xero CSV validator. It checks the headers, dates, and amounts against these rules in your browser, with row numbers for anything that would fail.
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 invoices per import, counted by distinct invoice number rather than rows. 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) the import stops until it is fixed. You fix the error and re-upload the file. Our guide to Xero CSV import errors decodes each message, including the silent ones that import wrong data without warning you.
If you also need to import quotes or purchase orders into Xero, Xero has no file import for either.
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 CSV, Excel, PDF, XML and more, 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 as drafts, ready for review. The source file can be attached to each invoice in Xero too, which Xero's own CSV import cannot do. You get a confirmation email showing what was imported.
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.
A large file goes in whole. You do not split it into batches.
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?
If you're trying to figure out how to import invoices into Xero, it comes down to 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.