Get in touch
WooCommerce

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.

Download Free
Pro · one-year licence Staging copies are included. The more sites, the cheaper each one
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
Or all 396 Pro modules with All Access — 4 990 ₴ / year ≈ €98

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.

Feature Free Pro
Xero sales invoice on an order status ✔ ✔
Contact by customer code or e-mail, no name clashes ✔ ✔
VAT and GST by rate, a stop when the rate is ambiguous ✔ ✔
Revenue accounts for products, shipping and fees ✔ ✔
Approved invoice or draft, Xero numbering or the order number ✔ ✔
Queue with retries and no duplicates, a bulk action on orders ✔ ✔
Your own Xero app or a Custom Connection ✔ ✔
Payments to a bank account per payment method — ✔
Credit notes for refunds — ✔
Revenue account per category and tracking categories — ✔

What it looks like

Queue
Queue: invoices, payments and credit notes with Xero numbers.
VAT rate mapping
VAT rate mapping.
Revenue accounts and the bank account for payments
Revenue accounts and the bank account for payments.

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

v1.0.0 Current November 2026

Xero sales invoices with contacts, VAT/GST and revenue accounts, a queue without duplicates.

Frequently bought with Xero

All Access Need more? All modules (396) under one licence, new ones are added automatically. 4 990 ₴≈ €98 Learn more →

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

  1. 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.
  2. “Connect to Xero” opens the Xero sign-in, and you choose the organisation.
  3. On Mapping you check the VAT rates and revenue accounts.
  4. 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.
  5. 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

  1. Plugins → Add New → Upload Plugin: choose the zip and activate.
  2. WooCommerce → Accounting Sync → Connection: follow the steps of the guide to create your own Xero app.
  3. Paste the Client ID and secret, press “Connect to Xero” and choose the organisation.
  4. Check Mapping and run one test order, best against the Xero demo company.
  5. 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.

@catcode_support Setup, compatibility, activation
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.

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