Retail & ecommerce / Inventory

Available stock is different from stock on hand

By Vikasraj YadavPublished 7 min read

For inventory head with commerce operations lead · Understand the problem

TL;DR — what you’ll learn

  • Calculate the quantity a new customer can buy from eligible stock after existing commitments and holds.
  • Check whether buffers and damaged stock are already included in an unavailable balance before subtracting them.
  • A shared stock figure needs a reservation rule; copying the same quantity to every channel does not allocate it.
  • Reconcile cancellations, receipts and late updates against current records before changing availability.

Topics: omnichannel inventory management · available to sell calculation · reserved stock · retail stock availability

All quantities, amounts, product codes and events are illustrative teaching examples.

A store has 50 lamps on hand. Its website accepts an order for 35. The warehouse team then explains that 12 lamps were already promised, four were damaged and six were held under an approved buffer policy. The website promised stock that was already committed or unavailable.

The useful question is: which units can this location promise to a new customer now? Define availability before speeding up the feed.

Build one stock account before combining channels

Start with one SKU, location, stock unit and observation time. Split on-hand lamps into four non-overlapping states: committed, damaged, buffer and available.

Scroll horizontally to see all columns.

Position at the observation time Units Treatment
On hand at this location 50 Physical quantity represented in the location ledger
Committed to existing orders 12 Excluded from new promises
Damaged and restricted 4 Excluded until an authorised disposition
Additional approved buffer 6 Excluded under the stated buffer policy
Available for a new promise 28 50 − 12 − 4 − 6

The result is valid only because the three deductions do not overlap. If the system already reports ten unavailable units comprising four damaged units and six buffer units, the calculation is 50 − 12 − 10 = 28. Subtracting the buffer again would incorrectly publish 22.

Platform terminology needs a field-level check. Shopify, for example, describes on-hand inventory as the sum of available, committed and unavailable quantities; incoming stock is a separate state. Map the retailer's ERP and channel fields to these meanings before using the formula. Shopify inventory states.

From location stock to a customer promise — illustrative units
  1. 50 on handConfirm SKU, location, unit and observation time.
  2. 12 committedExisting reservations remain protected.
  3. 10 unavailableFour damaged plus six buffer units, counted once.
  4. 28 availableApply channel and fulfilment eligibility before publishing.
Exception: overlapping holds, an unknown unit conversion or stale location data goes to the inventory owner. Keep the disputed quantity out of new promises under the approved fallback policy.

An incoming shipment of 20 lamps does not increase the 50 on-hand units before receipt. If the business offers preorders, it needs a separate promise with an expected date and a defined response to delay. Combining incoming and immediately available stock removes that distinction.

Location eligibility changes the answer

The next store may hold another 15 lamps but be unable to fulfil online orders. Perhaps the store is closed, has no packing capacity, or holds a variant that is inactive for that fulfilment route. A company-wide total of 43 available lamps does not establish that an online order for 40 can be fulfilled.

Maintain eligibility separately from physical quantity. The record should show why a location is excluded and who may change that decision. The required fields are practical: SKU, location, stock unit, quantity by state, reservation references, hold reason, last accepted update and permitted fulfilment routes.

The inventory head owns the quantity definitions and buffer policy. Commerce operations owns where a promise appears. Store or warehouse teams own the physical observations. An integration owner maintains the mapping and update behaviour. Show each discrepancy's owner in the shared view.

Publishing 28 to two channels does not create 56 units

Suppose both a marketplace and the retailer's website display 28. Two customers each order 20 before either channel receives an update. The visible numbers were individually correct at publication time; together, the requests exceed the shared supply.

Choose an explicit approach to this race:

Scroll horizontally to see all columns.

Approach Suitable condition What must be tested
Shared reservation authority Every relevant order can obtain a reservation before commitment Two competing requests cannot both claim the same units
Channel allocations Channels accept orders independently and allocation limits are enforceable Allocations total no more than the approved shared supply; transfers between allocations are controlled
Conservative published quantities Delayed feeds cannot be eliminated immediately A documented exposure limit, update cadence and response to overselling

A buffer can reduce exposure while feeds are delayed. It cannot prove that overselling is impossible. A marketplace's acceptance and update behaviour may also limit what the merchant can guarantee. Document that constraint before selecting the control.

For an illustrative allocation, the merchant assigns 16 units to its website and 12 to a marketplace. If the website sells eight, its remaining allocation is eight. It must not automatically republish the entire remaining shared balance of 20 while the marketplace still holds an allocation of 12.

Release a reservation from its own record

Consider a cancellation for two of the 12 committed lamps. If the reservation is still active and no other movement has occurred, committed stock falls to ten and availability rises from 28 to 30.

Now change the sequence. One lamp has already shipped before the cancellation reaches the inventory service. The cancellation cannot release two units merely because the original order quantity was two. It must determine which reservation remains active and which line has entered a different physical state.

Record the business event time and the time the receiving system accepted the update. Keep the reservation identity and the outcome of a previous release. A duplicate cancellation should return the earlier result rather than adding the quantity again. A later physical return follows receipt and inspection; it does not become sellable stock just because the customer received a refund.

The same principle applies to received stock. Confirm its actual disposition before adding it to the sellable pool. The partial-receipt guide shows how accepted and rejected quantities remain visible.

Choose the smallest change that fixes the definition

Use the platform's native stock states when they represent the business correctly. Begin by repairing field mappings or overlapping holds if those are the source of the error. A separate availability service becomes useful when multiple systems require a common reservation or allocation decision that none currently owns.

A first review can follow one oversold SKU through its location ledger, commitments, holds and channel updates. Compare the published value with a reconstruction from those records. If the reconstruction is impossible, identify the missing record before adding predictive logic or AI.

Use the following acceptance exercise:

  1. Start with the 50-unit example and obtain 28 available units.
  2. Represent damaged stock and buffer inside a ten-unit unavailable field; verify that availability stays 28.
  3. Try two requests whose combined quantity exceeds 28 and observe the agreed reservation or allocation outcome.
  4. Cancel an active reservation twice and verify one release.
  5. Receive an item into a restricted state and verify that it remains excluded.
  6. Delay a location update and confirm that the operator sees the age and the approved fallback action.

Record the result for each channel; acceptance behaviour can differ.

What to do with the result

A dependable availability figure explains both the included units and the exclusions. That makes an overselling incident a traceable decision about states, timing and channel authority.

  1. Select one SKU and reconstruct its availability at the time of a disputed order.
  2. Agree which system owns each stock state and which deductions overlap.
  3. Choose the reservation or allocation rule for competing channels.
  4. Test late cancellation, restricted receipt and stale updates before expanding the feed.

Discuss this workflow

Bring the field names and a redacted event sequence from one overselling incident to NextEdge Labs. The first assessment should identify the incorrect promise and the smallest control needed to prevent its recurrence.

START A CONVERSATION

Let’s talk about your next build.

Prepare your brief below, then review and send it in your email app to sales@nextlabsonline.com.

SELECTED INDUSTRYRetail & ecommerce

Article: Available stock is different from stock on hand · Inventory

THE FIRST CONVERSATION

Your product idea, AI opportunity or automation challenge—and a useful first milestone.

All fields are required.

A few sentences about the problem, your users and timing are enough.

We’ll use your details to respond to your enquiry. Please don’t include patient records, passwords or confidential information. Privacy Policy · Website Terms.

References

Sources checked 15 October 2026. Vendor documentation supports platform facts; the worked examples and diagrams are original.

About the author

Vikasraj Yadav writes about operational decisions, software and automation for NextEdge Labs.