Syncible Sync for Xero

Description

Every order in your WooCommerce store becomes an individual invoice in Xero within seconds of being placed. Refunds become credit notes. New customers are created in Xero from the order. Your Xero account keeps up with your shop without anyone typing anything in.

The free plan has no monthly order limit and no time limit. Paid plans add product and stock sync and reporting. Stay on free for as long as it does what you need.

Syncible is built and supported in the UK by the people who wrote it. Email support@syncible.co.uk and you get a reply the same working day, usually much sooner.

Key features

  • Real-time order sync. Orders post to Xero the moment they are placed, with line items, discounts, shipping and tax as WooCommerce recorded them. Not on the next scheduled task, not in a nightly batch.
  • Refunds become credit notes. Full or partial, matched to the original invoice.
  • No duplicate customers. Existing Xero contacts are matched first; new ones are created from the order’s billing details.
  • Payments recorded. Paid orders arrive in Xero as paid, with the payment against the invoice.
  • Account and tax mapping. Choose the Xero account code and VAT rate for sales, shipping and discounts. Your VAT return picks them up without tidying.
  • Sync issues panel. If Xero rejects an order you get the reason in plain English and a Retry button, on every plan.
  • Out-of-stock fallback. If Xero refuses an invoice because a tracked item is out of stock, the invoice is re-sent with plain description lines so the sale still reaches your accounts. Totals unchanged, order flagged.
  • Dashboard inside WordPress. Sync activity, orders, customers, reconciliation and settings without leaving wp-admin.
  • Guided setup. The onboarding wizard connects WooCommerce for you and walks you through connecting Xero. Most stores are syncing within minutes of installing.
  • Service notices. If something needs your attention, such as a Xero connection that needs re-authorising, you are told on the Syncible screens. Nothing elsewhere in your admin.

Support

Support comes directly from the people who built the plugin, in the UK. Email support@syncible.co.uk and you get a reply the same working day, usually much sooner. If you would rather not do the setup yourself, tell us and we will walk through it with you. You can also post in the support forum here.

You are never left to work it out alone. If something does not sync, the Sync issues panel tells you why, and if that is not enough, we are one email away.

Requirements

  • WooCommerce, installed and active
  • A Xero organisation you can authorise
  • A free Syncible account, created for you during setup

Pricing

  • Free: £0/month. Real-time order sync, refunds as credit notes, payment recording, customer matching, UK VAT mapping. No order volume cap.
  • Starter: £29/month. Everything in Free, plus stock sync between Xero and your store, bulk order backfill (up to 5,000 orders) and per-payment-gateway account mapping.
  • Growth: £59/month. Everything in Starter, plus product sync from the master you choose: with WooCommerce as master, your products create and update Xero items; with Xero as master, your Xero items create products in WooCommerce and keep stock in step. Runs hourly. Plus a custom invoice prefix.
  • Pro: £99/month. Everything in Growth, plus per-contact Xero account mapping, live invoice verification, reconciliation reports by period, smart auto-retry over 7 days and priority support.
  • Enterprise: £299/month. Everything in Pro, plus a dedicated onboarding session, SLA, phone support and custom setup assistance.

Paid plans come with a 14-day free trial. Full details at https://syncible.co.uk/woocommerce-xero/

External service

