WordPress plugin · one payment

WooCommerce orders.
Checked in Xero.

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.

WooCommerceXero

A safer route to Xero

Create, check, then authorise.

1

Map your accounts and VAT

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.

2

Test one known order

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.

3

Turn on your chosen trigger

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

Accounting automation with checks and brakes.

Runs outside checkout

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.

Draft-first total validation

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.

Separate VAT mappings

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.

Refunds become credit notes

WooCommerce refunds are sent as separate Xero credit notes. Optional cash-refund payment syncing requests its own extra Xero permission.

Duplicate protection

Stable references, saved Xero IDs, a Xero preflight check, per-order locking and idempotency keys work together to avoid duplicate invoices and credit notes.

Optional verified PDF

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.

Local status screen

See queued, running, successful and failed records under WooCommerce → Xero Invoices without fetching customer details or calling Xero when the page loads.

Your own Xero connection

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

Check your shop and Xero setup before buying.

Your setup

  • WordPress 6.5 or newer and WooCommerce 8.2 or newer
  • PHP 8.1 or newer with OpenSSL
  • HTTPS on the WordPress admin site
  • A Xero organisation and a free Xero Web app
  • One Xero sales-contact UUID plus your sales, shipping, fee and rounding account codes
  • The Xero tax types that match each VAT class used by your shop
  • Optional: WooCommerce PDF Invoices & Packing Slips for PDF attachment
  • An accountant-approved plan for Stripe and PayPal reconciliation
Start with a draft. Automatic syncing is off by default. Compare one known paid order line by line in Xero before enabling an automatic trigger or Authorised invoices.

Install and connect

Your Xero app, your credentials.

1

Upload the plugin

In WordPress open Plugins → Add New → Upload Plugin, choose the download and activate it. Then open WooCommerce → Xero Sync.

2

Create a Xero Web app

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.

3

Connect and map

Select one Xero organisation, enter the contact, accounts and tax types, then use the read-only connection test before queueing a draft.

Deliberate limits

Know exactly what version 1 does not do.

No automatic backfill

Historical orders are not swept into Xero automatically. Queue a chosen existing paid order manually when you need to test.

No customer-contact sync

The structured Xero invoice uses the one sales contact you configure. The plugin does not create or update customer contacts.

No automatic edits after authorisation

If an Authorised Xero invoice would need changing, the record stops for manual review rather than silently changing your books.

No inventory or subscription sync

Version 1 does not sync Xero items, inventory, subscription renewals or zero-value orders.

Pricing

£20 + VAT. Once.

One payment

WooCommerce Xero Invoices

£20
one-off, excluding VAT
  • One live WordPress site and one staging or test site
  • Invoices, VAT mappings and refund credit notes
  • Background queue, returned-total checks and duplicate protection
  • Optional verified invoice-PDF attachment
  • Three-month guarantee for the functions on this page
  • No subscription, renewal or per-order charge
Buy — £20 + VAT

Put one paid order through as a draft.

Check its lines, VAT and total in Xero. Turn automation on only when it matches.

Buy — £20 + VATRead before you buy