Why "out of stock" should never stop your till taking money
A stock count is a guess about the world; the person at the till can see it. How to show stock on a till without a wrong number turning a customer away.
Showing stock levels on the till is obviously useful. A member of staff who can see there are three portions left can warn the next person in the queue instead of apologising after the fact.
The trap is what you do with that number when it reaches zero.
The number is a claim about the world, not the world
A stock count is the output of a chain: somebody set up a recipe, somebody counted at the last stocktake, every sale since has depleted it correctly, nobody has thrown anything away without recording it, and the delivery on Tuesday was received into the system rather than carried straight to the fridge.
Every link in that chain is a person having a busy day. The number is frequently wrong, and it is wrong in a specific direction: it says zero when there are three in the fridge, because the depletion ran and the receipt did not.
Meanwhile the person at the till is standing in the room. They can see the fridge. If the screen and the room disagree, the room is right.
So mark it, never block it
The rule we settled on: a zero stock count changes how a tile looks and never changes what it does. The tile gets an outline and a label saying none left. It is still tappable, still opens its options, still goes in the basket. Nothing about it argues with the person who can see the shelf.
A till that refuses the sale in that situation has turned a data-entry mistake into a lost customer, and there is no way for the member of staff to override it without a manager, a password, or a workaround that will become the habit.
If a kitchen genuinely wants an item to stop selling, that is a different action with a different name — marking it sold out, deliberately, which also stops it on the QR menu and the delivery apps. Running out on paper and being sold out are not the same event and should not share a mechanism.
Four states, and two of them show nothing
The other half of getting this right is silence. There are four cases and only two deserve ink:
- Plenty. No chip. A warning on every tile warns about nothing.
- Untracked. No chip. Nobody is counting this item, and printing "0 left" about something nobody counts is worse than silence. Empty is not zero.
- Low. The number, so somebody can plan.
- None left. Marked, and still sellable.
That untracked case is the one most systems get wrong, because in a database a missing number and a zero look similar and are opposites.
Make it optional
Plenty of kitchens do not track stock at item level and never will. Showing stock chips to them is clutter about data they do not maintain. It should be a setting, off until a venue asks for it, and the wording of that setting should make clear it never stops a sale — because that is the question the person reading it is actually asking.