On-hand inventory
The total physical units in your warehouses right now — the starting point for every other inventory state, but never the sellable answer on its own.
By Oana Bradulet
On-hand inventory is the total physical stock in your warehouses, distribution centres, retail stores, and any other location you control — measured at a specific moment.
It's the most basic inventory metric, and almost always the wrong one to act on directly. On-hand is the starting point; what you can actually sell is on-hand minus everything that's already spoken for.
What "on hand" includes
A clean definition:
- Stock physically present at locations you operate
- Stock at 3PLs you operate
- Stock you own at consignment locations (assuming you've taken title)
- Stock you've taken title to that's in transit to your facility (sometimes — depends on policy)
What it doesn't include:
- Stock at suppliers' facilities you haven't taken title to
- Stock returned by customers but not yet inspected and put back
- Stock that's been damaged and is awaiting disposition
- Stock that's been counted but is actually missing (shrinkage)
The boundary cases matter operationally. A 1,000-unit on-hand figure that includes 200 units in QC limbo and 50 units that turn out to be missing is really 750 units of usable on-hand.
On-hand vs other inventory states
The relationships:
| Concept | What it represents |
|---|---|
| On-hand | Total physical stock at the location |
| Allocated | On-hand units committed to specific orders |
| Reserved | On-hand units held for known upcoming needs (promos, transfers) |
| Available to promise | On-hand minus allocated and reserved (and safety stock) |
| Safety stock | The portion of on-hand you protect as buffer |
| In-transit | Inventory you own but isn't yet at your location |
On-hand sits at the top of the stack. Every other state is derived from it.
Why on-hand alone misleads
Three common ways using on-hand directly causes problems:
- Overselling. A SKU shows 500 on-hand. 400 are allocated. The website still shows "in stock"; the next 200 orders get cancellation emails.
- Misreading inventory health. A category with 30 days of on-hand looks healthy; if half of it is allocated to a wholesale order shipping next week, it's actually 15 days.
- Confused stock counts. 1,000 on-hand might include 100 units of damaged returns, 50 units in QC quarantine, 200 units allocated. The "real" available number is 650.
The rule: on-hand is for finance and warehouse teams. Sales, customer service, and merchandising should be looking at ATP.
Inventory accuracy and on-hand
The on-hand figure in the system is only useful if it matches the physical reality.
The standard accuracy measures:
- Inventory accuracy % = (SKUs whose system count matches physical) / Total SKUs counted
- Cycle count accuracy = same calculation, applied to the rolling cycle count programme
- Wall-to-wall variance = total physical units / total system units (tells you whether inventory is over- or understated in aggregate)
Healthy operations target 98%+ inventory accuracy. Below 95% and operational decisions get unreliable — every replenishment trigger, every ATP calc, every stock alert is built on a number that might be wrong.
What causes on-hand to drift from reality
The usual causes:
- Receipt errors — units booked in but not put away (or vice versa)
- Pick errors — wrong unit picked, or right unit but quantity off
- Shrinkage — theft, damage, miscounting at receipt
- Returns processing delays — returns are physically there but not in the system
- Transfer ghosts — stock moved between locations but the system update lagged
- Bin location errors — units present but in the wrong place, so search misses them
A cycle count programme catches each of these incrementally. Wall-to-wall stocktakes catch them in bulk but disrupt operations.
On-hand at the location level
Aggregating on-hand across locations hides the operational reality. Total on-hand of 5,000 units sounds great. If it's split as 4,800 at Warehouse A (which only ships to Europe) and 200 at Warehouse B (which ships everything else), customers in the rest of the world are mostly going to see stockouts.
Always look at on-hand by location. The aggregate is for accounting; per-location is for operations.
On-hand vs in-transit inventory
You own both. They're at different stages of the journey:
- On-hand — at one of your locations, ready to be picked
- In-transit — owned by you, moving between locations or arriving from a supplier
Whether to show in-transit alongside on-hand depends on the use case. For ATP with reasonable lead time, in-transit can be relevant. For "ship today" decisions, only on-hand at the right location counts.
Common mistakes
- →Using on-hand directly for sales and customer-facing decisions. ATP is the right metric there; on-hand causes overselling.
- →Reporting aggregate on-hand without splitting by location. The aggregate hides whether stock is where the demand is.
- →Trusting the system on-hand figure without inventory accuracy controls. Below 95% accuracy and every downstream decision is built on sand.
- →Including damaged returns and QC-quarantine stock in the on-hand figure that drives planning. Those units exist but aren't usable.
How Lumina handles on-hand inventory for scaling brands
Lumina lets you configure which view of inventory you're working with — what's physically in the warehouse, or what's available to plan against — because the right number depends on the question you're asking.
Frequently asked questions
What is on-hand inventory?
What's the difference between on-hand and available stock?
Should in-transit inventory count as on-hand?
What's a healthy inventory accuracy rate?
Why does on-hand drift from physical reality?
Related terms
Available to promise— Available to Promise (ATP)
The quantity of stock that can be promised to new orders right now — what's on hand, minus what's already allocated, plus what's confirmed inbound within the promise window.
Allocated stock
Stock that's physically on hand but already promised to specific orders — present in the warehouse, but not available to sell to anyone else.
In-transit inventory
Inventory you own but isn't at your location yet — moving between supplier and warehouse, or between two warehouses you control.
Safety stock
Extra stock held above expected demand to absorb forecast error and lead-time variability without stocking out — expressed either as units or as time (days/weeks of cover). Same buffer, two units.