Send paid WooCommerce orders to Xero as sales invoices through a background queue, with separate VAT mappings, refund credit notes and duplicate protection. Xero never sits in your customer's checkout path. £20 + VAT once. No subscription or per-order charge.
Automatic syncing starts paused. Send one known paid order as a draft and compare it before switching automation on.
A safer route to Xero
Connect your own Xero Web app, enter one sales contact and choose the Xero account codes and tax types used for products, shipping, fees and rounding.
Queue a paid WooCommerce order manually. The plugin creates a draft invoice, reads Xero's returned total and stops if it does not match WooCommerce.
Once the draft matches, keep draft output or permit Authorised invoices and choose the paid-order status that should queue future work.
What it does
WooCommerce Action Scheduler handles Xero work after the order event. WP-Cron is used as a fallback, so a Xero outage cannot replace the customer's successful checkout page.
Every new invoice and credit note is created as a draft first. The plugin compares the total returned by Xero before it permits an Authorised transition.
Map standard, reduced, zero-rated and non-taxable WooCommerce lines to the matching Xero tax types, with separate settings for products, shipping, fees and rounding.
WooCommerce refunds are sent as separate Xero credit notes. Optional cash-refund payment syncing requests its own extra Xero permission.
Stable references, saved Xero IDs, a Xero preflight check, per-order locking and idempotency keys work together to avoid duplicate invoices and credit notes.
If WooCommerce PDF Invoices & Packing Slips is installed, the plugin can attach its invoice PDF and read the attachment back to confirm it reached Xero.
See queued, running, successful and failed records under WooCommerce → Xero Invoices without fetching customer details or calling Xero when the page loads.
The Client Secret and rotating connection tokens are encrypted before WordPress stores them. They are never sent to sitelead, and the plugin has no telemetry.
Requirements
Install and connect
In WordPress open Plugins → Add New → Upload Plugin, choose the download and activate it. Then open WooCommerce → Xero Sync.
The settings screen shows the exact redirect URI. Copy it into a new Web app in the Xero Developer Centre, then save its Client ID and Client Secret in WordPress.
Select one Xero organisation, enter the contact, accounts and tax types, then use the read-only connection test before queueing a draft.
Deliberate limits
Historical orders are not swept into Xero automatically. Queue a chosen existing paid order manually when you need to test.
The structured Xero invoice uses the one sales contact you configure. The plugin does not create or update customer contacts.
If an Authorised Xero invoice would need changing, the record stops for manual review rather than silently changing your books.
Version 1 does not sync Xero items, inventory, subscription renewals or zero-value orders.
Pricing
Check its lines, VAT and total in Xero. Turn automation on only when it matches.
Buy — £20 + VATRead before you buy