Shopify Xero Integration
We connect Shopify and Shopify Plus to Xero so your accounts reconcile themselves — orders posted to the right ledger accounts, Shopify Payments payouts matched to your bank feed, UK VAT mapped correctly, and refunds handled as credit notes. Built for accountants who want the numbers to actually tie out.
Our Xero integration process
- Map the chart of accounts. We agree the mapping before any code: which Xero account codes receive sales, shipping, discounts, and gateway fees, and which tax rates map to UK VAT, zero-rated, and EU/export lines. A Xero integration that posts to the wrong account codes is worse than manual entry.
- Build the connector. Custom middleware over Xero's Accounting API with OAuth 2.0 and the correct scopes, scoped to your organisation via xero-tenant-id. Shopify orders post as ACCREC invoices (or a daily summary, your choice), and every write uses an Idempotency-Key so a retried webhook never duplicates an invoice.
- Reconcile payouts. Shopify Payments payouts are grouped and matched to your Xero bank feed with gateway fees split to a fee account — so the deposit on your statement reconciles in one click instead of line-by-line. Refunds post as credit notes against the original invoice.
- Verify + support. A real-order replay confirms VAT, fees, and account codes are correct before go-live, plus alerting on failed posts and a scoped support window. We respect Xero's per-organisation API rate limits with a queue so a busy sales day doesn't get throttled.
What's included
- Shopify orders posted to Xero as ACCREC sales invoices — or a daily summarised sales journal if you prefer fewer line items, your call
- Shopify Payments payout reconciliation — payouts grouped and matched to your bank feed with gateway fees split out automatically
- UK VAT handled correctly — tax rates mapped to the right Xero account codes for standard, zero-rated, and export sales
- Refunds posted as Xero credit notes against the original invoice, so returns reconcile cleanly
- Multi-currency support for stores selling across regions, posting in the right currency against the right Xero contact
- Idempotency-Key on every write plus a reconciliation pass — no duplicate invoices, and Xero totals that tie back to Shopify
Integration timeline
Typically 1-3 weeks
Order-to-invoice posting with payout reconciliation for a single-currency UK store is the fast end — 1-2 weeks. Multi-currency, multi-store, or B2B invoicing with bespoke GL mapping is 2-4 weeks. We confirm a window in writing once the chart-of-accounts mapping is agreed — the work is in getting tax and account codes right, not in the API calls themselves.
FAQ
- How does Shopify connect to Xero?
- Through Xero's Accounting API, authenticated with OAuth 2.0 and scoped to your organisation via the xero-tenant-id header. In practice a Shopify order is posted to Xero as an ACCREC (accounts receivable) sales invoice with line items mapped to your account codes and tax rates, and Shopify Payments payouts are reconciled against your Xero bank feed. Every write carries an Idempotency-Key so a retried request never creates a duplicate.
- Do I need A2X or a connector app, or a custom integration?
- Summariser apps like A2X or Bold are genuinely good at one thing — rolling Shopify payouts into a clean summary journal for reconciliation — and if that's all you need, we'll point you there rather than bill you for custom work. Custom is the honest answer when you need order-level invoices (not just summaries), multi-currency posting, B2B invoicing with payment terms, COGS/inventory journals, or a non-standard chart of accounts the summariser can't map.
- Should each Shopify order be a separate Xero invoice, or a daily summary?
- Both are valid and we support either. A separate ACCREC invoice per order gives you customer-level detail in Xero — useful for B2B and for chasing the occasional unpaid order — but high-volume B2C stores can generate thousands of invoices a month that clutter the ledger. A daily summarised sales journal keeps Xero clean and is usually right for high-volume D2C. We recommend based on your order volume and whether you invoice customers individually.
- How is UK VAT handled?
- Xero tax rates are mapped to the correct account codes during setup — standard-rated, zero-rated, and export/EU sales each post to the right place so your VAT return is accurate. This is the part summariser apps most often get wrong for UK merchants selling internationally, and it is exactly what we verify in the real-order replay before go-live.
- Does it reconcile Shopify Payments payouts?
- Yes — and it's the feature that saves the most time. A Shopify Payments payout is a single bank deposit covering many orders minus fees. We group the orders in that payout and match them to the deposit in your Xero bank feed, splitting the gateway fee to a fee account, so the line on your bank statement reconciles in one click instead of being unpicked by hand.
- How do you prevent duplicate invoices in Xero?
- Every write to Xero uses an Idempotency-Key (Xero supports keys up to 128 characters), so if a webhook is retried — which Shopify routinely does — Xero recognises the key and returns the existing invoice rather than creating a second one. We pair that with a reconciliation pass that checks Shopify order totals against Xero so nothing silently drifts.
- How much does a Shopify Xero integration cost?
- Order-to-invoice posting with payout reconciliation for a single-currency UK store typically runs £3K-£8K. Multi-currency, multi-store, or B2B invoicing with bespoke GL mapping is usually £8K-£18K. We share firm pricing in writing once the chart-of-accounts mapping is agreed — the cost is in the accounting logic, not the integration plumbing.