All articles

On hand, reserved, available: the three stock numbers a small business has to keep apart

Most overselling is not a counting error. It is one number doing the work of three, and the fix is a reservation that the warehouse actually respects.

9 min readERPOperations

Key takeaways

  • On hand is what is physically on the shelf, reserved is what confirmed orders have already claimed, and available is on hand minus reserved.
  • Promise customers the available number, never the on-hand number, or two orders will compete for the same units.
  • A reservation only protects stock if a shipment for another order is refused when it would take reserved goods.
  • Stock balances should change only through posted documents such as receipts, shipments, counts and returns, so every number has a trail.
  • A stock count corrects a discrepancy with a dated adjustment; it should never be a quiet overwrite of the balance.

A small business has three stock numbers whether it tracks them or not. On hand is what is physically on the shelf. Reserved is the part of that stock already promised to confirmed customer orders that have not shipped yet. Available is on hand minus reserved, and it is the only number you can safely promise to the next customer.

When a business tracks one number instead of three, it oversells. Not because anyone miscounted, but because the shelf still holds the units that belong to yesterday’s order, and the spreadsheet cannot tell the difference between “here” and “here and free”. This guide explains how the three numbers relate, when stock should be reserved, and what a system has to enforce for the numbers to stay true.

Three numbers, one formula

The relationship is simple enough to fit on a sticky note:

Available = On hand − Reserved

Sales promises the available number. The warehouse counts the on-hand number. The reservation is the bridge between them, created when an order is confirmed and released when that order ships, closes or is cancelled.

Here is a worked example. A shop selling espresso grinders has 40 units of one model in its main warehouse. Three confirmed orders for 10, 8 and 7 units are waiting to be picked.

NumberValueWhat it answers
On hand40How many are physically here right now?
Reserved25How many have we already promised to confirmed orders?
Available15How many can we sell to someone new today?

A salesperson looking at “40 in stock” will happily confirm an order for 20. The warehouse will then discover, at picking time, that it can ship only 15 of them without shorting someone who ordered first. Every overselling story has this shape: a correct on-hand number read as if it were the available one.

When stock should be reserved

There are three candidate moments, and each has a cost.

  • At the quote. Reserving for quotes locks stock against customers who may never buy. A busy sales team can make a warehouse look empty while the shelves are full.
  • At payment. Waiting for money means a confirmed order can lose its goods to a later customer who paid faster. You made a promise and broke it on a technicality.
  • At order confirmation. This is the moment you commit to the customer, so it is the moment the stock is set aside. It is the right default for most small businesses selling physical goods.

Whichever moment you choose, the reservation has to belong to a specific order and a specific warehouse. A reservation without an owner is a number nobody can release, and it slowly turns into phantom stock that is neither available nor actually spoken for.

A reservation is only real if shipping respects it

Many tools display a “reserved” column and stop there. The column is informative, but nothing prevents a shipment for a different order from taking the reserved units. On a busy Friday, whoever posts first wins, and the customer who ordered on Monday finds out on Tuesday.

A reservation that protects anything has to be hard: when a shipment would take goods reserved for another order, posting is refused, and the system says which orders would lose how much. There should be a way through for genuine exceptions (a key account, a damaged-goods swap) but it should require a specific permission, a reason, and leave a record. Otherwise the override becomes the habit.

The release rules matter just as much:

  1. A shipment releases the reservation for exactly what it shipped. Shipping 3 of 5 leaves 2 reserved.
  2. Closing or cancelling the order releases whatever is left.
  3. Nothing else releases a reservation. Not a manual edit, not a spreadsheet tidy-up.

Why balances should never be typed in

The fastest way to make a warehouse untrustworthy is to let anyone edit the balance. Someone notices the shelf holds 38, the system says 40, and they type 38. The number is now right and the history is gone. Was it a missed customer return? Two units broken in transit? A receipt entered twice last month? Nobody will ever know, and the same gap will reappear.

The discipline that fixes this is old and boring: stock changes only by posting a document. A goods receipt adds. A shipment subtracts. A transfer moves stock between warehouses. A return brings it back. A stock count, when it disagrees with the records, produces an adjustment with an author and a date. The balance is then never an input. It is the sum of the movement journal, and any odd number can be traced to the document that caused it.

The movement journal also becomes a diagnostic. A view of “adjustments this month” tells you how often the records disagreed with the shelf. A few adjustments after a stocktake are normal. Adjustments every week on the same product point to a process leak, usually unrecorded returns or picking from the wrong bin.

More than one warehouse, and when to reorder

Once stock sits in two places, a van and a unit, or two shops, each of the three numbers exists per warehouse. Twenty units available company-wide are no help if all twenty are in the other city and the customer collects tomorrow. Reservations should therefore belong to the warehouse the order ships from, and moving stock between sites should be a transfer document, not two hand edits that briefly leave the units in both places or neither.

