Skip to content
← All articles

One inventory ledger, and why a stock number is never just a number

How Depotely keeps one truth about every unit you own, what each marketplace is told, and why two channels can no longer sell the same last piece.

· 4 min read

Most oversells have the same story. A unit sells on bol.com at 14:02, Amazon still shows it as available at 14:10, a second buyer takes it at 14:11, and someone spends the afternoon writing apologies. The root cause is rarely a bug. It is two systems that each keep their own stock count and only compare notes now and then.

Depotely keeps one count instead, and it keeps it as a ledger.

Every movement is an entry

A ledger is a list of movements, not a list of totals. Goods arrive: an entry. A buyer orders two pieces: an entry that holds two pieces for that order. The parcel ships: an entry that takes them off the shelf. A return comes back in good condition: an entry that puts one piece back. The number you see as "on hand" is the sum of those entries, which means it can always be explained line by line.

That has two practical consequences. First, nothing in Depotely edits a stock total directly, not even an import or a stocktake; everything is a movement with a reason. Second, a movement that is retried never counts twice. Orders are fetched again every twenty minutes, and the same order coming back a second time replays as nothing, because the hold for that order already exists.

What a channel is told is a decision, not the total

The number bol.com or Amazon sees is not your warehouse count. It is the result of a rule you set per channel, applied in a fixed order:

If you keep 142 cutting boards and give bol.com a buffer of five, bol.com is told 137. If Amazon gets 85 percent of what is free, Amazon is told 120. Both figures come from the same ledger, and when one of them sells, both are recalculated.

Mirrors: when the channel is the only count you have

Not every seller runs a warehouse. If you fulfil from bol.com's own stock figure and nothing else, Depotely treats the channel's number as a mirror of your shelf rather than extra stock. Mirrors are never added up: a Shopify store and an Etsy shop selling the same twenty candles are not forty candles. When several channels mirror the same shelf, Depotely trusts the one reporting the fewest units, which is the one that has seen the latest sale.

For bol.com specifically, the figure that counts is the corrected stock bol.com reports, not the amount you once sent. The sent amount is stale the moment an order comes in.

Fulfilment by bol.com and Amazon are real stock

Units sitting in bol.com's or Amazon's warehouses are not a mirror of anything; they are separate stock in a separate place. Depotely keeps them as their own locations, adds them to your total, and leaves them out of what it pushes to other channels, because you cannot ship a Shopify order from a pallet in a bol.com warehouse.

Where a sale is held

When an order comes in, the units are held on the balance that your total actually reads: your own location if the product has one, otherwise the mirror with the fewest units. Holding them anywhere else would leave the number the channels see unchanged, which is exactly the oversell the hold was meant to prevent. Two order syncs that try to hold units at the same moment wait for each other instead of overwriting each other.

What this means day to day

The ledger is not something you look at every day. It is the reason the numbers you do look at can be trusted.