TL;DR

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

NumberDefinitionUse it for
On handPhysical quantity in stock, right nowValuation, stock counts, physical planning
AllocatedThe portion already committed to sales orders or work ordersPicking, understanding what is spoken for
AvailableOn hand minus allocations and relevant stock holdsImmediate shipment decisions
Available to promiseAvailable plus confirmed incoming supply within the horizon, minus future demandQuoting 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.

On hand Allocations + stock holds Available Confirmed incoming supply Less unmet demand and buffers = available to promise

A worked example

One item, one week, four different answers to "how many do we have?"

PositionQtyDetail
On hand400Physically in the warehouse
Allocated to sales orders−260Three confirmed orders shipping this week
Allocated to work orders−80Reserved as components for a scheduled build
Quarantined pending inspection−35Physically present, not sellable
Available now25What you can actually ship today
On order, arriving day 9+500Confirmed purchase order, supplier acknowledged
Safety stock policy−50Buffer deliberately not promised
Available to promise, 14-day horizon475What 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.

Quarantine is not availability

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 atGainsCosts
QuotationNever quote what you cannot supplyStock locked behind quotes that mostly never convert
Order confirmationAccurate availability, oversell preventedNeeds expiry rules for orders that stall
PickingMaximum flexibility, no phantom locksTwo 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.

Keep reading
Manufacturing operationsBOM-to-build execution for project-led manufacturingCost & financial controlHow freight, duty and ancillary charges enter FIFO landed costChoosing softwareERP versus QuickBooks or Xero for operational workflows