
Xero for WooCommerce — invoices, contacts, VAT and payments from orders
WooCommerce orders as Xero sales invoices; Pro adds payments and credit notes. Your own Xero app, with a guide in the settings.
- Compatibility
- WordPress 6.2+ · WooCommerce 8.0+ · PHP 7.4+ · HPOS · Xero UK, AU, NZ · English
- Licence
- a site + a staging copy, annual
- Trial
- 7 days, no card, one per site
- Updated
- November 2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
Key points
What the buyer sees
The buyer sees nothing new: the checkout does not change. The Xero invoice appears when the order reaches a status you choose, with the Xero number or the order number in Reference.
What the admin gets
WooCommerce → Accounting Sync: Connection, Mapping, Queue, Log and Licence tabs.
How much it costs
The base version is free. Pro costs 1290 UAH for a one-year licence. A year of updates, technical support and all Pro features.

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — a site and a staging copy
Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
WordPress 6.2+, WooCommerce 8.0+, PHP 7.4+, a site on https.
A Xero organisation (UK, Australia, New Zealand) and your own app at developer.xero.com.
The free tier of a Xero app allows 1000 calls a day per organisation: roughly 150–300 orders.
Version history
Xero sales invoices with contacts, VAT/GST and revenue accounts, a queue without duplicates.
Frequently bought with Xero


Product bundles and gift with purchase for WooCommerce

One-Click Order — Quick Order for WooCommerce

Smart Product Filter for WooCommerce
Full module description
Accounting Sync with Xero for WooCommerce sends shop orders to Xero as sales invoices: with the buyer contact, VAT or GST by rate, and revenue accounts for products, shipping and fees. No duplicates, and retries when Xero is down. Pro adds payments on the invoice, credit notes for refunds, a revenue account per product category and tracking categories. For Xero organisations in the UK, Australia and New Zealand.
Before you install: every shop connects through its own Xero app. You create it for free at developer.xero.com, and the step-by-step guide with the ready redirect address is right in the plugin settings. The connection belongs to you alone, and no data passes through anyone else’s server.
What the buyer sees
The buyer sees nothing new: the checkout does not change. The Xero invoice appears when the order reaches a status you choose, with the Xero number or the order number in Reference.
What the admin gets
WooCommerce → Accounting Sync: Connection, Mapping, Queue, Log and Licence tabs. Connection holds the Client ID and secret of your app, “Connect to Xero”, a test, the statuses that send an invoice, approved or draft, numbering and payment terms.
On Mapping the WooCommerce rates are matched to Xero rates by percentage; when Xero has more than one 0% rate, the module stops the order and asks you to choose, so it never lands in the wrong box of the return. Queue shows every document, its Xero number, the attempts and the reason it stopped.
How it works, step by step
- At developer.xero.com you create a Web app, paste the redirect address from the settings and copy the Client ID and secret into the plugin.
- “Connect to Xero” opens the Xero sign-in, and you choose the organisation.
- On Mapping you check the VAT rates and revenue accounts.
- An order in the chosen status joins the queue and the invoice goes to Xero; before creating it the module looks for an existing one.
- In Pro a payment to the bank account follows the invoice, and a refund becomes a credit note.
Under the hood
- The secret and tokens are stored encrypted; the token refresh runs under a lock so two processes never break each other.
- Every document has an idempotency key and a Reference, so a retry after a dropped connection never creates a second invoice.
- The Xero limit (429) pauses the queue, and it continues by itself.
- Once a week the module refreshes the connection, because Xero closes it after 60 days without use.
- Compatible with HPOS, the block and the classic checkout; plugin language: English.
How to install
- Plugins → Add New → Upload Plugin: choose the zip and activate.
- WooCommerce → Accounting Sync → Connection: follow the steps of the guide to create your own Xero app.
- Paste the Client ID and secret, press “Connect to Xero” and choose the organisation.
- Check Mapping and run one test order, best against the Xero demo company.
- For Pro: paste the key or start the 7-day trial on the Licence tab.
The “Download free” button gives the free version, the same one that goes to wordpress.org. Pro is the full archive; it appears in your account after a purchase or a trial.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Is this an official Xero plugin?
No, it is an independent integration. Xero is a trademark of Xero Limited.
Why my own Xero app?
Xero only lets a site connect through a registered app. Your own app is free, and the connection belongs to your shop alone.
Will invoices be duplicated?
No. Before creating one the module looks the document up by Reference, and a retry carries the same key.
Is there an OpenCart version?
Yes, a separate module for OpenCart 2.3, 3.x and 4.x.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—
Charged in UAH; your bank converts it to your currency. EUR price is approximate.



















