Skip to content

Syncing stock between WooCommerce and Shopify: how it works

· 4 minute read

When the same product sells on a WooCommerce site and in a Shopify store, each store knows only about its own sales. A shirt sells on the site, and Shopify still shows it in stock until someone goes in and updates it by hand. Stock sync closes that gap: a sale in one store lowers the quantity in the other as well.

Why updating by hand doesn’t hold up

With a few orders a day you can manage: you go into the other store and lower the quantity. The trouble starts when orders come in during the evening, over the weekend or in the middle of a sale, and nobody is there to update. Every minute the stores are out of sync is a minute in which you can sell a product that has already run out. We wrote about that scenario, and how to avoid it, in the article on overselling.

What the sync carries, and what it doesn’t

Only stock: a quantity, “No limit” and “Out of stock”. Prices, names, descriptions and pictures stay as they are in each store. So you can sell the same product at a different price in each store, with a description that suits each one’s audience, and it still has a single quantity.

How it works in StoreDuet

You connect both stores by approving the connection inside each store, without handing over a password. The system reads the products from both and joins the same product by its SKU on its own. You turn the sync on, and from then on, every minute, the system checks what changed in each store and carries the change to the other.

The Overview screen: What syncs in each store
The Overview screen shows at any moment how many items are synced in each store. Sample data.

Every update sent to a store is read back from it, and is marked done only when the store returns exactly the quantity we asked for. Each such change is recorded in the activity log: what changed, in which store, and when.

When the stores’ quantities don’t match

Stores start sharing stock only when they agree on it. If size M has 3 on the website and 2 on Shopify, the system doesn’t decide on its own which number is right. The item is marked “Quantity differs” and stays out of the sync until you set one quantity for it in the stock editor. From then on it syncs like everything else.

An item whose quantity differs between the stores, marked “Quantity differs”
Size M of the sweater: 3 on the website, 2 on Shopify. Until the quantity is the same, the sync leaves it alone.

Products with sizes and colors

Each variation is an item in its own right, with its own stock. The system joins variations by their SKUs, and without SKUs by their values: size M on the website joins size M on Shopify, even if one store calls the attribute “Size” and the other “מידה”.

A Shopify store with several locations

Shopify lets you keep stock in several warehouses. StoreDuet reads and sets stock at one location, which you choose when you connect the store. An item counted somewhere else, for example at a fulfillment service, is shown as “Elsewhere” and isn’t synced, so that we don’t write a quantity to it that isn’t its own.

What you need to get started

  • A WooCommerce store and a Shopify store (or several of each: there’s no limit on the number of stores).
  • SKUs on your products, so the system can tell it’s the same product. We explain why that matters, and what to do when they’re missing, in the article on SKUs.
  • Quantities that match between the stores on the day you turn the sync on, or a few minutes to settle the ones that don’t.