WooCommerce Xero Integration: Step-by-Step Setup Guide (2026)
WooCommerce and Xero are the backbone of thousands of online stores in the UK, Australia, and New Zealand — but they don't sync automatically. This guide covers every step: chart of accounts setup, account mapping, payout reconciliation, VAT/GST handling, and ongoing automation with SyncTools.
WooCommerce and Xero are the most popular pairing for online stores in the UK, Australia, and New Zealand — and one of the most common sources of bookkeeping frustration. Neither platform knows what the other is doing without a direct connection, which means every gateway payout, refund, and fee line has to be manually matched until you automate it.
TL;DR: WooCommerce powers over 37% of all online stores worldwide (W3Techs, 2025). Xero has more than 4.2 million subscribers globally, with dominant market share in the UK, Australia, and New Zealand (Xero Annual Report 2024). The two platforms do not connect natively at the accounting level most growing stores need. SyncTools bridges the gap in under 20 minutes — syncing gross sales, gateway fees, refunds, VAT/GST, and payouts to the correct Xero accounts automatically.
Using QuickBooks instead of Xero? See the WooCommerce QuickBooks integration guide.
Why WooCommerce and Xero Don’t Work Out of the Box
WooCommerce records your orders, calculates totals, and sends that data to your payment gateway. Xero records your finances. Between those two systems sits a gap that manual bookkeeping fills — and fills badly at scale.
The structural issues are predictable:
- Net payouts hide gross economics. Stripe or PayPal deposits the payout after deducting processing fees, refunds, and any reversals. The figure that hits your Xero bank feed is never the same as your WooCommerce order total — without automation, you’re reconciling the difference by hand every payout cycle.
- Gateway fees are invisible in WooCommerce. WooCommerce shows you the order total. It does not show you what Stripe charged to process it. Those fees have to be extracted from your gateway dashboard, calculated, and posted to Xero as a separate expense — or they simply vanish from your P&L.
- Tax collected is not tax owed. VAT collected from UK customers belongs to HMRC, not to your business. If it flows into revenue rather than a Tax Payable liability, your P&L overstates income and your VAT return becomes a manual reconciliation project.
- Refund timing creates lag. A refund approved in WooCommerce today may not settle in Stripe for three to five business days. Tracking that lag manually means you’re always reconciling backwards.
- Multi-gateway complexity multiplies everything. Many WooCommerce stores accept Stripe, PayPal, and Square simultaneously. Each has its own fee structure, payout schedule, and report format — none of which Xero can see without a connector.
SyncTools observation: Stores that automate their WooCommerce-Xero connection before they hit 300 orders per month avoid the month-end reconciliation backlog that typically arrives once growth makes manual matching impossible.
WooCommerce Xero Integration Options
Three approaches exist for connecting WooCommerce to Xero:
| Method | Real-Time Sync | Fee Separation | VAT/GST Mapping | Historical Backfill | Best For |
|---|---|---|---|---|---|
| Xero’s WooCommerce Connector | No (daily) | No | Partial | 90 days | Stores under 50 orders/month |
| Dedicated Sync App (SyncTools) | Yes | Yes | Full | Full history | Most growing stores |
| Manual CSV Export | No | Manual only | Manual only | Any period | Stores under 20 orders/month |
Xero’s Native WooCommerce Connector
Xero offers a basic WooCommerce app in its marketplace. It syncs invoice and contact data on a daily basis. It does not separate gateway fees from gross sales, does not handle payout reconciliation, and does not map tax amounts to the correct liability accounts automatically. For very low-volume stores with simple tax requirements, it works. For stores above 50 orders per month or selling in VAT/GST jurisdictions, it falls short quickly.
Manual CSV Export
WooCommerce can export orders to CSV. You can import that CSV into Xero manually or via a data mapping tool. This approach handles any volume if you have the time — but it requires a manual step per payout cycle, does not capture gateway fees without a separate gateway export, and produces no payout reconciliation structure. Most stores outgrow it by the time they’re thinking about a Xero connection.
Dedicated Sync App (SyncTools)
SyncTools connects WooCommerce to Xero via the WooCommerce REST API and Xero’s OAuth API. Every transaction — sale, refund, gateway fee, shipping, and tax — posts to the correct Xero account in real time or as a daily batch, depending on your preference. Payout reconciliation uses a clearing account model: when the gateway deposit hits your Xero bank feed, it matches the clearing account in one click.
For most growing WooCommerce stores, SyncTools is the practical path. The rest of this guide covers how to set it up.
Setting Up Your Xero Chart of Accounts for WooCommerce
Before connecting any integration, build the right account structure in Xero. Trying to retrofit your chart of accounts after syncing two months of data is substantially more work.
Recommended WooCommerce Accounts in Xero
Revenue accounts:
- WooCommerce Gross Sales — product revenue at full order value, before fees or refunds
- WooCommerce Shipping Income — shipping charges collected from customers (if you want this as a separate revenue line; some stores fold it into gross sales)
Contra-revenue account:
- WooCommerce Refunds — customer refunds reduce gross revenue; keeping them separate from the revenue account preserves gross sales visibility
Expense accounts:
- Stripe Processing Fees (or PayPal Fees, Square Fees — one per gateway) — payment gateway charges
- WooCommerce Shipping Costs — what you actually pay to ship (if different from shipping income collected)
- WooCommerce Discounts — if you run promotions or apply coupon codes and want to track discount impact separately
Liability account:
- Sales Tax / VAT / GST Payable — tax collected on behalf of the tax authority. This is not your revenue. In Xero, map this to the relevant tax rate (20% VAT for UK, 10% GST for Australia, 15% for New Zealand) so your tax return populates automatically.
Clearing account (bank type):
- WooCommerce Clearing — a bank-type asset account that acts as a staging ledger. Every WooCommerce transaction posts here at gross value. When the net gateway payout arrives in your actual bank account and appears in the Xero bank feed, you match it against the clearing account. The balance should zero out with each payout cycle.
WooCommerce to Xero Account Mapping Reference
| WooCommerce Transaction | Xero Account | Account Type |
|---|---|---|
| Product sales (gross) | WooCommerce Gross Sales | Revenue |
| Shipping collected | WooCommerce Shipping Income | Revenue |
| Customer refunds | WooCommerce Refunds | Contra-revenue |
| Stripe processing fees | Stripe Processing Fees | Expense |
| PayPal processing fees | PayPal Fees | Expense |
| VAT / GST collected | Tax Payable | Liability |
| Coupon / discount codes | WooCommerce Discounts | Expense |
| Gateway payout deposit | WooCommerce Clearing (matched to bank) | Bank account |
How to Connect WooCommerce to Xero with SyncTools
Step 1: Set Up Your Chart of Accounts in Xero
Create the accounts listed in the section above before you connect the integration. In Xero, go to Accounting → Chart of Accounts → Add Account. Add each account with the correct type (Revenue, Expense, Liability, Bank). The WooCommerce Clearing account must be set up as a Bank type — this is what lets Xero’s bank reconciliation module match gateway payouts to it.
Step 2: Connect WooCommerce to SyncTools
- Sign up at app.synctools.io and log in.
- Click Add Integration and select WooCommerce.
- Enter your WooCommerce store URL (e.g.,
https://yourstore.com). - SyncTools generates a WooCommerce REST API connection — authorize it in your WooCommerce admin under WooCommerce → Settings → Advanced → REST API. SyncTools walks you through this step.
- Once connected, SyncTools reads your order history and confirms the integration is live.
No developer credentials or manual API key entry are required for most WooCommerce installations.
Step 3: Connect Xero to SyncTools
- In SyncTools, click Add Accounting System and select Xero.
- Click Connect to Xero — you’ll be redirected to Xero’s OAuth authorization page.
- Log in to Xero and select the organisation you want to sync to.
- Grant SyncTools access. SyncTools requests read/write access to contacts, invoices, payments, and bank transactions — no API keys required.
Step 4: Map WooCommerce Transaction Types to Xero
In the SyncTools account mapping screen:
- Map Product Sales → WooCommerce Gross Sales
- Map Shipping Collected → WooCommerce Shipping Income
- Map Refunds → WooCommerce Refunds
- Map Stripe Fees → Stripe Processing Fees (or equivalent gateway)
- Map Tax Collected → Tax Payable (and select the correct Xero tax rate — 20% VAT, 10% GST, etc.)
- Map Clearing Payouts → WooCommerce Clearing
SyncTools pre-populates sensible defaults based on your Xero chart of accounts. Review each mapping and adjust where your accountant has specific preferences.
VAT/GST note: If you’re UK VAT-registered, select the appropriate Xero VAT rate in the tax mapping (Standard Rate 20% for most goods). SyncTools will post transactions with the correct Xero tax codes, which means your VAT return in Xero’s Tax module populates automatically from WooCommerce sales data.
Step 5: Configure Sync Settings and Run Your First Sync
Sync mode options:
- Real-time — each WooCommerce order creates an invoice in Xero within minutes. Best for stores that need up-to-date financials throughout the day.
- Daily batch — all transactions are grouped into a single daily journal entry. Reduces Xero invoice volume; preferred by accountants managing high-volume stores.
Payout reconciliation: Enable the Clearing Account reconciliation mode. This ensures every transaction posts to your WooCommerce Clearing account at gross value. When Stripe or PayPal deposits the net payout to your bank and it appears in your Xero bank feed, it will match the clearing account balance — one-click reconciliation, no manual matching.
Click Run First Sync to import historical transactions (Standard and Plus plans support full backfill history; Starter plans cover 90 days).
Open Xero and verify:
- WooCommerce orders appear in the correct revenue accounts
- Gateway fees appear as separate expense entries
- Tax collected is in the Tax Payable liability account, not in revenue
- The WooCommerce Clearing account balance matches your next expected gateway payout
Payout Reconciliation: How the Clearing Account Works
This is the part that confuses most WooCommerce + Xero setups, so let’s walk through a concrete example.
Scenario: Your WooCommerce store takes £500 in orders during the week. Stripe charges 1.4% + 20p per transaction (UK rate). You issue one £50 refund. Stripe deposits the net payout to your bank.
What SyncTools posts to Xero:
- £500 gross sales → WooCommerce Gross Sales (revenue)
- £7.20 Stripe fees → Stripe Processing Fees (expense)
- £50 refund → WooCommerce Refunds (contra-revenue)
- Net clearing balance: £442.80
What Stripe deposits: £442.80 to your bank account.
In Xero’s bank feed: £442.80 appears as a bank transaction. You click Match — Xero matches it to the WooCommerce Clearing account, which also shows £442.80. Reconciliation complete. Your P&L correctly shows £500 gross sales, £50 refunds, and £7.20 fees — giving you accurate gross margin data, not just the net payout.
Without SyncTools, you’d manually extract the £7.20 in fees from Stripe’s dashboard, create a manual journal entry, then match the £442.80 deposit by hand. Across 300 orders a month with multiple gateways, that’s hours of work per payout cycle.
WooCommerce Xero Integration: UK, Australia, and New Zealand Considerations
WooCommerce + Xero is the standard stack for UK, Australian, and New Zealand e-commerce businesses. Each jurisdiction has specific requirements SyncTools handles automatically.
UK VAT
If your WooCommerce store is VAT-registered, SyncTools maps collected VAT to the correct Xero tax rates (Standard Rate 20%, Reduced Rate 5%, or Zero Rate as applicable per product). Xero’s VAT return (VAT100) then pulls from these mapped rates — meaning your quarterly VAT return in Xero is populated directly from WooCommerce transaction data, without manual calculation.
Making Tax Digital (MTD) compatibility: Xero is MTD-compliant for VAT. As long as WooCommerce transactions are correctly mapped via SyncTools, your VAT submissions flow from WooCommerce → SyncTools → Xero → HMRC with no manual steps.
Australia GST
SyncTools maps WooCommerce tax lines to Xero’s GST on Sales tax rate (10%). When you run your Business Activity Statement (BAS) in Xero, the GST collected from WooCommerce orders is pre-populated. For WooCommerce stores selling to Australian customers from overseas, SyncTools handles the distinction between taxable and GST-free supplies.
New Zealand GST
New Zealand GST at 15% maps to Xero’s standard GST rate. The same clearing account reconciliation model applies — GST collected flows to a Tax Payable liability account, keeping it out of your revenue until the GST return is filed.
Ongoing Reconciliation: What to Check Monthly
After setup, month-end reconciliation for a WooCommerce Xero store should take under 30 minutes if the mapping is correct.
Monthly checklist:
-
Clearing account balance: At the end of each payout cycle, your WooCommerce Clearing account should show a zero or near-zero balance after all gateway deposits are matched. Any remaining balance indicates an unmatched payout or a transaction that didn’t sync correctly.
-
Gross sales vs gateway deposits: Compare your WooCommerce Gross Sales revenue account total for the period against all gateway deposits plus the net clearing balance. The math should reconcile: Gross Sales − Fees − Refunds = Total Gateway Deposits.
-
Tax liability: Your Tax Payable account should show the total VAT/GST collected for the period. Confirm this matches your WooCommerce tax report for the same period.
-
Refund completeness: Open WooCommerce and check for refunds processed in the period. Confirm each refund appears in Xero’s WooCommerce Refunds account. SyncTools captures refunds in real time, but if a refund was processed while SyncTools was offline, it may need a manual sync.
-
Gateway fee accuracy: Pull your gateway fee report from Stripe, PayPal, or Square for the period. Compare the total to the gateway fee expense accounts in Xero. A variance of more than 1–2% warrants investigation (usually a timing difference on refund-related fee reversals).
Common WooCommerce Xero Integration Mistakes
Booking the net payout as revenue. Recording the Stripe deposit as income understates gross sales and makes fees invisible. Always book gross revenue to the income account and fees to expense accounts separately.
Mapping tax to a revenue account. VAT and GST are collected on behalf of the tax authority. If they post to your revenue account, your income is overstated and your tax liability is invisible. Tax must always go to a dedicated liability account.
Skipping the clearing account. Without a clearing account, every gateway payout requires manual matching of multiple transaction lines. The clearing account model reduces monthly reconciliation to a single match per payout cycle.
Using a single “WooCommerce Fees” account. Gateway fees, referral fees, and shipping costs have different tax treatment and margin implications. Keeping them in separate expense accounts gives you better P&L visibility and makes accountant reviews faster.
Not handling refunds as contra-revenue. Refunds posted as negative revenue to the gross sales account obscure your actual sales volume. A separate WooCommerce Refunds contra-revenue account lets you see both gross sales and the refund rate independently.
Frequently Asked Questions
Does WooCommerce integrate with Xero natively?
WooCommerce does not have a native Xero integration at the accounting level. Xero offers a basic WooCommerce connector through its marketplace that syncs contacts and invoices, but it does not handle gateway fee separation, payout reconciliation, or VAT/GST mapping. For complete automation, use a dedicated sync tool like SyncTools.
How does payout reconciliation work between WooCommerce and Xero?
SyncTools uses a clearing account model. Every WooCommerce transaction posts to a WooCommerce Clearing account in Xero at gross value. When your gateway deposits the net payout to your bank and it appears in the Xero bank feed, it matches the clearing account balance — one-click reconciliation. See the full worked example in the payout reconciliation section above.
Can SyncTools handle multi-currency WooCommerce stores with Xero?
Yes. SyncTools supports WooCommerce stores selling in multiple currencies. Each transaction is posted in its original currency to Xero, and Xero’s native multi-currency features capture exchange rates and handle FX gain/loss accounting. This covers GBP, EUR, AUD, NZD, CAD, and USD selling combinations.
What WooCommerce payment gateways does SyncTools support?
SyncTools handles Stripe, PayPal, Square, and most major WooCommerce payment gateways. Each gateway’s fees are extracted and mapped to dedicated expense accounts in Xero — so if you run Stripe and PayPal simultaneously, each shows as a separate line on your P&L.
Does SyncTools support VAT for UK WooCommerce stores?
Yes. SyncTools maps WooCommerce tax amounts to the correct Xero VAT rates (Standard Rate 20%, Reduced Rate 5%, Zero Rate). Transactions post with Xero tax codes so the VAT return (VAT100) populates automatically. Xero’s MTD-compliant VAT submission then sends directly to HMRC.
How long does the WooCommerce Xero integration setup take?
Most store owners complete the full setup — connecting WooCommerce and Xero, mapping accounts, and running the first sync — in 15 to 20 minutes. The WooCommerce REST API and Xero OAuth authorization steps each take under two minutes. Account mapping is typically five to ten minutes for stores with straightforward configurations.
Can I backfill historical WooCommerce orders into Xero?
Yes. SyncTools supports historical backfill on Standard and Plus plans. You can import past WooCommerce orders, refunds, and fees into Xero covering the full backfill period — useful when migrating from spreadsheets or switching from another accounting system mid-year.
Ready to connect WooCommerce to Xero? Start your free SyncTools trial — most stores are live in under 20 minutes.
For broader Xero setup across multiple platforms, see the Xero eCommerce accounting guide. For WooCommerce with QuickBooks, see the WooCommerce QuickBooks integration guide. For general WooCommerce bookkeeping, see the WooCommerce accounting guide.
Related integrations:
- WooCommerce Xero Integration overview — full feature details, pricing, and setup for the SyncTools WooCommerce Xero connector
- Shopify Xero Integration overview — for multi-channel sellers also running a Shopify store
- Amazon Xero Integration overview — for multi-channel sellers also selling on Amazon
See the integration page
WooCommerce Xero Connector
Ready to automate your accounting?
Connect Shopify, WooCommerce, or Linnworks to QuickBooks, Xero & more. Setup in minutes.