On hand is physical stock; allocated stock is already reserved for existing work. Available stock deducts those reservations and relevant holds. Available to promise adds time: confirmed supply and demand within an agreed horizon, with buffers and exclusions made explicit.
Every oversold order traces back to someone reading the wrong number. Usually it is the most prominent number on the screen — quantity on hand — which is exactly the one that should never be used to make a promise.
The four numbers
| Number | Definition | Use it for |
|---|---|---|
| On hand | Physical quantity in stock, right now | Valuation, stock counts, physical planning |
| Allocated | The portion already committed to sales orders or work orders | Picking, understanding what is spoken for |
| Available | On hand minus allocations and relevant stock holds | Immediate shipment decisions |
| Available to promise | Available plus confirmed incoming supply within the horizon, minus future demand | Quoting delivery dates on new orders |
The relationship is straightforward, and the failure is always the same one: a screen shows on hand, a person treats it as available, and the difference between them is the size of the problem.
A worked example
One item, one week, four different answers to "how many do we have?"
| Position | Qty | Detail |
|---|---|---|
| On hand | 400 | Physically in the warehouse |
| Allocated to sales orders | −260 | Three confirmed orders shipping this week |
| Allocated to work orders | −80 | Reserved as components for a scheduled build |
| Quarantined pending inspection | −35 | Physically present, not sellable |
| Available now | 25 | What you can actually ship today |
| On order, arriving day 9 | +500 | Confirmed purchase order, supplier acknowledged |
| Safety stock policy | −50 | Buffer deliberately not promised |
| Available to promise, 14-day horizon | 475 | What sales can commit to a new order |
On hand says 400. The honest answer to "can we ship 300 today?" is no — you have 25. The figures support a possible delivery of 300 in two weeks, provided the incoming shipment arrives as confirmed and no additional demand consumes that supply.
Both facts matter, and they point in opposite directions. Quoting from the 400 loses the customer when the order cannot ship. Quoting from the 25 loses the order that could easily have been filled from incoming supply. Only the two numbers together produce a promise that is both winnable and keepable.
Stock awaiting inspection or on a quality hold can still be physically on hand while being unavailable to promise. Its valuation, particularly where stock is damaged, requires a separate assessment. Systems that model only one quantity per item force this distinction into a spreadsheet or into someone's memory, and it reliably gets lost at the worst moment.
The promise horizon
Available to promise is only meaningful with a time window attached. "We have 475 available to promise" is incomplete; "475 available to promise within 14 days" is a commitment.
The horizon should reflect how far ahead your supply is genuinely reliable. Counting a purchase order arriving in 60 days as available to promise is only defensible if that supplier actually delivers on time at 60 days. Most operations set the horizon at the point where supplier reliability drops below the level they are willing to bet a customer commitment on.
What counts as confirmed supply also needs a rule. A purchase order the supplier has acknowledged with a date is reasonable. A purchase order sent yesterday with no response is not. A requisition that has not become an order certainly is not — and yet it appears in more availability calculations than anyone would like.
When to allocate
Allocation timing is a genuine trade-off between accuracy and flexibility.
| Allocate at | Gains | Costs |
|---|---|---|
| Quotation | Never quote what you cannot supply | Stock locked behind quotes that mostly never convert |
| Order confirmation | Accurate availability, oversell prevented | Needs expiry rules for orders that stall |
| Picking | Maximum flexibility, no phantom locks | Two orders can claim the same unit; overselling is discovered in the warehouse |
Order confirmation is the usual answer, with two supporting rules that matter more than the choice itself. Allocations need an expiry, so an order that goes quiet for 30 days releases its stock rather than holding it indefinitely. And they need priority, so that when supply is short someone decides which customer gets the units rather than the sequence of data entry deciding it.
Safety stock and buffers
Safety stock is inventory you deliberately choose not to promise, held to absorb demand variability and supply lateness. Its treatment across the four numbers is specific:
- On hand — included. It is real stock with real value on the balance sheet.
- Available — usually included, so it can be drawn on for a genuine emergency with a deliberate decision.
- Available to promise — excluded. If the buffer can be promised away routinely, it is not a buffer.
The alternative most operations end up with by default is worse: no system-level buffer, and instead an experienced salesperson who privately keeps a mental reserve. That works until they are on holiday, and it is invisible to everyone trying to plan around it.
How Datum handles it
Datum provides inventory records, stock movements, receipt cost layers and project-linked inventory workflows. These give the team evidence about where stock is held and how it has moved or been used.
A physical balance alone is not a delivery promise. When evaluating your setup, distinguish the stock and allocation views available to your team from a forward-looking ATP calculation. A configurable promise horizon, automatic reservation expiry or safety-stock exclusion should be confirmed explicitly before you rely on it.
For project work, allocated inventory and WIP also have a cost meaning. The cost layers explain value, while stock availability determines what can be used or promised.
What to check in your setup
- Define the warehouses, locations and holds included in each displayed quantity.
- Agree when reservations start, who can change them and how stale reservations are reviewed.
- Check which incoming dates and outstanding demand are reliable before introducing an ATP promise horizon.
Related questions
Why does on-hand stock overstate what I can sell?
Because some of it is already promised. If you hold 400 units and 340 are allocated to open orders, quoting from the on-hand figure will oversell by 340. The allocation is invisible in a simple stock count, which is why on hand alone is the wrong number to quote from.
What is the difference between available and available to promise?
Available is a snapshot: on hand minus allocated, right now. Available to promise is forward looking: it includes supply already on order and arriving within your promise horizon, so you can commit to a delivery date you do not yet have stock for.
Should allocations be made at order entry or at picking?
Allocating at order entry gives the truest availability picture and prevents overselling, but it can lock stock behind orders that never ship. Allocating at picking keeps stock fluid but risks two orders claiming the same unit. Most operations allocate at order confirmation and enforce an expiry on stale allocations.
How do safety stock levels interact with availability?
Safety stock is a buffer you choose not to promise. The cleanest approach is to subtract it from available to promise so the buffer is never quoted away, while keeping it visible in on-hand figures so it still counts as real inventory for valuation.

