Back to Blog

Stock Has More Than Two States: A Practical Control Map for Small Retailers

A single stock number can be technically correct and still give staff the wrong answer. This practical control map separates ordered, incoming, available, committed, returned, damaged, lost, and adjusted stock.

Adegoke Abisola2026-07-1610 min read
How-ToGuidesOperationsInventorySmall Business
Quick read

Stock is not simply in or out. A small retailer needs to know what has been ordered, what is on the way, what has arrived, what can be sold, what is already committed, what came back, what cannot be sold, and why a count changed. Clear stock states prevent the same unit from being promised twice, stop damaged returns from reappearing as sellable, and make purchasing and reconciliation easier. Start with shared definitions, record every movement with a reason, and review exceptions instead of repeatedly recounting everything.

Key takeaways

A stock screen can show 20 units and still leave a shop assistant unable to answer a simple question:

"Can I sell one now?"

That is because 20 can mean several different things.

Some units may be physically in the shop but already attached to customer orders. Some may be damaged. Some may be waiting for a quality check. Another delivery may be on the road, but not yet at the store. A return may be behind the counter, although nobody has decided whether it can go back on sale.

The total can be mathematically correct while the operating answer is wrong.

For a small retailer, stock control improves when every important quantity answers one clear question. What have we agreed to buy? What is moving towards us? What have we physically received? What can we sell? What have we promised? What came back? What was lost? What did someone adjust, and why?

That is the difference between counting products and controlling inventory.

One number is trying to do too many jobs

The phrase "in stock" sounds precise.

In practice, it can hide most of the decisions a retailer needs to make.

A buyer wants to know what has been ordered and when it should arrive.

A shop assistant wants to know what can be sold now.

An online-order team wants to know what has already been committed.

A manager wants to know what is damaged, missing, or awaiting inspection.

The owner wants to know why today's count differs from yesterday's.

If all five people look at the same total without clear definitions, each person can interpret it differently. That is how an ordinary stock movement becomes an oversold item, a duplicate order, an avoidable refund, or another manual recount.

Shopify's current inventory model illustrates the distinction. It separates on-hand stock from available, committed, unavailable, and incoming quantities. In that model, on hand is everything physically at a location. It can include units that are available to sell, committed to orders, or unavailable because they are reserved, damaged, under quality control, or held as safety stock.

The practical lesson is not that every retailer must copy one platform's labels.

It is that one number should not be expected to answer incompatible questions.

A practical stock-state control map

You do not need dozens of statuses. You need enough separation to stop one unit being treated as if it were in two places at once.

1. Ordered

Ordered stock records the commercial decision to buy.

It answers:

Ordered does not mean physically owned, received, or available to sell. A supplier can ship less, substitute an item, delay the order, or cancel a line.

Treating an order as available stock creates false confidence before anything has moved.

2. Incoming or in transit

Incoming stock is moving towards a location.

It answers:

This state matters because an order and a shipment are not the same record. One purchase order can arrive in several deliveries. A transfer between two stores can leave one location before reaching the other.

Incoming stock helps purchasing decisions, but it should not be promised as immediately sellable.

3. Received

Received means the goods physically arrived and someone checked them.

The receiving step should answer:

Shopify's purchase-order guidance separates the purchase agreement from physical movement. When stock arrives, the operator confirms, evaluates, accepts, or rejects the goods. Accepted quantities can become available. Rejected quantities do not.

That distinction prevents an expected quantity from silently replacing the quantity that actually arrived.

4. On hand

On hand means the item is physically at the location.

It does not automatically mean the item can be sold.

A useful control equation is:

`On hand = available + committed + unavailable`

The labels can differ between systems, but the logic matters. An item can be in the building and still be reserved, damaged, held for inspection, or otherwise blocked from sale.

5. Available

Available stock is what the store can confidently sell now.

This is the number that should support checkout and availability promises.

It excludes stock that is:

If a retailer has 12 units on hand, three committed to orders, and one damaged, the useful available quantity is eight. Showing 12 at checkout may be technically tied to a real physical count, but it creates a false selling promise.

6. Committed or reserved

Committed stock has been promised to a customer or order but has not completed the final fulfilment step.

This can include:

Committed stock needs an exit rule. It should move to fulfilled when the customer receives it, or return to available when the order is validly cancelled and the item is still sellable.

Without that rule, reservations become invisible stock traps.

7. Returned, pending inspection

A return is not automatically available stock.

The item may be unopened and perfect. It may also be incomplete, used, damaged, incorrectly labelled, unsafe, or suitable only for supplier return.

The safer workflow is:

1. Record the return.

2. Place the unit in a pending-inspection state.

3. Check condition, completeness, packaging, and policy requirements.

4. Move it to available, damaged, repair, quarantine, or supplier return.

5. Record who made the decision and why.

This small pause protects the next customer from buying a product that should never have returned to the shelf.

8. Damaged or otherwise unavailable

