WooCommerce Xero integration that keeps your books in step with your stock

WooCommerce and Xero connect through an app rather than a built-in link: each WooCommerce order becomes its own draft invoice in Xero, with the quantity on hand moved on the matching tracked item.

14-day trial · no credit card · sales syncing requires Pro or higher

4.9 out of 5 from 3,200+ reviews across our Shopify apps

How to connect WooCommerce and Xero

  1. Connect WooCommerce

    You enter your shop address, log in to your WordPress admin when we send you there, and approve the API access request. WooCommerce hands the keys back to us. Nothing on your shop changes until you turn a sync on.

    ~1 minute
  2. Connect Xero

    You sign in to Xero and pick the organisation. QuickSync writes to that organisation and nothing else.

    ~1 minute
  3. Choose what to sync

    Pick all products or a list, the source store and its locations. Existing products match by SKU.

    ~5 minutes
  4. Start syncing

    Click Start Syncing. Stock aligns from your source store, then stays in step on its own.

    Depends on catalogue size
Start 14-day trial

14-day trial · no credit card · sales syncing requires Pro or higher

Step by stepHow to connect WooCommerceHow to connect XeroQuickSync setup guideCheck your SKUs before syncingAll docs

What QuickSync syncs between WooCommerce and Xero

WhatWooCommerceXero
Stock countBoth waysBoth ways for tracked items, as a book figure
New listingsWe can create and updateNot a storefront, so no listings
PricesSent, with your rule appliedWritten to the item
Orders inInto QuickSyncDraft invoices go in, nothing comes back
Tracking backSent to the orderNot applicable
Photos and optionsPhotos, sizes and coloursNot a storefront, so no photos

Example: follow one WooCommerce sale

For sellers who run their storefront on WooCommerce and their books in Xero. Every WooCommerce sale arrives as a draft invoice in the organisation you pick, and stock follows for items you post as tracked inventory. WooCommerce’s 300-character SKU shortens to the 30 Xero accepts as an item code on the way in.

WooCommerce WooCommerce · order #447114:02:11
Classic Tee, Black, M1 × $24.00
Stock before this sale42

Synced automatically
Xero Xero sale synced
ChannelFigureUpdated
WooCommerceWooCommerce41sold here
XeroXero41updated

What to know before you connect

Inventory limit

Xero is your books, not a shop

Quantities in Xero are a bookkeeping figure no shopper ever sees, and orders go in as draft invoices without coming back out. Stock moves only for items you post as tracked inventory, and each change arrives as an adjustment document in Xero. That is how Xero works, not a gap.

Manual control

Stock moves when you say so

Xero is not a storefront, so there is no listing to publish. Stock and invoices move once you turn sync on; nothing invents a product page on WooCommerce.

On the books

What a WooCommerce order writes

One invoice per order, in draft, in your currency.

Each WooCommerce order becomes one draft invoice in Xero: the buyer matched or created as a contact by name and email, one line per item at the price actually paid, and the order’s own currency. It lands as a draft so you approve it in Xero the way you approve anything else; nothing is posted to your accounts behind your back.

WooCommerce tells us the moment something sells, so the draft invoice is in Xero a second or so later. Cancel the order before you approve the invoice and the draft is removed. Anything you have already approved is yours to credit in Xero.

The boundary

Stock needs tracked items, and Xero is checked on a timer

Two things to set up before the stock figure means anything.

Invoices work from the first connection. Stock does not move until you switch on Track inventory in QuickSync’s Xero settings and pick three accounts from your chart of accounts: an inventory asset account, a cost of goods sold account and an inventory adjustment account. From then on a WooCommerce sale takes one off the tracked Xero item, and each change we write arrives as a bill or credit note against a QuickSync Inventory Adjustment contact, because that is how Xero moves a tracked quantity.

Nothing sells in Xero, so there is no sale there for us to hear about. What can change in Xero is the quantity itself, and Xero does not tell us when it does; we check every two minutes and send the new figure on to WooCommerce. WooCommerce’s 300-character SKU shortens to the 30 Xero accepts as an item code on the way in, so codes that only differ after character thirty collide.

Questions people ask about this pair

How do I connect WooCommerce to Xero?

You enter your shop address, log in to your WordPress admin when we send you there, and approve the API access request. WooCommerce hands the keys back to us. Nothing on your shop changes until you turn a sync on. You sign in to Xero and pick the organisation. QuickSync writes to that organisation and nothing else. Then match items by SKU and turn the sync on. Keep SKUs within 30 characters, Xero’s limit.

Does WooCommerce integrate with Xero?

Through an app rather than a built-in link. QuickSync writes each WooCommerce order into Xero as a draft invoice against the customer and, once you have switched on tracked inventory, moves the quantity on hand on the matching item, so the books follow the shop without anyone retyping the day’s sales.

Will anything flow back from Xero to WooCommerce?

Orders never do: Xero takes invoices in and sends nothing back out, by design. A quantity you edit on a tracked item in Xero does reach WooCommerce. Your WooCommerce listings, prices and photos are never touched from the ledger.

What do I need to set up in Xero first?

Nothing for invoices; connect and they start arriving as drafts. For stock, open QuickSync’s Xero settings, switch on Track inventory and choose an inventory asset, a cost of goods sold and an inventory adjustment account. If your chart of accounts has none of a kind, add it in Xero and reopen the settings.

Do my WooCommerce products show up as listings in Xero?

No. Xero is your books, not a storefront, so there is nothing to list. We write the item and the quantity as a bookkeeping figure, and orders arrive as invoices.

Do prices sync from WooCommerce to Xero?

One way, yes. The price you set on WooCommerce is written to the matching item in Xero, so the books read what you actually charge. Xero never writes a price back, so that number stays yours to set on WooCommerce.

Does the tracking number go back to WooCommerce?

Supported shipment updates return to the original order when the connected fulfillment store supplies them. Supported tracking details can return to the originating WooCommerce order. QuickSync does not push carrier or tracking numbers to Xero.

Do orders flow both ways with Xero?

No. Eligible sales from WooCommerce sync into Xero when it is your fulfillment store and order syncing is enabled on Pro or higher. Eligible sales become draft invoices for your review. Sales orders are not imported back out of Xero into your shops.

What do I have to set up before stock syncs to Xero?

Stock moves for items posted as tracked inventory. Switch on Track inventory in QuickSync’s Xero settings and pick an inventory asset, cost of goods sold and inventory adjustment account from your chart of accounts; until then invoices sync and stock does not.

What happens if I refund a WooCommerce order?

When WooCommerce reports an actual restock, the inventory quantity can sync to the books. A refund alone does not restore stock. Handle invoice credits in Xero separately.

Which plan do I need for WooCommerce and Xero?

For WooCommerce and Xero, Lite starts at $19/month for two stores and 1,000 syncing items and includes inventory syncing. Ongoing product updates and order syncing require Pro or higher; price modification requires Ultra or higher. Choose a plan for both your features and catalogue size. Extra stores are billed at the selected plan rate; see Pricing for current limits.

Connect WooCommerce and Xero

14-day free trial. No credit card.