Two warehouses, a few shops, a webshop and a B2B channel, all selling from the same stock. Every location knows what is on its own shelves, but nobody knows what is still available in total right now. The cost of that gap rarely appears on a single invoice: it is spread across purchasing, transport, customer service and your people’s hours, which is why it stays invisible for so long.
Is your issue mainly one webshop out of step with one warehouse? Then start with why your stock does not match your webshop; that article explains that mismatch. This one is about the next step: several locations and channels sharing the same stock, what that costs and how to connect them.
Where the costs sit
Outdated stock data between locations costs money in five places; the first two show up in your figures, the other three usually do not.
- Duplicate purchasing. One branch reorders while the same items gather dust at another: capital tied up twice, plus storage for stock you did not need.
- Missed and cancelled sales. A customer is told no while the item sits elsewhere, or gets a confirmation for a product that is already gone. The latter costs the most: a cancellation or return, and a customer who looks elsewhere next time.
- Express and inter-branch transport. A shortage at one location is covered with an express delivery or a van run from another branch, both dearer than regular replenishment and both avoidable with a correct stock figure.
- Shrinkage. Products that expire, get damaged or go out of fashion because they sit too long where they do not sell, while badly needed elsewhere.
- Hours. Calling between branches, recounting, correcting orders, dealing with customers. This item never appears on an invoice and is therefore forgotten most often.
A calculation you can do yourself
You do not need a study to know what this costs you. Take one representative month and fill in the five items with your own numbers:
- cancellations and lost sales due to an incorrect stock figure, times the average margin per order
- invoices for express deliveries and unplanned runs between branches
- written-off stock of items that were still selling elsewhere
- purchase orders that proved unnecessary because another location already had the item
- hours spent coordinating and correcting, times an internal hourly rate
The result is a lower bound: the customer who does not return after a cancellation is not in it, and with repeat purchases or subscriptions that is the heaviest item of all. Put it next to the investment in an integration and the question of whether you need realtime usually answers itself.
How errors arise once locations share the same stock
Every system works from a snapshot. Between a sale being recorded in one place and the other place seeing it, there is a window in which the same unit can be sold, reserved or ordered twice. The more locations and channels, the more windows are open at once.
An example. One unit of an item is left. A customer orders it through the webshop and at that same moment a shop assistant picks it for a customer at the counter. Both systems still showed one in stock, because neither had seen the other’s sale yet. One of the two customers gets a cancellation.
Manual work widens that window: a transfer booked out at one warehouse but not yet booked in at the other, a delivery sitting in a spreadsheet until the end of the day. Manual data transfer between systems is a source of errors that hides itself.
How you notice that warehouse and sales no longer work together
That warehouse and sales work in isolation is rarely visible in the systems themselves; you notice it in the behaviour around them:
- stock counts that consistently differ from what the sales system says
- employees retyping data from one system into another
- a regular ‘sorry, not in stock after all’ to customers, with customer service left to sort it out
- orders left waiting at busy times because the warehouse does not know what has been sold
- buyers ordering per location, with no view of what other locations have on the shelf
If you recognise several of these, the question is not whether your systems should start working together, but when.
When realtime is necessary and when a daily synchronisation is enough
Realtime synchronisation becomes necessary as soon as more than one location or channel sells from the same stock, and more so when:
- online and offline sales share the same stock
- campaigns or seasonal peaks make stock change quickly
- products have a short shelf life or a high turnover rate
- business customers have availability contractually agreed
With one location, a low volume or stock strictly separated per channel, a daily exchange may be enough. A second branch or an extra channel turns that batch into a source of errors after all; an integration built for immediate updates from the start saves you that catch-up project.
How to connect warehouse and sales systems across locations
The solution starts not with software but with an agreement: which system is leading for the stock position? Usually that is your ERP or warehouse system; all other systems, from webshop to till to B2B portal, follow that source. Without that agreement, every discrepancy is a debate.
Then comes the integration: through your systems’ APIs, the connection points software uses to exchange data, every sale, receipt, return or transfer is passed on immediately. With two systems that can be direct; with several locations and channels an intermediate layer is wiser, a central layer that receives, translates and distributes movements, so a new branch or channel is connected once rather than to every system separately.
An integration alone is not the whole answer. You also need to decide who may sell the last unit: can the webshop sell down to zero, or does each shop keep a buffer? Such allocation rules are rarely found in a standard connector. Those work well for common webshop and warehouse combinations; with multiple locations, B2B reservations or processes of your own, custom work is more reliable, because it follows your rules rather than the other way round.
If your stock is structurally out of step between locations, start with the overview: which systems keep a stock figure, which movements are there and where does the difference arise? With that inventory and the calculation above, an integration can be developed with focus. Read how we approach that under API integrations; we are happy to think it through with you.
