Import Paige invoices into Xero from CSV
Export a batch of invoices from Paige, copy the one-row-per-document CSV into Xero's bill import template, and load it — draft bills with contact, dates, reference, and amount filled from Paige, no subscription, PDFs attached by hand if you want them.
Before you begin
- A Xero user with the standard or adviser role for the organisation
- Contacts and account codes already set up in Xero
- A Paige scan job with an invoice document type whose fields include vendor name, invoice number, invoice date, due date, and total
At the end of this guide, a batch of invoices that Paige read becomes a batch of draft bills in Xero in one import — contact, dates, reference, account code, and amount filled from Paige's CSV — with nothing to build and nothing to keep running.
Xero's importer uses its own template: fixed column names, one row per bill line. Paige's CSV has one row per document with a column per field, so the work is a copy-and-paste between the two in a spreadsheet, then the import. The importer takes no attachments; attach PDFs by hand afterwards, or use the Zapier or Make path to attach automatically.
Step 1 — Get the CSV out of Paige
- Download: in Paige, open Documents, click Export, and in the Export Documents dialog choose the Scope, the Filters (Reviewed only, Field Data with fields, Status not yet exported so you don't import twice), tick Download under Destinations, and confirm. Paige emails a link when the download is ready; the zip contains the PDFs and the data files, including the one-row-per-document CSV.
- SFTP: if the scan job exports to SFTP, turn on Generate combined metadata file on the FTP card so each export run also writes the combined CSV.
Open it in a spreadsheet. What you should see: a header row with the PDF file name, the document type, and one column per Paige field, then one row per invoice.
Step 2 — Fill Xero's template
In Xero, open Business > Bills to pay, click New bill, choose Import from CSV, and click Download template file. Open the template in the same spreadsheet.
Copy Paige's columns into the template's columns:
Template column Fill from ContactNameVendor Name— must match a Xero contact's name exactly, or Xero creates a new contact with that spellingInvoiceNumberInvoice NumberInvoiceDateInvoice DateDueDateDue DateDescriptionSomething like Invoice INV-20441— requiredQuantity1UnitAmountTotal, as a plain number with no currency symbol or thousands separatorAccountCodeThe expense account code you post invoices to TaxTypeYour usual tax type for purchases (for example Tax on Purchases, orNo Tax)
Check every date is in the same format, and that it's the format your Xero organisation uses.
Save the template as CSV.
Step 3 — Import
Back in Business > Bills to pay > New bill > Import from CSV, choose the file. Tell Xero whether the amounts are tax inclusive or exclusive, and click Import.
Xero shows how many bills it will create and any rows it can't read. Fix and re-import those rows if needed.
What you should see: the bills under Bills to pay > Draft, one per invoice, with the contact, dates, reference, and amount from Paige.
Step 4 — Attach the PDFs and approve
Open each draft bill, click the attachment icon, and add the matching PDF from Paige's export (the CSV's file-name column tells you which is which). Approve the bills as you normally would.
When it doesn't work
| Symptom | Where to look |
|---|---|
| "Contact not found" or a duplicate contact appears | The vendor name doesn't match Xero's contact spelling. Fix it in the template (and in Paige's field during review next time). |
| Dates rejected | Mixed formats, or not the organisation's format. Make every date the same. |
| Amount imported as 0 or rejected | A currency symbol or comma in UnitAmount. |
| Bills imported twice | Use Paige's Status: Not Exported filter when exporting and export each batch once. |
| Line-item detail wanted | Put one row per line item with the same InvoiceNumber; Xero groups rows into one bill. Paige's line-item table is in the per-document JSON and XML if you need it. |
If a Paige field is consistently misread, improve its extraction guidance: Write extraction guidance the AI can follow.