The available number also tells you when to buy. The classic reorder point is average daily sales multiplied by the supplier’s lead time in days, plus a safety stock for slow deliveries and busy weeks. As an example: if the grinder sells two units a day, the supplier takes ten days, and you keep five units as a cushion, you reorder when available stock falls to 25. Use available rather than on hand for this. Units already promised to customers are not a cushion; they are gone.

Two habits make this work in a small business. Record a minimum stock level per product, so the reorder signal is written down rather than remembered. And record each supplier’s real lead time, not the one in their brochure, because a reorder point built on an optimistic lead time runs out every time.

Mistakes get reversed, not deleted

People post the wrong shipment. The answer is not to delete it, because deletion rewrites history that invoices, reports and the customer may already rely on. Accounting solved this centuries ago with the reversal, or storno: an equal and opposite entry that cancels the original while both stay visible. The goods return to stock, the original shipment shows as reversed, and a correct shipment is created fresh from the order.

Restrict who can post and reverse. In a small team that might be two people. It is a small friction that stops a balance from being quietly reshaped by whoever happens to be logged in.

How Nextora handles the three numbers

In the Nextora ERP, the Stock screen shows three columns for every product in every warehouse: Qty, Reserved and Available. Stock rows are neither created nor edited by hand. A row appears the first time a posted document puts a product into a warehouse, and changes only through movements: receipts, issues, transfers, adjustments and returns. The movement journal is read-only on purpose; an earlier version had a “new movement” form, and it was removed precisely because it let anyone shift a balance with no document behind it.

A confirmed sales order reserves its unshipped goods in the order’s warehouse. If the order asks for more than is available (on hand minus other orders’ reservations), the order page warns and names the product and the numbers. The reservation is hard: a shipment for another order cannot take reserved goods, and posting is refused with a note of which orders would lose how much. Only a role with permission to override the reserve can proceed, and they must give a reason, which is stored on the shipment and in the audit log. Cancelling a posting creates reversing entries rather than deleting anything.

The product catalogue keeps the rest close by. Expanding a product row shows its stock per warehouse with quantity, reserve and available, its latest movements and its suppliers with their lead times, which answers “where is it, and who do we buy it from” without leaving the list. Discrepancies are corrected with a stock count, which leaves a dated adjustment in the journal.

The sales order itself is where the CRM and the warehouse meet: it carries a link to the deal it came from, so the salesperson sees fulfilment progress and the warehouse sees who the customer is. The chain from deal to cash is covered in quote to cash for a small business, and the difference between the two systems in CRM vs ERP.

A one-hour inventory health check

You can test any stock setup, including a spreadsheet, with five questions:

  1. Can a salesperson see available, not just on hand? If they only see one number, assume they are overselling.
  2. Does confirming an order reduce available immediately? Confirm a test order and check before anything ships.
  3. What happens when a second order tries to ship reserved goods? If it simply goes through, the reservation is decoration.
  4. Can anyone type a new balance? If yes, the history of your stock is whatever the last person typed.
  5. Where do corrections go? A stock count should leave dated adjustments you can review, not silent overwrites.

Many spreadsheet set-ups fail several of these, and none of the fixes needs a bigger warehouse or more staff. They need the three numbers kept apart and a rule that only documents move stock. If your enquiries arrive through a web shop rather than a sales rep, the same logic applies: the store should receive the available number, not the shelf count, so it stops selling what is already promised. That is how Nextora’s WooCommerce and Shopify connections work: store orders arrive as sales orders, and available stock goes back to the store.

Questions people ask

What is the difference between on-hand and available inventory?

On-hand inventory is everything physically in the warehouse, including units that are already promised to customers. Available inventory is what is left once confirmed but unshipped orders are subtracted. If you have 40 units on the shelf and confirmed orders for 25 of them, on hand is 40 and available is 15. Only the 15 can be sold to someone new.

When should stock be reserved: at quote, at order confirmation or at payment?

For most small businesses, at order confirmation. Reserving at the quote stage locks stock for customers who may never buy, and reserving at payment lets a confirmed order lose its goods to a faster payer. Confirmation is the moment you have made a promise, so that is the moment the stock should be set aside.

What is available to promise (ATP)?

Available to promise is the quantity you can commit to a new order on a given date: current available stock plus incoming supply you trust, minus what is already committed. A small business usually starts with the simplest version, today’s on hand minus reservations, and adds expected receipts once purchase orders are reliable enough to count on.

Why does our stock number go wrong even though everyone is careful?

Usually because the balance can be edited directly. When anyone can type a new quantity into a cell, the number has no history, and nobody can tell whether the gap came from a missed receipt, an unrecorded return or a typo. Balances that change only through posted documents can always be traced back to the document that moved them.

See it on your own process.

Nextora brings CRM, projects, ERP, omnichannel conversations and AI employees onto one record model. Start a 14-day free trial, or book a demo and bring the process you want to fix.