1. Home
  2. Blog
  3. How to Sync Inventory from Shopify to Xero
Guide · Shopify Store Development

How to Sync Inventory from Shopify to Xero

The official Xero integration syncs sales, not stock. Real inventory sync needs tracked items in Xero, matching SKUs, and an app that moves quantities. Here is the setup that works.

Shopify knows how many units you have. Xero needs to know the same number, or your cost of goods sold and your stock value will both be wrong. The problem is that the two systems do not agree on what to sync: Shopify tracks live, sellable stock, while Xero tracks the money value of that stock.

This guide shows the setup that actually works. The short version is that the free official integration is not enough on its own, because it moves sales, not stock. Real inventory sync needs three things: tracked items in Xero, SKUs that match on both sides, and an app that moves quantities. Each one is covered below.

The short answer

Xero's free Shopify integration, built with Amaka, sends your Shopify sales into Xero as a daily summary or as individual invoices, and it matches Shopify payouts to your bank account. It does not sync stock counts, and it does not account for US sales tax.

To sync inventory, you need tracked inventory items in Xero, one matching SKU per product and variant, and an app that moves quantities between the two systems. The apps that do this are QuickSync and Xero Bridge by Parex. Payout apps such as A2X and Link My Books reconcile money beautifully, but they do not change stock counts, so they are not inventory sync.

What the official Xero integration does (and does not do)

The official integration is the right starting point for the money side. It posts your Shopify sales into Xero, splits out fees and refunds, and matches each Shopify payout to the matching deposit in your bank feed, so reconciliation takes minutes instead of an afternoon. You can also import up to 90 days of past Shopify sales when you first connect.

What it does not do is just as important. It does not sync inventory levels or cost of goods sold, it does not import customer details on invoices, and it does not handle US sales tax. It also has hard limits: both systems must use the same base currency, you can connect only one Shopify store to one Xero organisation, and the integration needs a Xero Standard plan or higher.

So if your only goal is clean books, the official integration may be enough. If your goal is stock numbers that match in both places, you need the extra pieces below.

Set up tracked inventory in Xero first

Xero can track stock itself, for up to 4,000 items. But it only does this for items you mark as tracked. Each tracked item needs an inventory asset account and a cost of goods sold account, so that when a sale happens, Xero reduces both the item count and the stock value, and posts the cost to the right account.

Set this up before you connect any app. Go through your product list in Xero and make sure every product you sell on Shopify exists there as a tracked item, with a purchase price and a sale price. Items that are not tracked will still get sales posted against them, but their stock count will never move, which is exactly the mismatch you are trying to fix.

This is also the moment to clean up. Discontinued products, test products, and old variants that no longer exist in Shopify should be archived in Xero, not left as tracked items with stale counts.

Match your SKUs before you connect anything

The SKU is the key that links a Shopify product to a Xero item. If the keys do not match, the sync cannot tell which item a sale belongs to, and quantities either go nowhere or land on the wrong product.

Two limits catch people out. A Shopify SKU can be up to 255 characters, but a Xero item code stops at 30 characters, so long SKUs must be shortened on the Xero side before you map them. And every variant needs its own unique SKU: a t-shirt in three sizes is three items, not one, and syncing them under a single SKU will corrupt all three counts.

Before connecting anything, export your Shopify product list and your Xero item list, and line them up in a spreadsheet. Every Shopify SKU should have exactly one matching Xero item code. Fix duplicates, blanks, and typos now, while it is a spreadsheet job, instead of after the sync has already moved the wrong numbers.

Pick the right sync method for your store

There are four ways to move inventory data between Shopify and Xero, and they fit very different stores.

Manual CSV exports are the cheapest option and the worst one. Exporting inventory from Shopify, editing the file to fit Xero, and importing it by hand works for a store with a handful of products and a few orders a week. Past that volume, it is slow, error prone, and always out of date by the time you finish.

The official Xero integration is free to install and handles sales and payouts, but as covered above, it moves no stock. Use it for the money side, not for inventory.

A stock-sync app is the right choice for most stores. QuickSync starts at $19 a month for stock only, or $29 a month with orders included, and it moves quantities both ways. Xero Bridge by Parex starts from $15 a month and syncs individual orders or summaries, plus products and customers. Prices are as of late 2026, so check the current app listing before you commit.

Payout apps such as A2X, from $29 a month, and Link My Books, from $17 a month, turn each Shopify payout into a summary entry that matches your bank deposit to the cent, and higher plans add cost of goods sold journals. They are excellent for accounting, but they do not move stock counts, so they do not replace a stock-sync app.

Finally, a custom integration built on the Shopify and Xero APIs fits stores with unusual workflows, very high volumes, or several sales channels that all need one stock source. That is custom development work: a store build here starts from $400, and a custom Shopify development job can include the integration.

Connect the official Xero integration

