
Most retailers who connect WooCommerce to their POS expect inventory sync to be the easy part. One product, one number, updated in both places. That holds true right up until the moment your catalogue contains a shirt in four sizes and three colours, a gift hamper made of six separate items, and stock sitting in two different branches. That is where the simple picture stops working.
In the first post in this series we covered what WooCommerce integration does at a high level. This one goes a layer deeper into the part that causes the most confusion in practice, which is how stock counts behave once your products stop being simple single units.
Why Simple Stock Counts Stop Being Simple
A basic product is easy. You have forty units, someone buys one online, you have thirty nine everywhere. No ambiguity. The trouble starts when a single listing on your website actually represents many different physical items on your shelf, or when one physical item can be sold through more than one listing.
Both situations are extremely common in UAE retail. A clothing store sells the same style in a size and colour matrix. A gift shop sells items individually and also inside hampers. A retailer with branches in Dubai and Sharjah holds the same SKU in two locations. Each of these breaks the one product, one number assumption in a different way, and each needs the integration to handle it deliberately rather than by accident.
The core principle: stock should always be tracked at the level of the physical item you actually count on a shelf, never at the level of the listing a customer clicks on.
Product Variations: Stock Lives at the Variant, Not the Product

In WooCommerce, a shirt available in small, medium and large across three colours is one variable product with nine variations. Your customer sees a single page with two dropdowns. Your stockroom, however, contains nine genuinely different items, each with its own barcode and its own count.
Correct sync means each of those nine variations maps to its own record in your POS and carries its own stock number. When a customer buys a medium in navy, only the medium navy count drops. The product page stays live because the other eight variations still have stock, but that one option greys out at checkout.
The failure mode worth knowing about is what happens when a system syncs at parent product level instead. The site shows the shirt as in stock because the combined total across all variations is still positive, so a customer orders a medium navy that sold out in store that morning. This is the single most common cause of cancelled online orders in apparel retail, and it is a configuration problem rather than a software limitation. A fashion POS system built around a size and colour matrix handles this natively because the matrix is how it stores stock in the first place.
Bundles and Kits: One Sale, Several Stock Movements
Bundles work the opposite way round. Instead of one listing representing many items, one listing consumes several items when it sells. A Ramadan gift hamper containing dates, chocolates, coffee and a box is a single product to your customer but four stock deductions to your inventory.
Handled properly, selling one hamper online reduces each component by the quantity that hamper contains. If the box itself is a stocked item, that drops too. Crucially, the hamper’s own availability is calculated from its scarcest component. If you have plenty of dates and chocolates but only three boxes left, you can only sell three hampers, and the website should say so.
This matters more than it sounds because bundle components are usually sold individually as well. Someone buying a bag of dates on its own reduces the number of hampers you can build, and without linked stock the website will happily keep selling hampers you can no longer assemble.
Worth checking: before a seasonal promotion, confirm your bundles are calculating availability from components rather than carrying their own manually entered stock number. Manually set bundle stock is where most festive season overselling comes from.
Multi-Branch Stock: Deciding What Online Is Allowed to See

Once you run more than one location, every SKU has several stock numbers rather than one, and you need to decide which of them your website is allowed to sell from. There is no universally correct answer here, only a choice that should match how you actually fulfil orders.
Some retailers point the online store at a single fulfilment location, usually a warehouse or the largest branch. This is the simplest arrangement and the easiest to keep accurate, though it means stock sitting in other branches is invisible to online shoppers even when it is available.
Others pool stock across all branches so the website shows combined availability. This sells more, but it only works if you can genuinely move stock between locations or fulfil from whichever branch holds the item. Pooling stock you cannot actually reach is how orders end up cancelled a day later.
A middle path is to pool a defined subset, for example two branches in the same emirate that already transfer stock between them daily, while excluding a distant branch. Whichever model you choose, multi-location integration is what makes the branch-level numbers available to the website in the first place, and the same branch-level visibility feeds the reporting that multi branch businesses rely on.
How the Three Cases Compare
| Scenario | Where Stock Is Tracked | What Goes Wrong Without It |
|---|---|---|
| Simple product | One count per SKU | Rarely an issue |
| Variations | One count per variation | Sold-out sizes stay orderable online |
| Bundles and kits | Components, availability derived | Bundles sell beyond available parts |
| Multi-branch | One count per branch | Orders placed against unreachable stock |
| Reserved stock | Held separately until fulfilled | Same unit promised to two customers |
The Reservation Gap Between Order and Dispatch
There is one more case that catches retailers out, and it sits in the window between an online order being placed and it being packed. During that period the unit is committed but still physically on the shelf, which means a walk-in customer can buy it at the counter.
The fix is for a WooCommerce order to reserve its stock the moment it is placed rather than when it ships. The unit leaves available stock immediately and moves into a committed state, so the counter no longer sees it as sellable. Without this, click and collect and next-day delivery both become unreliable during busy periods, precisely when you can least afford it.
Getting the Setup Right the First Time

Most of the problems above are decided during configuration rather than discovered later, which is why the setup conversation is worth having properly. Before going live, it helps to confirm three things: that every variation carries its own barcode and count, that bundles derive availability from components, and that your branch model matches how you genuinely fulfil orders.
It is also worth running a deliberate reconciliation in the first few weeks. Pick a category, count it physically, and compare against both your POS and your website. Any mismatch at that stage is a configuration issue you can still fix cheaply. The same discipline that reduces retail inventory shrinkage applies here, since an online channel simply gives stock one more place to go missing from.
MultiTech POS supports variations, component-based bundles, branch-level stock, and order reservation as part of the standard WooCommerce POS integration, with the underlying counts held in the same stock management system your counter already uses.
Not sure your variations and bundles are syncing correctly?
Book a demo and we will walk through your own catalogue structure, branch setup, and fulfilment model before anything goes live.
Frequently Asked Questions
1. Does each product variation need its own barcode? It is strongly recommended. Barcodes at variation level are what let staff scan the exact size and colour at the counter, which is what keeps the online count for that specific variation accurate.
2. What happens if a bundle component runs out? The bundle’s available quantity drops to what its scarcest component allows. Once a component hits zero, the bundle shows as out of stock even if every other component is well stocked.
3. Can I show combined stock from all my branches online? Yes, stock can be pooled across locations so the website reflects total availability. It is only worth doing if you can genuinely fulfil from any of those branches, otherwise you risk cancelling orders.
4. Does an online order block that item from being sold in store? It should. Stock is reserved when the order is placed rather than when it is dispatched, so the unit is removed from what the counter can sell while it waits to be packed.
5. How often should I reconcile online and in-store stock? Weekly cycle counts on a rotating category work well, with a fuller check in the first month after going live while any configuration issues are still surfacing.