This plugin connects to the Syncible service (https://syncible.co.uk) to perform the synchronisation between WooCommerce and Xero. The Syncible service:

  • Receives order and refund data from your WooCommerce store
  • Authenticates with Xero on your behalf using OAuth
  • Creates invoices and credit notes in your Xero account
  • Stores synchronisation history for the activity view

The following data is sent to the Syncible service:

  • When an order is placed, changes status, or is refunded, the plugin sends that order directly to the Syncible service in real time. The data sent is the order as WooCommerce records it: line items, quantities, prices, discounts, tax lines, shipping, refunds, the billing and shipping details of the customer (name, address, email, phone), the payment method used, and any order metadata added by your other plugins.
  • When syncing: order details (items, prices, tax, customer, payment method) and refund details
  • When retrying a failed order from the Syncible settings screen: the order number, so the Syncible service can queue that order for re-export
  • On plugin activation: your store URL for identification
  • On plugin deactivation: your store URL and an API token to clean up the connection
  • When opening the Syncible Dashboard menu in wp-admin: a one-time 15-minute access token is minted by the Syncible service and used to embed your merchant dashboard inside WordPress admin via an iframe. The dashboard interface itself (UI elements, activity feed, settings panel) is rendered by the Syncible service on syncible.co.uk.

Terms of Service: https://syncible.co.uk/terms/
Privacy Policy: https://syncible.co.uk/privacy/

A separately-distributed companion plugin with additional features is available at https://syncible.co.uk.

Screenshots

Installation

  1. Install and activate the plugin from the WordPress plugin directory.
  2. Visit the Syncible menu in your WordPress admin.
  3. Follow the onboarding wizard to connect your Xero account.
  4. Configure your default Xero sales account and tax code.
  5. Place a test order in WooCommerce to verify the sync.

WooCommerce must be installed and activated before this plugin can be used.

FAQ

Do I need a Xero account?

Yes. The plugin posts orders into an existing Xero organisation. You authorise the connection during setup using Xero’s own sign-in.

Is the free plan really free?

Yes. The free plan syncs orders, refunds, customers and payments with no monthly order limit and no time limit. Paid plans exist for stores that want product and stock sync or reporting. You are never moved to a paid plan without choosing it.

How quickly do orders reach Xero?

Orders are sent to the Syncible service the moment they are placed or change status, not on WordPress’s scheduled tasks, so an invoice normally appears in Xero within seconds. If your site or Xero is unavailable the order is retried automatically and shows in the Sync issues panel if it still cannot be delivered.

What happens if Xero rejects an invoice?

It appears in the Sync issues panel on the Syncible settings screen with the reason Xero gave, for example an account code that does not exist in your chart of accounts. Fix the cause and press Retry. An order that has already reached Xero cannot be sent twice.

What if a product is out of stock in Xero?

If Xero refuses an invoice because a tracked inventory item is out of stock, the invoice is re-sent once with plain description lines so the sale still reaches your accounts. Totals and VAT are unchanged and the order is flagged so you know Xero has not adjusted stock for it. This only applies to completed, paid orders. Unpaid or pending orders are not invoiced this way.

Does it create duplicate customers in Xero?

No. Customers are matched to existing Xero contacts first and only created when there is no match.

Does it work with WooCommerce Subscriptions?

Yes. Renewal orders created by WooCommerce Subscriptions are orders like any other, so each renewal is sent to Xero as its own invoice in the same way.

What data is sent to Syncible?

Order and refund data as WooCommerce records it, your store URL, and a short-lived token when you open the dashboard. The full list is in the External service section above. Nothing is sent that is not needed to create the invoice or show you what happened.

How do I disconnect from Xero?

Version 1.1.0 does not include a Disconnect button in the plugin. A dedicated disconnect control is coming in version 1.1.1.

Until then there are two ways to end the connection:

  • Revoke access from inside Xero. In Xero, open Settings and go to Connected apps, then disconnect Syncible. This stops Syncible reading from or writing to your Xero organisation straight away.
  • Delete the plugin. Deleting it from the WordPress Plugins screen notifies the Syncible service, which revokes the Xero authorisation and closes the WooCommerce connection. Your licence and sync history are kept, so reinstalling later reconnects you to the same account.

Deactivating the plugin without deleting it does not disconnect anything. Deactivation is treated as temporary, so your Xero authorisation is deliberately left in place and you are not forced to re-authorise if you activate the plugin again.

Is my data secure?

Order data is sent over HTTPS to the Syncible service. Xero authorisation uses OAuth 2.0, so your Xero credentials are never stored by the plugin. See the Privacy Policy at https://syncible.co.uk/privacy/ for full details.

Can you help me set it up?

Yes. Email support@syncible.co.uk and we will walk through the setup with you, including the Xero account and tax mapping if you are not sure which codes to use. There is no charge for this on any plan.

Where do I get help?

Email support@syncible.co.uk, or post in the support forum here. Support is handled in the UK by the people who built the plugin. You get a reply the same working day, usually much sooner.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Syncible Sync for Xero” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.0

  • New: Syncible Dashboard inside WordPress admin — view sync activity, orders, products, customers, reconciliation reports, and settings without leaving wp-admin. The dashboard is rendered by the Syncible service and embedded via iframe.
  • New: Real-time order delivery. Orders are now sent to the Syncible service the moment they are placed, change status, or are refunded, rather than waiting for WooCommerce scheduled tasks. On quiet stores those scheduled tasks can stall for hours, which delayed invoices reaching Xero. See the External service section for exactly what is sent.
  • New: Sync issues panel on the Syncible settings screen. Any order that could not be sent to Xero is listed with a plain-English reason and a Retry button. Retrying is available on every plan, including the free plan. An order that already reached Xero cannot be sent twice.
  • New: Service notices. The Syncible service can now tell you about something that needs your attention — for example a Xero connection that needs re-authorising. Notices appear only on Syncible screens, never elsewhere in your admin, and each one can be dismissed permanently.
  • Improved: Customers who are not yet in Xero are created automatically from the order’s billing details. If Xero rejects the customer, the order now reports exactly why instead of failing with a generic message.
  • Improved: If Xero refuses an invoice because a tracked inventory item is out of stock, the invoice is now re-sent once with plain description lines so the sale still reaches your accounts. Totals and VAT are unchanged, and the order is flagged so you know Xero has not adjusted stock for it. This only applies to completed, paid orders — unpaid or pending orders are never invoiced this way.
  • Fixed: Plugin now works on all WordPress permalink structures, including the default “Plain” setting.
  • Improved: External services disclosure expanded to cover the in-admin dashboard, the real-time order delivery, and the retry action.
  • Improved: Tested up to WordPress 7.1.

1.0.0

  • Initial public release.