Xero can't import invoices from Excel, and its CSV import fails on the first bad row. This Google Sheets™ add-on validates every row against your org's live chart of accounts and tax rates first, then bulk-pushes the clean ones into Xero.
Live
Install from Google Workspace MarketplaceBulk Importer for Xero is a Google Sheets™ add-on published by Cody Labs. It connects to your Xero organisation through Xero's official OAuth flow, generates a template sheet with dropdowns pulled from your real account codes, tax rates, and contacts, and validates every row — accounts, tax treatment, dates, amounts, and contact matches — before anything is written. Clean rows are then created or updated in Xero in bulk. Your data flows directly from your spreadsheet to your Xero organisation: we operate no servers and never receive your financial data. See the privacy policy for full details.
Sales invoices (ACCREC), bills (ACCPAY), and contacts — multi-line documents built from consecutive rows.
Every row is checked against your live chart of accounts, tax rates, currencies, and contacts. Errors show up as cell notes, not surprises in Xero.
The template's account, tax-rate, currency, and contact dropdowns are pulled straight from your Xero organisation.
Matches by invoice number and updates only DRAFT or SUBMITTED documents — approved and paid records are never touched.
Four steps, all inside your spreadsheet. Nothing reaches Xero until the rows have been checked against your live organisation.
Open the sidebar and click Connect to Xero, then Use this organisation. Authorisation runs through Xero's own OAuth screen. If you work across several entities, Switch organisation moves between them.
Choose invoices, bills, or contacts. The template is built from your organisation's real chart of accounts, tax rates, currencies, and contacts, so the dropdowns only ever offer values Xero will accept.

Rows are checked against those live lists plus document status — accounts, tax rates, currencies, contacts, and whether a record is still editable. Problems are reported per row, in the sheet, before anything is written.
Clean rows are created or updated in bulk. Only draft and submitted records are ever updated — authorised records are left untouched. Results, assigned document numbers, deep links, and an append-only activity history are written back to the workbook.

Polar emails your license key after checkout. Paste it into Activate Pro in the add-on sidebar.
Yes. The add-on supports sales invoices, bills, and contacts, with generated templates and row-by-row validation before anything is pushed.
No. Updates match by document number and only ever touch DRAFT or SUBMITTED documents — authorised and paid records are never modified.
No. It is an independent add-on published by Cody Labs. Xero is a trademark of Xero Limited.
The same validate-before-you-push workflow for QuickBooks invoices, bills, and customers.
Catch missing columns, ambiguous dates, invalid amounts, duplicate numbers, and spreadsheet formula risks in your browser before importing.