Unavailable stock is physically present but blocked from sale.

Reasons may include:

The reason matters. "Unavailable" without a cause becomes another holding area nobody reviews.

9. Lost, stolen, or missing

When a product cannot be found, the count needs more than a silent reduction.

Loss, theft, scanning mistakes, receiving errors, and counting errors have different operational consequences. Recording the reason helps a retailer see whether the same SKU, location, shift, or workflow keeps creating exceptions.

Square's documented adjustment reasons include recount, damage, theft, loss, restock return, spoilage, internal use, and samples. The important principle is that a quantity change carries an explanation.

10. Adjusted or reconciled

An adjustment is an event, not a permanent stock state.

It records the correction that moves the system back towards reality.

Every meaningful adjustment should capture:

Without that record, the number changes but the business learns nothing.

The movement matters as much as the state

A clean label tells staff where stock is now. A movement history explains how it got there.

The normal path might look like this:

`Ordered -> Incoming -> Received -> Available -> Committed -> Fulfilled`

But retail is rarely that tidy.

A realistic system also needs controlled exception paths:

These transitions are where stock accuracy is won or lost.

If staff can change the number but cannot record the movement, the system may look correct today and become impossible to explain tomorrow.

What unclear states cost a small retailer

The obvious cost is overselling.

The less visible costs are often larger:

Once staff stop trusting the meaning of a quantity, they start checking the shelf before answering the customer.

That manual check may prevent one mistake. It also reveals that the system is no longer doing its job.

A small-retailer implementation plan

Do not begin by inventing a complicated state machine for every SKU.

Start with the products and movements that create the most operational pain.

Define the minimum shared vocabulary

Agree what these words mean in your store:

Write the definitions down. If two staff members can interpret a label differently, the label is not yet a control.

Assign one trigger to each movement

Decide what causes stock to move between states.

For example:

Require reasons for exceptions

Normal sales can be automatic.

Exceptions need a reason.

Require a reason for damage, loss, theft, waste, internal use, recounts, and manual corrections. Keep the list short enough that staff will use it, but specific enough to reveal patterns.

Protect permissions

Not every team member needs the ability to rewrite a stock count.

Use permissions that match responsibility. Front-line staff may record a return or flag damage. A supervisor may approve a large adjustment. The owner may review unusual corrections.

The goal is not suspicion. It is a clear audit trail.

Review exceptions weekly

Do not recount the whole shop every week.

Review the products with:

Exception-led review directs attention to the places where the process is actually breaking.

The stock-state checklist

Before trusting a stock number, ask:

If those answers are unclear, the problem is not merely an inaccurate number. It is an inventory system that cannot explain its own number.

Where EzyCarto fits

The design principle behind EzyCarto is that small retailers should not have to stitch together several partial truths to understand the store.

POS, product records, inventory movements, and operating visibility should support one connected picture. A sale should have a stock consequence. A return should have a clear route. An adjustment should have a reason. Staff should be able to see what can be sold without becoming the reconciliation engine themselves.

That is the useful standard for retail software: not simply more inventory features, but clearer control over how stock moves through a normal, messy week.

For related guidance, read [Stockouts Are Not Always Demand Problems](https://ezycarto.com/blog/stockouts-are-not-always-demand-problems), [When the Online Store and the Till Need the Same Stock Truth](https://ezycarto.com/blog/when-the-online-store-and-the-till-need-the-same-stock-truth), and [The POS Wish List Is Not the Same as a Store System You Can Trust](https://ezycarto.com/blog/the-pos-wish-list-is-not-the-same-as-a-store-system-you-can-trust).

The better stock question

Do not stop at:

"How many do we have?"

Ask:

"How many can we sell, what happened to the rest, and can the system explain the difference?"

That is a stock number a retailer can act on.

Sources

CTA

See how EzyCarto is bringing POS, inventory movements, and retail visibility into one clearer operating workflow.

FAQ

What are inventory states in retail?

Inventory states describe where stock is in its lifecycle and whether it can be sold. Common states include ordered, incoming, received, available, committed, returned, damaged, lost, and adjusted.

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

On-hand stock is physically at a location. Available stock is the part of that quantity that can be sold after committed, reserved, damaged, or otherwise unavailable units are excluded.

Should incoming stock be included in available inventory?

No. Incoming stock has been ordered or dispatched but has not yet been received and accepted at the destination. Counting it as available can cause the store to promise stock it cannot yet fulfil.

How should a retailer record returned stock?

Put returned stock into a pending-inspection state first. After inspection, move it to available, damaged, repair, quarantine, or supplier-return status with a recorded reason.

What should an inventory adjustment record?

Record the SKU, location, previous quantity, new quantity, difference, reason, staff member, time, and any supporting note. This turns a correction into an auditable movement.

How does EzyCarto fit inventory control?

EzyCarto is being built around connected retail workflows so POS, product records, inventory movements, and operating visibility can support one clearer stock picture.