Glossary
ATP
The quantity a business can still commit to a new order right now: what is physically sellable, minus what earlier orders already own.
What it is
Available to promise is the answer to one question: if a new order arrives this second, how many can I say yes to? It starts from what is physically sellable, stock in the pick face and in bulk storage, and subtracts what is already allocated to orders that have not shipped. Damaged and quarantined stock are not sellable and do not count. Stock on the dock that has not been put away does not count either, because nobody can pick it yet.
That number, not on hand, is what a store or a marketplace should be told.
Why it matters
Every oversell is an ATP error. Either the store was given on hand instead of ATP, or ATP was computed from stale data, or two systems computed it differently and the higher one won. The customer does not see any of that. They see an order confirmation followed by a cancellation.
There is a subtler failure: a client that derives part of ATP by subtraction from two other numbers. The result matches the server by algebra and therefore no test can catch it being wrong. A number that is right by construction has not been verified; it has only been restated.
A worked example
ITEM-01: forty-eight pieces in the pick face, ninety-six in bulk, twelve on the dock awaiting putaway, four damaged, and eighteen already allocated to open orders. On hand is one hundred and sixty. ATP is forty-eight plus ninety-six, minus eighteen: one hundred and twenty-six. The twelve on the dock join ATP the moment putaway completes. The four damaged never do. A new order for one hundred and thirty is refused for the last four, by name, rather than accepted and regretted.
How DockingWare does it
ATP is composed once, on the server, from the ledger’s buckets: pick face plus bulk, minus allocated, with damaged, quarantine and dock excluded, and any per-product channel reserve applied. Every screen reads the same fields; the product page shows the pieces as separate chips (pick available, bulk available, allocated) rather than one blended figure. After each movement that changes it, the new ATP is published to every mapped listing, and a scheduled reconciliation names any drift between the channel and the ledger. Kits publish the minimum their components can support.
Questions
- Is ATP the same as on-hand quantity?
- No. On hand counts everything in the building, including units already reserved for orders, units in quarantine, units damaged, and units still on the dock. ATP is only what can still be promised.
- Why does the number on my store differ from my warehouse count?
- Usually because the store is showing on hand and the warehouse is thinking in ATP, or the other way round. The store should show ATP. If it shows on hand, it will sell units that are already sold.
- Should ATP be computed in the warehouse system or in the store?
- In the warehouse system, once, and published. Every place that recomputes it is a place it can drift.