Inventory

Locations

A location is somewhere stock physically sits — a shop floor, a warehouse, a storeroom. Every shop starts with one.

Each location has three switches that matter:

  • Active — inactive locations are ignored everywhere.
  • Fulfils online orders — whether orders can be routed here to be picked and shipped.
  • Pickup location — whether customers can choose to collect from here.

You can have a warehouse that fulfils online orders but takes no walk-ins, and a shop floor that does both.

The four numbers

Every item at every location has four counts, and one derived from them:

NumberMeaning
On handPhysically present, right now.
CommittedPaid for, not yet shipped.
ReservedHeld by a checkout in progress.
IncomingOn a transfer that has not arrived.
AvailableOn hand − committed − reserved. What can still be sold.

Available is calculated, never typed. It is the only number checkout consults, which is what stops two customers buying the last one.

Stock moves to reserved the moment a customer starts checkout, and is held for 15 minutes. Pay inside that window and the reservation becomes committed. Abandon it and the hold is released automatically and the stock is sellable again — you never have to clear these by hand. A customer who runs out of time is returned to their cart with it intact.

On hand can go negative after a correction. That is deliberate: it means the shelf disagreed with the system, and hiding it would lose the discrepancy.

Every movement is recorded

Nothing changes a stock number without writing a line in the ledger saying what happened, when, and why. Sales, fulfilments, returns, transfers, damage, corrections — all of them.

The reasons are: sale, fulfilment, return restock, manual adjust, transfer in, transfer out, receipt, damage, reconcile, cancellation.

This is what makes "why does this say 4 when I count 6?" an answerable question. The stock number is a running total of the ledger, and a nightly job re-derives it and alerts if the two ever disagree.

Adjustments

An adjustment is how you correct a count or record something that happened outside a sale — a delivery arrived, a box was damaged, a stocktake found two extras.

Every adjustment needs a reason. You can add a note as well, and the two are kept separately: the reason is what reports group by, the note is what you will actually want to read in six months.

Transfers

A transfer moves stock between your own locations, in two steps:

  1. Send — the units leave the origin's on hand and become the destination's incoming.
  2. Receive — the units leave incoming and join the destination's on hand.

Between the two they belong to neither shelf, which is true: they are in a van. Receiving fewer than were sent is normal — record what actually arrived, and the shortfall stays visible rather than quietly vanishing.

Untracked items

Some things do not need counting: made-to-order pieces, digital downloads, services. Turn tracking off for those and they are always purchasable, with no availability check anywhere.

Low stock

Set a threshold per item per location, and items at or below it are flagged. A threshold on your shop floor and a different one on your warehouse is the normal case, not an edge case.

Where to find it

Manage → Inventory, with low stock, the movement ledger and transfers inside it. Locations and Purchase orders sit beside it.