The two-warehouse problem: stock in transit between your own sites
By navichain team

The second warehouse usually arrives as good news: more space, closer to a group of customers, a lease too good to refuse. A few months later a new question appears at the weekly meeting. Forty cartons left the main site on Tuesday. The other site says it received thirty-six. Nobody is sure whether the other four are on a shelf somewhere, on the truck, or were never loaded.
That is the two-warehouse problem. Moving goods between your own sites feels like an internal matter, so it gets less paperwork than anything else in the building. No customer is waiting, no invoice is raised, ownership does not change. And that is exactly why stock goes missing there.
A transfer is two things at once
Every transfer between sites is a physical shipment and a ledger movement. The shipment moves the goods; the ledger movement moves the stock figure. Most problems come from doing one without the other.
- The goods move, the ledger does not. Site A still shows the stock, site B has it on the shelf but not in the system. A customer is promised goods from A that are no longer there, while B cannot sell what it holds.
- The ledger moves, the goods do not. Someone books the transfer in the office, the pallet is still standing in A’s dispatch area, and B is now short of stock it was never sent.
- The ledger moves once, in one step. The stock leaves A and appears at B at the same moment, as if the truck took no time. Whatever happens on the road, including a pallet left behind, is invisible.
Three states, not two
The fix is to treat a transfer the way you would treat a customer shipment, with a clear state at every point:
- At site A. On the shelf, in A’s stock, promisable from A.
- In transit. Dispatched from A, not yet received at B. Not promisable from either site, but still yours, still counted, still on a list.
- At site B. Received, checked and put away, in B’s stock.
“In transit” is the state that matters. It should be a real place in the ledger, with a quantity, a date and a document behind it, not a gap between two figures. Goods that are in transit for longer than the drive takes are a question somebody must answer, and the list of open transfers is where that question gets asked.
Two signatures, not one
A transfer is complete only when both ends have confirmed it.
Dispatch at A confirms what actually left: which articles, how many, on which pallets, on which vehicle. It takes the stock out of A and puts it in transit.
Receipt at B confirms what actually arrived, counted against what A says it sent. It takes the stock out of transit and puts it into B.
When the two agree, the transfer closes. When they do not, the difference stays open, as a short list with a name on it, until someone has found the goods or explained the difference. That is the whole discipline. It costs a scan at each end, and it turns “four cartons are missing” from a mystery into a question with two possible places to look.
The trade-off is worth stating: two-sided confirmation is slower than a single booking, and on a busy day the receiving site will be tempted to put goods away first and confirm later. A short rule helps: nothing goes on a shelf at B before the receipt is confirmed. Goods waiting for that stand in a marked receiving area, where they are still visibly in transit.
The truck in between
If the transfer goes on your own truck, it is a run like any other, with stops, times and a driver. If it goes with a carrier, it is a booking with a delivery note. Either way, the transport and the transfer should refer to each other, so that a question about the goods can be answered from the vehicle and a question about the vehicle can be answered from the goods.
When transport and warehouse sit in different systems, this link is what gets lost: the truck shows a completed run, the warehouse shows an open transfer, and nothing connects the two. We wrote about that seam in transport and warehouse in one system.
Month-end, year-end and the list nobody reviews
Open transfers are the first thing to check at any cut-off. Goods in transit at midnight on the last day of the year are in neither building and are still yours. If they are not on a list, they are in neither count either. We covered the year-end side in the year-end warehouse.
The weekly routine is simpler: one look at the open transfers list, sorted by age. Anything older than the drive takes gets a phone call. Most weeks the list is short. The weeks it is not are the weeks it saved you.
In navichain, stock is held per article and per warehouse, with every movement on the ledger, so the figure at each site is the figure the whole office works from. Reserved goods are held, so the same pallet is never promised twice, and reorder rules are set per warehouse. When goods move on your own trucks or a carrier’s, transport runs on the same stock and the same customers, with nothing re-typed. The warehouse page shows the rest, and pricing shows what it costs.