Xero only imports invoices from a CSV in its own column format, not from PDFs. Upload your PDF or image invoices here and get a clean spreadsheet with contact name, invoice number, dates, line items, tax, and totals, ready to paste into the Xero import template.
Last updated June 2026
Upload your invoices
Drop files here or click to upload
Up to 50 files
Uploading...
Xero has a built-in invoice import, but it only accepts a CSV laid out in its exact column structure. Most invoices arrive as PDFs or scans, so the real work is turning those documents into the rows Xero expects. That gap is where finance teams lose hours.
The native import rejects PDF and image files. You can only upload a CSV, so every PDF supplier bill has to be transcribed into a spreadsheet first.
ContactName, InvoiceNumber, InvoiceDate, DueDate, Description, Quantity, UnitAmount, AccountCode, and TaxType all have to match exactly. One wrong header or date format and the import fails.
A single invoice with several line items needs the contact name and invoice number repeated on every row. Hand-building that structure for dozens of bills is slow and error-prone.
Retyping amounts and tax codes invites transposed figures, which become duplicate payments and reconciliation headaches inside Xero.
Xero recommends no more than 500 rows per file. At month-end, manually preparing those rows from a stack of PDFs becomes a real bottleneck.
Choosing tax exclusive versus inclusive and mapping the right TaxType is easy to get wrong when you are copying numbers by hand from a PDF.
InvoiceXLSX reads your PDF and image invoices with AI and exports the fields Xero needs as clean spreadsheet rows. You map a few columns to the Xero template, choose your tax treatment, and import. No retyping, no template tools to maintain.
Upload native PDFs, scanned bills, or phone photos. The AI extracts vendor, invoice number, dates, line items, tax, and totals from any layout.
Output arrives as structured columns that line up with the Xero template fields, so you copy values straight into ContactName, InvoiceDate, UnitAmount, and the rest.
Each line item becomes its own row with description, quantity, and unit amount, exactly the structure Xero needs for multi-line invoices.
Process many invoices at once and export a single spreadsheet, then split into files of 500 rows or fewer for Xero.
Download clean .csv or .xlsx. Save as CSV and it is ready for the Sales invoice or Bills import in Xero.
Invoices are processed over encrypted connections and deleted after extraction. Your supplier data is never sold or used to train public models.
From a folder of PDF invoices to approved drafts in Xero.
Upload your PDF or image invoices to InvoiceXLSX. The AI reads each one and returns contact, invoice number, dates, line items, tax, and totals as spreadsheet rows.
Tip: Batch the whole stack in one pass, then review the values against the originals.
In Xero, open Business then Invoices (for sales) or Bills to pay (for supplier bills), click Import, and download the template. Paste your extracted data into the matching columns, keeping ContactName and InvoiceNumber on every line of multi-line invoices.
Tip: Do not rename or delete the template headers; Xero needs them exactly as provided.
Save the file as CSV, browse to it in Xero, choose tax exclusive or inclusive, then click Import. Fix any flagged rows, complete the import, and your invoices land as drafts ready to approve.
Tip: Keep each file to 500 rows or fewer, as Xero recommends.
Any US business or firm on Xero that receives invoices as PDFs instead of clean spreadsheets.
Prepare client supplier bills in bulk without retyping every PDF.
Move a month of vendor invoices into Xero as drafts in one pass.
Onboard a new client by importing historical invoices from PDFs.
Catch up on a backlog of supplier bills without an AP hire.
Xero gives you two separate imports depending on the document. Sales invoices you raise for customers go through Business then Invoices then Import, while supplier bills you receive go through Bills to pay then Import. Both use a CSV in the same general shape, but they post to different ledgers, so it matters which one you choose. In either case the only strictly required fields are ContactName and InvoiceNumber; everything else can be filled in after the draft is created.
The piece Xero cannot do for you is read the invoice itself. That is the job InvoiceXLSX handles: it converts the PDF or photo into the structured values that drop into the template, and our invoice PDF to CSV converter gives you the exact CSV shape Xero expects. Once your data sits in those columns, the import is fast and the invoices arrive as drafts, so you get a chance to review and approve before anything hits your accounts. For US businesses that means cleaner books, fewer duplicate payments, and a month-end close that does not stall on data entry.
There is more than one path from a supplier PDF to a bill in Xero, and most teams weigh four. Xero includes Hubdoc on its business edition plans, which reads documents on an ongoing basis; there are third-party AP apps in the Xero ecosystem; there is the native CSV import; and there is AI extraction that feeds that CSV. Here is how they compare on what a US bookkeeper or AP team actually weighs.
| Approach | What it does | Setup and cost | Best fit |
|---|---|---|---|
| Manual keying | You type each bill into the Xero bill screen by hand | No tooling, but the highest labor cost per invoice | A handful of bills a month |
| Hubdoc (included with Xero) | Native capture reads emailed or uploaded documents into draft transactions over time | Free on Xero business edition plans, billed separately on partner edition; captures header fields, line-item detail is limited | Ongoing, low-volume capture where you publish documents one at a time |
| Third-party AP app (Dext, ApprovalMax, and similar) | Capture plus approval routing synced back to Xero | Monthly per-user or per-document subscription, some setup | Teams that want approvals and workflow, not just data |
| AI extraction to CSV (InvoiceXLSX) | Reads any layout and exports Xero-template CSV rows with every line item | Minutes, nothing to install, free tier to test, no per-invoice fee | Bulk imports and backfills where you want full control of the rows |
InvoiceXLSX sits in the last row. Where Hubdoc shines at steady, one-at-a-time capture, the CSV import wins when you need to move a whole stack at once, keep full line-item detail, and review every figure before it posts. Because invoice line item extraction pulls each line onto its own row, the detail your bills carry survives the import intact. The two work well together: use Hubdoc for the daily trickle and lean on bulk invoice upload to convert backlogs or historical invoices to CSV when you are catching up or onboarding a client.
Yes. Xero has a built-in import for both sales invoices and supplier bills, but it only accepts a CSV file in Xero's column format. It does not read PDFs directly, so you first convert your PDF or image invoices into that CSV layout, then upload it through the Import option in Xero.
In Xero, go to Business then Invoices (for sales) or Bills to pay (for supplier bills), click Import, and download the template. Paste your invoice data into the matching columns, save the file as CSV, upload it, choose your tax setting, and click Import. The invoices appear as drafts you can approve.
Not directly. Xero's native import rejects PDF and image files and accepts CSV only. To import PDF invoices, convert them to a Xero-ready CSV first. InvoiceXLSX extracts the contact, dates, line items, tax, and totals from each PDF so you can paste them into the Xero template.
Xero needs a CSV with specific column headers such as ContactName, InvoiceNumber, InvoiceDate, DueDate, Description, Quantity, UnitAmount, AccountCode, and TaxType. The headers must match exactly and dates must be in the format Xero expects. Only ContactName and InvoiceNumber are strictly required.
For a multi-line invoice, repeat the same ContactName and InvoiceNumber on every row and put one line item per row, each with its own Description, Quantity, and UnitAmount. Xero groups rows that share an invoice number into a single invoice. InvoiceXLSX already outputs line items as separate rows.
Xero recommends importing no more than 500 rows per CSV file. Because multi-line invoices use several rows each, a single file may hold fewer than 500 invoices. For larger backlogs, split the data into multiple files and import them one after another.
Supplier bills import through Business then Bills to pay then Import, separately from sales invoices. Download the bills template, fill in the columns from your extracted invoice data, save as CSV, and upload. The bills post to accounts payable as drafts for review and approval.
Yes. Invoices and bills imported into Xero are created as drafts by default. That lets you review the data, fix any details, and approve them before they affect your ledgers, which is a useful safeguard after a bulk import.
Yes. Hubdoc, included with most Xero business edition plans, captures documents from emails, uploads, and photos and reads header fields like supplier, date, and amount so you can publish them as bills or invoices. It works best for ongoing, one-at-a-time capture; line-item detail is limited, so for bulk imports or full line capture many teams extract to a Xero-ready CSV and use the native import instead.
The native CSV import is built into Xero at no extra charge, and Hubdoc is included on Xero business edition plans (billed separately on partner edition). The only cost is turning your PDFs into mapped rows: third-party AP apps like Dext or ApprovalMax charge a monthly per-user or per-document fee, while extracting to CSV with InvoiceXLSX has a free tier and no per-invoice fee. Confirm current Hubdoc and app pricing with each vendor.
From the same family of tools