Connecting Shopify and Xero: what small businesses should know
If you sell online through Shopify and keep your books in Xero, sooner or later someone asks why the two don't just talk to each other. They can. But "connect Shopify to Xero" sounds like one switch, and it's really a handful of decisions. Get them right and your sales, fees and VAT land in the accounts with very little effort. Get them wrong and you swap retyping for a reconciliation headache.
This guide explains how the connection works in general terms, the decisions to make before you switch anything on, and how to keep it healthy afterwards. It applies whichever connector you use.
Why the numbers don't match on their own
The first thing to understand is why Shopify and your bank never seem to agree.
A customer pays £60 for an order. That money doesn't arrive in your bank as £60. Your payment provider, whether that's Shopify Payments, PayPal or another gateway, takes its fee and bundles that order with others into a payout. A few days later, one deposit lands in your bank account covering lots of orders, minus fees, minus any refunds.
So your bank feed in Xero shows one payout. Shopify shows dozens of orders. Neither is wrong. They're just describing different things: one describes sales, the other describes cash. The job of a good connection is to bridge the two so that payouts reconcile cleanly against the sales and fees behind them.
How a Shopify to Xero connection works
Most connectors follow the same basic pattern.
- Sales go into Xero as invoices or sales records, either one per order or as a daily or per-payout summary.
- Payments are recorded against a clearing account for each payment gateway. Think of it as a holding account where money sits between "the customer paid" and "it arrived in the bank".
- Fees are recorded as costs, so your accounts show the true cost of taking payments.
- The payout arrives in your bank feed and you reconcile it against the clearing account. If everything has posted properly, the clearing account balance drops back towards zero.
If you remember one thing, make it the clearing account. When it drifts away from zero and stays there, something isn't posting properly.
Decisions to make before you switch it on
Per-order or summary posting
Posting every order creates a lot of records in Xero. That gives you detail, but it can clutter your contacts and slow the file down if you sell in volume. Summary posting groups sales by day or by payout. It's tidier, and Shopify still holds the order-level detail if you ever need it.
There's no single right answer. Lower volumes with higher order values often suit per-order. High volumes of small orders usually suit summaries. Talk it through with your accountant, because it affects how they work too.
VAT
This is where most problems start. Check these before you go live:
- Prices including or excluding VAT. Make sure Shopify's tax settings match how you actually price, and that the connector posts VAT the same way.
- Different rates. If you sell a mix of standard-rated, reduced-rated and zero-rated products, each needs the right tax rate in both systems. Children's clothing and most books, for example, are zero-rated in the UK.
- Shipping. Delivery charges usually follow the VAT treatment of the goods. Make sure shipping is mapped to the right account and tax rate.
- Overseas customers. Selling to customers in the EU or elsewhere has its own VAT rules, which changed after Brexit. If you ship abroad, get advice before mapping those sales.
- Not VAT-registered yet? Set it up so it's easy to switch later. Keep an eye on your rolling 12-month turnover against the VAT registration threshold.
Because Making Tax Digital for VAT expects your return to come from digital records, getting the VAT mapping right at the start saves a lot of grief at quarter end.
Payment gateways
Each gateway settles separately, on its own timetable, with its own fees. Shopify Payments, PayPal and any buy-now-pay-later providers each need their own clearing account in Xero. Check that the connector you choose supports every gateway you take payments through.
Refunds, discounts and gift cards
- Refunds should reverse the sale and its VAT, and come out of the right clearing account.
- Discounts should reduce the sale value, not turn up as a mysterious cost.
- Gift cards are not usually sales when you sell them. They're money you owe the customer until it's spent. The VAT treatment depends on the type of voucher, so ask your accountant how they want gift cards handled before you map them.
Stock
Decide which system is the master for stock levels. Many Shopify sellers keep quantities in Shopify or a dedicated inventory tool and only send values to Xero. Trying to keep stock right in two places by hand is exactly the double entry you're trying to get rid of.
Customers
If you post per order, you'll create a contact in Xero for every customer. Some businesses want that. Many prefer a single "online sales" contact and keep customer details in Shopify, where they're actually useful.
Start date and history
Pick a clean start date, ideally the beginning of a VAT quarter or a month. Decide what happens to sales before that date. Pulling in years of history is rarely worth it and can make a mess of periods your accountant has already closed.
Choosing a connector
Xero's app store lists several Shopify connectors, and the options change over time, so check what's current. When you compare them, ask:
- Does it support per-order, summary, or both?
- Does it handle every payment gateway you use?
- How does it deal with refunds, partial refunds and gift cards?
- Can you map each product type, tax rate and shipping charge to the right account?
- Does it handle multiple currencies, if you sell in them?
- What happens when a sync fails? Who gets told, and how do you fix it?
- Can it handle more than one store, if you have or plan to have them?
Most offer a free trial. Use it on a copy of your setup or a quiet period, not your busiest week.
Setting it up: a sensible order
- Tidy your Xero chart of accounts and tax rates first.
- Create a clearing account for each payment gateway.
- Agree the posting method, VAT treatment and start date with your accountant.
- Install the connector and map products, shipping, discounts, fees and gateways.
- Run it for a short test period and reconcile every payout by hand against Shopify's payout reports.
- Fix any mapping problems, then go live from your agreed start date.
- Stop keying sales by hand. Completely.
Keeping it healthy
A connection isn't a fit-and-forget job. A short weekly check catches most problems:
- Have all payouts reconciled in Xero?
- Are your clearing accounts close to zero once payouts have landed?
- Has the connector logged any failed syncs?
- Have you added new products, gateways or shipping options that need mapping?
Give one named person this job. It takes minutes when it's done weekly and hours when it's left for the quarter end.
When off-the-shelf isn't enough
Ready-made connectors cover most small Shopify stores well. They can struggle when you have several stores, wholesale and retail customers on different terms, a warehouse system in the middle, or data that needs reshaping before Xero can use it. At that point, a connection built on Shopify's and Xero's APIs, or a simpler process, may be the better route.
If Shopify and Xero are only part of the picture, our guide on how to stop retyping data between your systems covers the wider process. And our joined-up systems page explains how we help small businesses connect the tools they already use.