Inventory Integration for Shopify and Xero: A UK Guide to Syncing Stock, COGS and Multi-Channel
21 May 2026 · 9 min read
For most UK retailers, the right inventory integration makes a dedicated platform (Unleashed or Cin7) the single source of truth for stock and cost, pushes real-time stock levels out to Shopify and other channels, and posts COGS and purchase orders into Xero. Avoid making Xero or a spreadsheet your inventory hub.
If you sell on Shopify and keep your books in Xero, inventory is usually the thing that breaks first. You oversell a product that was actually out of stock, your gross margin in Xero looks nothing like reality, and reconciling stock to your accounts at year end becomes a multi-day archaeology project. The fix is rarely "a better spreadsheet" — it is deciding where stock truly lives and letting an integration keep everything else in step.
This guide covers how UK retailers and wholesalers keep inventory in sync across Shopify, Xero and a dedicated inventory platform (typically Unleashed or Cin7): what data flows where, the role of a real inventory system versus spreadsheets, how COGS and purchase orders fit in, multi-channel selling on Amazon and eBay, and the gotchas — overselling and inaccurate cost of goods sold — that cause the most pain.
Why this is a data-integration problem, not an app problem
It is tempting to think "I just need an app to connect Shopify and Xero." But inventory cuts across three different jobs, and each system is built for only one of them:
- Shopify is a sales channel and storefront. It knows what you sold and can hold a stock number, but it is a poor master for stock across multiple channels.
- Xero is your accounting system. It cares about the value of inventory and the cost of what you sold — not real-time stock levels by SKU and location.
- An inventory platform (Unleashed, Cin7 Core, Cin7 Omni) is built to track stock by SKU, warehouse and batch, manage purchasing, and calculate landed cost.
The moment you have more than one sales channel, or you carry real stock value, these three need to agree continuously. That is a classic data integration problem: one source of truth per fact, defined flows between systems, and reconciliation you can trust. Treat it as "find an app" and you will keep patching symptoms.
Where should stock actually live?
This is the single most important decision, and it determines everything else.
- Shopify as master. Fine for a single-channel store with simple products: Shopify holds stock, you sell, it decrements. Once you add Amazon, eBay, a B2B portal or a second warehouse, Shopify struggles to keep accurate, real-time stock across all of them.
- A spreadsheet as master. Common, and almost always a trap once you pass a few dozen SKUs. Spreadsheets do not enforce stock at the point of sale, so they cannot prevent overselling, and they hold no audit trail. Fine as a temporary stopgap; never a system of record.
- A dedicated inventory platform as master. For multi-channel retailers and wholesalers, this is usually the right answer. Unleashed or Cin7 becomes the single source of truth for stock and cost; channels pull availability from it, and accounting is fed from it.
When a dedicated platform is the hub, the architecture becomes clean: stock flows out to your channels, and financial summaries flow out to Xero.
What flows where
Here is the typical data flow for a multi-channel UK retailer using an inventory platform as the hub.
| Data | From | To | Why |
|---|---|---|---|
| Available stock by SKU | Inventory platform | Shopify, Amazon, eBay | Prevent overselling across channels |
| Orders / sales | Shopify, Amazon, eBay | Inventory platform | Decrement stock, trigger fulfilment |
| COGS journal | Inventory platform | Xero | Accurate gross margin |
| Inventory valuation | Inventory platform | Xero | Correct balance-sheet stock value |
| Purchase orders & supplier bills | Inventory platform | Xero | Match purchasing to accounts payable |
| Sales summary / invoices | Inventory platform (or A2X) | Xero | Revenue, payouts, VAT |
| Product / SKU master | Inventory platform | Shopify, channels | Consistent catalogue |
The key pattern: the inventory platform owns stock and cost; Shopify owns the storefront; Xero owns the money. Each fact has one master, and the integration keeps the copies aligned.
Stock levels and overselling
Overselling — taking an order for stock you do not have — is the gotcha that damages customer trust fastest. It happens when channels do not see a shared, real-time stock figure.
The fix is to push availability from your inventory platform to every channel as orders come in, with low latency. Practical points for UK sellers:
- Sync frequency matters. A nightly batch is not enough for fast-moving SKUs across Amazon and eBay; you want near-real-time pushes after each sale.
- Buffer stock. Hold a small safety buffer on each channel so a brief sync lag does not cause an oversell on your last unit.
- Allocations, not just counts. A good inventory platform reserves stock when an order is placed, so the same unit cannot be sold twice across channels in the gap before fulfilment.
- Bundles and kits. If you sell bundles, the platform must decrement the component SKUs, or your counts drift.
If overselling is your main pain, the answer is almost always a dedicated inventory layer between channels — not tighter Shopify-to-Xero glue.
COGS accuracy: the silent margin killer
The second big gotcha is cost of goods sold. If Xero does not see accurate COGS, your profit and loss is fiction: you cannot see true gross margin, and you may be paying tax on a profit figure that is wrong.
The trouble is that COGS depends on cost, and cost is what the inventory platform tracks properly:
- Landed cost. True cost is not just the supplier price — it includes freight, duty and other import costs spread across units. UK importers especially need landed cost, or margins look healthier than they are.
- Costing method. FIFO, average cost or actual cost each produce a different COGS figure. Pick one deliberately; Unleashed and Cin7 handle this, a spreadsheet does not.
- Perpetual vs periodic. A dedicated platform posts a COGS journal to Xero as goods are sold (perpetual), so margin is live. Many small stores instead post a periodic cost journal at month or year end — simpler, but you fly blind in between.
Trying to make Xero itself track perpetual inventory across SKUs is usually a false economy. Let the inventory platform calculate cost and feed Xero a clean COGS journal and valuation figure.
Purchase orders and supplier bills
Inventory integration is not only about outbound stock. Purchasing closes the loop:
- Raise purchase orders in the inventory platform, where you can see reorder points and supplier lead times.
- When goods arrive, receipt them in — stock goes up, and landed cost is captured.
- The supplier bill flows to Xero as an accounts-payable bill, so purchasing and your accounts agree without rekeying.
This keeps your stock-on-hand, your committed-purchases position and your payables in one consistent picture — and removes a whole category of manual data entry. Where reordering follows predictable rules, AI automation can flag low stock and draft purchase orders for sign-off, though for most retailers the platform's own reorder points are enough to start.
Multi-channel: Amazon, eBay and beyond
Multi-channel is where a dedicated platform earns its keep. With Shopify, Amazon and eBay all selling from one stock pool, the platform:
- Maintains a single available-to-sell figure and pushes it to every channel.
- Pulls orders back from each channel for unified fulfilment and stock decrement.
- Consolidates sales into Xero with the right VAT treatment per channel — and here is a UK-specific gotcha: under marketplace facilitator rules, Amazon or eBay may account for VAT on certain sales, so those amounts must be posted differently from your direct Shopify sales. Lump them together and your VAT return will be wrong.
For the revenue and payout side of Shopify specifically, a tool like A2X often still handles the summarised sales journal and payout reconciliation, while the inventory platform handles stock and COGS. The two jobs are separate and can use separate tools.
Off-the-shelf platform vs custom integration
Be honest about what you need. For most UK retailers and wholesalers, an off-the-shelf inventory platform (Unleashed or Cin7) with its native Shopify and Xero connectors covers the common cases well — and we will say so when it does. A custom or supplementary API integration earns its keep when:
- You have an unusual channel or a bespoke B2B portal the native connectors do not support.
- Your COGS or revenue-recognition rules (subscriptions, deposits, bundles) outgrow standard mappings.
- You need consolidated posting across many entities or currencies into one Xero file.
- Sync frequency or volume pushes the standard connectors past their limits.
A sensible middle path is common: use the platform's native connectors for the standard flow, and add a small custom piece only for the edge case they cannot handle. As an indicative UK market guide — a range to sanity-check quotes against, never a price — a focused custom inventory integration commonly sits in the low-to-mid five figures, depending on the number of channels and the complexity of your rules. If Xero is your centre of gravity, our Xero integration work focuses on getting COGS, valuation and bills posting cleanly.
A practical rollout checklist
- Decide your source of truth for stock — almost always a dedicated platform once you are multi-channel.
- Map each fact to one master (stock, cost, revenue, VAT) before connecting anything.
- Set up landed cost and a costing method so COGS is accurate from day one.
- Push real-time availability to every channel, with a safety buffer.
- Confirm VAT mapping per channel, including marketplace facilitator sales.
- Run a parallel month and reconcile stock and COGS against your old process.
- Document the flows so your accountant and the next person understand them.
How APIwise can help
Getting Shopify, Xero and an inventory platform to talk is rarely the hard part — getting them to agree continuously, with no overselling and COGS you can trust, is. As the UK's API and AI integration specialists, we are vendor-neutral: if Unleashed or Cin7 with native connectors is the right answer, that is what we will recommend; if your channels or rules genuinely call for a custom build, we will scope and price it up front, fixed.
The simplest next step is our fixed-price Integration Health Check — we review how your stock, sales and accounts connect today, find the overselling and COGS risks, and give you a clear, costed plan. The fee is credited against an Integration Sprint if you book one within 90 days.
Book your Integration Health Check and let's make inventory across Shopify and Xero something you never have to second-guess.
Frequently asked questions
Do I need a dedicated inventory platform, or can Shopify and Xero handle stock between them?
For a single-channel store with simple products, Shopify as the stock master plus a sales sync to Xero can be enough. But as soon as you sell across multiple channels (Amazon, eBay, a B2B portal) or carry meaningful stock value, neither Shopify nor Xero is built to be a multi-channel inventory hub. A dedicated platform like Unleashed or Cin7 becomes the single source of truth for stock and cost, pushing availability to channels and COGS to Xero.
Why is my gross margin wrong in Xero even though sales are syncing?
Almost always because cost of goods sold is inaccurate or missing. Revenue syncs cleanly, but if COGS is not posted as goods are sold — using true landed cost (supplier price plus freight and duty) and a consistent costing method like FIFO or average cost — your profit and loss is fiction. A dedicated inventory platform calculates cost properly and posts a COGS journal to Xero, which is what gives you real margin.
How do I stop overselling across Shopify, Amazon and eBay?
Push a single, real-time available-to-sell figure from your inventory platform to every channel after each sale, rather than relying on nightly batches or per-channel counts. Hold a small safety buffer on each channel to absorb sync lag, use allocations so a unit reserved for one order cannot be sold again, and make sure bundles decrement their component SKUs. Overselling is a shared-stock problem, so the fix is a dedicated inventory layer between your channels.
How is VAT handled when I sell the same stock on Shopify and Amazon?
Carefully and separately. Under UK marketplace facilitator rules, Amazon or eBay may account for VAT on certain sales, whereas you account for VAT on your direct Shopify sales. If your integration lumps all channels into one VAT rate, your return will be wrong. The inventory platform or sales sync must map each channel's sales to the correct Xero tax treatment, with refunds reversing output VAT correctly. Confirm the right treatment for your setup with your accountant.
Want this set up properly — and handled for you?
We're APIwise, the UK's API & AI integration specialists. Start with a fixed-price Integration Health Check and we'll map the quickest path to getting your systems talking.