---
title: When stock actually moves
summary: >
  Stock leaves your inventory at exactly one moment: fulfilment. Creating an
  order does not move it, and neither does picking or packing — those only
  allocate it, which is the app's word for reserving it. This is deliberate.
  Allocating and deducting are different events, and treating them as one is
  how systems end up showing stock that was never really there.
type: concept
group: fulfil
step: 6
permission: null
prerequisites: []
related:
  - /help/sync/product-shows-zero-online
  - /help/receive/receive-a-delivery
last_updated: 2026-08-07
---

**A hotel room is booked long before anyone sleeps in it.**

A booking makes the room unavailable to the next caller. The room is still there,
still clean, still countable. Nothing has been used until a guest walks in.

Stock works the same way. An order *allocates* units — reserves them, in everyday
English. Only fulfilment consumes them. The app says **Allocated** everywhere it
shows you this number, so that is the word used from here on.

This page covers:

- [What each step does to your numbers](#what-each-step-does-to-your-numbers)
- [Allocated is not gone](#allocated-is-not-gone)
- [Why not deduct earlier](#why-not-deduct-earlier)
- [Where you can see it happen](#where-you-can-see-it-happen)

## What each step does to your numbers

Only the last row changes what you own.

| Event | On hand | Allocated | Available to sell |
| --- | --- | --- | --- |
| Order placed | Unchanged | Goes up | Goes down |
| Order picked | Unchanged | Unchanged | Unchanged |
| Order packed | Unchanged | Unchanged | Unchanged |
| Order fulfilled | Goes down | Goes down | Unchanged |
| Order cancelled | Unchanged | Goes down | Goes up |

Picking and packing move boxes around a room. They are warehouse states, not
inventory events, and the system treats them that way on purpose.

## Allocated is not gone

Three numbers describe a product, and confusing them causes most arguments.

- **On hand** is what is physically in the building. If you counted every shelf, this is the number you would get.
- **Allocated** is the part of on hand that is already promised to an order.
- **Available** is on hand minus allocated. This is the number a storefront should be offering.

So 100 on hand with 30 allocated means 70 available. Your shelves still hold 100 units.
A count that finds 100 has found the right answer, and the 30 are not missing.

Cancel the order and those 30 return to available instantly. Nothing was deducted, so
nothing needs putting back.

## Why not deduct earlier

Deducting at order time creates stock that was never really there.

Orders get cancelled, payments fail, duplicates are placed, and carts are abandoned
after a reservation is made. Every one of those has to be reversed. Systems that
deduct early accumulate reversals, and a reversal that fails silently leaves a phantom
number that nobody can trace back to a real event.

Deducting at fulfilment avoids the entire class of problem. One physical thing happened
— goods left the building — and one entry records it. That entry is never edited or
deleted, so any number can be traced to the event that produced it.

The trade-off is honest and worth naming. Between the order and the shipment, your on
hand figure is higher than what you can sell. That gap is exactly the allocated number,
and it is visible rather than hidden.

## Where you can see it happen

Open any product and look at the movement history.

Every line is one event with a date, a quantity, a location and a reason. A fulfilment
shows as a decrease. A delivery shows as an increase. A transfer shows as one decrease
and one increase, at two different locations, on the same day.

If a number looks wrong, the history is the place to start. The question is never
"what is the number", it is "which event last changed it".

## Explore

**Recording a delivery.** The mirror image of this page: the one routine way stock goes up.
[Learn more →](/help/receive/receive-a-delivery)

**A product shows 0 online.** Storefront numbers are copies of these figures, pushed out
after the fact.
[Learn more →](/help/sync/product-shows-zero-online)
