A single-location business can run stock control out of a spreadsheet for years. Someone counts what's on the shelf, updates a cell, and as long as they're careful, the number stays roughly honest.
The moment a second warehouse opens, that habit stops being a minor inconvenience and starts being a liability.
The question a spreadsheet can't answer fast enough
"Do we have this in stock?" used to mean checking one number. With two warehouses, it means checking two numbers, knowing which one is current, and knowing which one a specific customer's order should actually ship from. A spreadsheet doesn't enforce any of that — it just holds whatever was typed into it last, correct or not.
Inter-warehouse transfers make this worse. A transfer is really two updates that both have to happen — stock leaves one location and arrives at another — and a spreadsheet has no way to guarantee both sides actually got edited. One warehouse looking short and the other looking overstocked is usually not a counting mistake. It's a transfer that only got recorded on one side.
What actually needs to be true
- Stock is tracked per warehouse, not as one combined number. "Total stock" is a sum of real, separate numbers — not the only number that exists.
- A transfer updates both sides in the same action. Not two edits, two people, two spreadsheets that might disagree.
- Nothing can be sold from a warehouse that doesn't have it — a sale has to check the exact location it's shipping from, not a company-wide total that might be sitting in the wrong place.
- A transfer that's in progress is visible as in progress, not as stock that's silently vanished from one warehouse and not yet arrived at the other.
- Receiving, gate passes and transfers stay attached to the warehouse they belong to, so anyone checking a location's history sees exactly what moved in and out of it, not a mixed record from every location at once.
A worked example: a transfer between two warehouses
Say you have two warehouses — a main store and a smaller satellite location — and a customer at the satellite location wants twenty units of an item that's actually sitting at the main store. A transfer that's tracked properly looks like this:
- The stock is deducted from the main warehouse's count the moment the transfer is created, not the moment someone remembers to update a sheet.
- The satellite warehouse shows the stock as "in transit," not as already available to sell, until the transfer is actually received there.
- Once the transfer is received, the satellite warehouse's count increases in the same action — there's no separate step where someone has to manually add the twenty units on the other side.
- If anyone checks either warehouse's stock in between, they see an accurate, current picture — not a number that's quietly wrong until someone reconciles it later.
Compare that with a spreadsheet version of the same transfer: someone reduces the main store's cell, then has to remember to separately add the same twenty units to the satellite store's cell, on a different sheet, possibly hours later. If they forget, get interrupted, or someone else edits the file in between, both numbers end up wrong — and nobody knows until a customer is promised stock that isn't actually there.
Common mistakes with multi-warehouse stock
- Treating "total stock" as the number that matters. A combined total tells you nothing about which specific location can actually fulfil an order.
- Recording a transfer as a single edit instead of two connected ones. If a transfer only updates the sending side, or only the receiving side, both warehouses end up wrong in opposite directions.
- Promising stock before checking the right warehouse. A customer promised stock that's actually at the other location is a transfer that hasn't happened yet, not a sale that's ready to go.
- Letting stock go negative "just this once." A negative stock number at any single warehouse is usually the first sign that a sale or transfer was recorded against the wrong location — see how to prevent overselling stock entirely.
Questions to ask before adding a second warehouse
- How will we know which warehouse a specific sale should ship from? If the answer depends on someone remembering, rather than the system checking, that's a gap worth closing before it costs a promised order.
- What happens to a transfer if it's only partly recorded? A system that shows a transfer as "in progress" is safer than one where stock simply disappears from one side until someone finishes the paperwork.
- Can staff at each location see only their own warehouse, or does everything get mixed together? Separating the view by location makes it much easier to trust the number on screen.
- How will receiving and gate passes be recorded once there's more than one location? If incoming stock and outgoing dispatches aren't tied to a specific warehouse from the start, the same ambiguity that affects transfers will show up in ordinary receiving too.
- What's the plan for the first week after the second warehouse opens? Most of the early mistakes happen in that first week, while staff are still learning which number to trust — a short, deliberate settling-in period catches problems before they become habits.
What good multi-warehouse software actually enforces
It's worth being specific about what "handles multiple warehouses" should actually mean in practice, rather than taking the phrase at face value from any vendor:
- Every stock movement — a sale, a transfer, a receipt, a gate pass — is recorded against one specific warehouse, never against the business as a whole.
- A transfer cannot be half-recorded. Either both the sending and receiving side update together, or the transfer stays visibly incomplete until it does.
- Reports can be pulled per warehouse as well as combined, so a manager can see both the individual location's picture and the wider business at once.
- Roles and permissions can be scoped to a location, so staff at one warehouse aren't required to see or touch stock at another to do their own job.
None of this is exotic. It's the basic discipline a spreadsheet can't enforce on its own, because a spreadsheet has no concept of "this cell belongs to this warehouse and nothing else."
The real signal to watch for
It's rarely "we need software" that triggers the switch — it's usually a specific bad afternoon: a customer promised stock that turned out to be in the other warehouse, or a transfer that got recorded once and then quietly went stale. That's the moment worth acting on, before it becomes a pattern instead of an incident.
Moving off a discontinued desktop tool? Read what to check in an inFlow Inventory alternative before you choose.
See how warehouse transfers work in IDP, check plans that include multi-warehouse transfers, or request a free trial on your own stock data.
