How to make overselling stock physically impossible

Every business that's grown past a single till has, at some point, sold something it didn't actually have. A customer walks out with an item, and the system finds out it was already gone an hour later.
The usual response is a warning dialog: "Low stock — continue anyway?" Which someone, eventually, always clicks through.
A warning isn't a rule
The fix isn't a better warning. It's making the sale itself impossible to complete if the stock isn't there — checked against the exact warehouse the sale is shipping from, at the moment of sale, not against a cached total from this morning.
That means:
- Stock is tracked per warehouse, not as one aggregate number across every location.
- A sale can't be finalized if it would take any warehouse's quantity below zero.
- The number shown on screen is the number checked at checkout — no gap between what's displayed and what's enforced.
Why this matters more as you add warehouses
A single-location shop can get away with a spreadsheet and a careful eye. The moment you have two or more warehouses, "current stock" stops being one number — it's a number per location, and someone has to know which location a sale is actually shipping from before promising it to a customer.
That's the exact point where manual tracking quietly breaks, usually without anyone noticing until a customer does.
See how warehouse stock works in IDP, or talk to us about your specific setup.