Start with the official integration, even if you plan to add a stock-sync app afterwards. It handles the sales and payout side, and the stock app handles the quantities.

Log into both your Shopify and Xero accounts in the same browser. Find Shopify integration by Xero in the Shopify App Store or the Xero App Store and click Get this app. Connect the two accounts, then choose whether sales arrive as a daily summary or as individual invoices, and choose which payment gateways create invoices.

During setup you can import up to 90 days of past sales. After the first sync, open Xero and check that the first day of sales posted correctly: the invoice totals, the fees, and the payout match. If the first day is right, the rest will follow. If it is wrong, fix the mapping now, before weeks of bad data pile up.

Add a stock-sync app when you need quantities to move

With tracked items in Xero and matching SKUs in place, install the stock-sync app and map each Shopify product to its Xero item. This is the step where the spreadsheet from the SKU check pays off: most apps let you map by SKU in bulk instead of one product at a time.

With QuickSync, once tracked inventory is on, a Shopify sale takes one unit off the matching Xero item, and a quantity change made in Xero is picked up within about two minutes and sent back to Shopify and your other connected shops. Prices move one way, from Shopify to Xero. With Xero Bridge, you choose between individual order sync, which brings every order, product, and customer into Xero, or summary sync, which creates one invoice per payout. Both apps are covered in detail in this comparison of Shopify Xero integration apps, which also lists the payout apps that do not move stock.

Whichever app you choose, read its listing carefully before installing: some listings mention stock features without saying which direction the sync runs, and a one-way sync will not fix a two-way problem.

Test with one product before you switch everything on

Never switch on a full sync for your whole catalogue on day one. Pick one low-volume product, confirm its SKU matches on both sides, and run the sync for that product only.

Make a test sale, or change the quantity in Xero, and check both systems. The Shopify count and the Xero count should move together, and the cost of goods sold journal in Xero should show the right amount. If the numbers do not match, the cause is almost always a SKU mismatch or an untracked item, both of which are cheap to fix on one product and expensive to fix on a thousand.

Once the test product is right, roll the sync out in batches: your best sellers first, then the rest of the catalogue. Keep the SKU spreadsheet as your map, and note any product the app could not match, so nothing silently goes unsynced.

Keep the sync accurate after setup

A sync is not a set-and-forget job. Reconcile the counts weekly, at least for your top sellers, and watch for the three problems that break it most often.

First, new products. A product added in Shopify without a matching tracked item in Xero will sell without ever touching your stock records. Make creating the Xero item part of the new-product checklist, before the first sale.

Second, returns and refunds. A refund that does not put the unit back into stock will slowly drain your counts. Check that your app handles refunds the way you expect, and that returned stock goes back to the right location if you have more than one.

Third, other channels. If the same item also sells on Etsy, eBay, Amazon, or in person, one late update can sell your last unit twice. A stock-sync app that covers all your channels, with one system as the single source of truth, is what prevents that. If your store setup has grown past what an app can handle, a purpose-built accounting integration for the money side, plus a stock app for the quantities, is a common pairing.

Frequently asked questions

Does Xero integrate with Shopify?

Yes. Xero offers a free Shopify integration, built with Amaka. It sends Shopify sales to Xero as a daily summary or as individual invoices, and it matches Shopify payouts to your bank account. It does not sync stock counts, and it does not account for US sales tax.

Can A2X sync inventory from Shopify to Xero?

No. A2X turns each Shopify payout into a summary entry that reconciles with your bank deposit, and higher plans add cost of goods sold journals. It does not move stock counts between Shopify and Xero. For quantities, you need a stock-sync app such as QuickSync or Xero Bridge.

Do I need SKUs to sync inventory between Shopify and Xero?

Yes. The SKU is the key that matches a Shopify product to a Xero item. Keep SKUs short and unique, and remember that a Xero item code stops at 30 characters while a Shopify SKU can run to 255. Every variant needs its own SKU.

How much does it cost to sync Shopify inventory to Xero?

The official Xero integration is free to install, but it does not sync stock. Stock-sync apps start from about $15 a month: Xero Bridge from $15, QuickSync from $19 for stock only. You also need a Xero Standard plan or higher. Check the current app listing prices before you commit, because they change.

What happens if I sell the same product on more than one channel?

One late stock update can sell your last unit twice. Use a single stock-sync app that covers every channel, with one system as the source of truth, so a sale anywhere updates the count everywhere. Manual CSV updates cannot keep up once you sell on more than one channel.

Saqib Ali

Saqib Ali runs Globe Skillz, a Shopify SEO studio with development built in. Since 2019 he has worked on 180+ projects for merchants in 42 countries. More about Saqib →

Want to know what’s holding your store back?

Send me your store URL. I’ll record a short review of the biggest SEO and technical issues I can find — free, and yours to keep whether we work together or not.