A confirmed order promises ten units to a customer. The units are still on the shelf, but they should no longer be offered freely to someone else.
A stock reservation represents that middle state: physically present, commercially committed, not yet deducted. It gives accepted demand operational protection before the final stock movement occurs.
Confusing a reservation with a movement creates two opposite errors. Deducting on reservation understates physical stock and risks deducting again later. Ignoring reservations overstates what is free and lets several orders promise the same units.
A reservation is protected demand, not a stock movement
A stock reservation commits a quantity at a warehouse—and optionally a batch—to an order line while the quantity remains physically on-hand.
The reservation answers, “Whose demand is this stock protecting?” It references the order line, product, warehouse, quantity, and batch allocation where applicable. It is active only while the order and remaining demand continue to qualify.
Reservations are part of current availability, but not part of movement history. Creating one does not create a purchase, sale, transfer, return, or adjustment transaction because no physical quantity changed.
On-hand stays unchanged because the product has not left
Suppose Bengaluru warehouse holds 15 units. A qualifying order reserves 6. The warehouse still physically contains 15, so on-hand remains 15. Only 9 are now free for unrelated demand.
On-hand 15 − reserved 6 = available 9
If the reservation itself reduced on-hand, the balance would show 9 even though staff could count 15 on the shelf. When the later invoice deducted the shipped six, a naive system could reduce the balance again to 3. Separating reservation from movement prevents both distortions.
Commercial commitment can change before stock leaves. The order may be edited, cancelled, partially invoiced, or fulfilled from another warehouse. A reversible reservation handles that uncertainty without falsifying physical quantity.
Availability is the control surface for new consumption. Transfers, sales, supplier returns, receipt reversals, and downward adjustments validate on-hand minus other active reservations, rather than on-hand alone.
Not every order state should reserve stock
A draft order may still be exploratory. Protecting stock for every draft would make availability disappear behind abandoned or unapproved work. Amber Vertex therefore ties reservation to explicit order states.
If the order does not identify a fulfilment warehouse, the active default warehouse is assigned. That matters because a reservation cannot protect vague organisation-wide stock; it must compete with other demand at the location expected to fulfil it.
Only active, inventory-tracked products participate. Catalog-only products and services can remain on the commercial order without creating warehouse demand.
Reserve the valid uninvoiced remainder, then rebuild from current facts
Desired reservation = max(order-line quantity − valid invoiced quantity, 0)
Amber Vertex recalculates reservations when an order is created or updated. Existing reservations for the order are removed and rebuilt from the current order state, quantities, valid invoices, warehouse, batches, and competing demand.
- 01Read the current commitment
Use the qualifying order’s active inventory-tracked lines, quantities, and fulfilment warehouse.
- 02Subtract valid invoiced quantity
The portion already deducted through linked invoices no longer needs reservation protection.
- 03Exclude competing reservations
Availability for the current order cannot include quantity already promised to other orders.
- 04Allocate eligible stock
Reserve at product-and-warehouse level, or across non-expired batches using FEFO when batch tracking applies.
- 05Commit atomically
The order update and its complete reservation set succeed together or fail without leaving a partial promise.
Rebuilding avoids accumulating stale differences after repeated edits. The reservation is a projection of current commercial facts, not an independent quantity users should adjust until it “looks right.”
Partial invoicing converts part of the promise into a movement
An order contains 20 units and reserves all 20. The business invoices 8. Invoice posting must be allowed to consume those 8 even though they are reserved—because this is the linked workflow the reservation was created to protect.
While validating the linked sale, Amber Vertex ignores that order’s own reservation but continues respecting reservations owned by other orders. After the stock deduction, it rebuilds the source order reservation for what remains uninvoiced.
Invoice data, stock movements, batch allocation, and order reservation reconciliation belong to one transaction. If availability or another validation fails, the invoice and inventory state should remain unchanged.
Picking verifies the reservation; it does not consume it
Picking turns a system promise into warehouse preparation. Amber Vertex checks that the scanned product is reserved for the selected order and warehouse, then increments picked progress. Scans beyond the reserved requirement are rejected.
Resolve the product identifier and confirm it belongs to reserved demand for the order and warehouse.
Count accepted scans toward the reserved requirement so warehouse users can see what has been prepared.
The sales invoice remains responsible for the stock movement and reservation reconciliation.
This boundary prevents a scan from becoming an undocumented shipment or financial event. Picking may happen in stages, be corrected, or be abandoned. The physical deduction still occurs through the controlled commercial document.
Inventory Scanning is a separate paid dependent add-on. It requires Inventory and extends the reservation workflow with barcode or QR-assisted picking, labels, camera scanning, and scan audit history.
Reservations protect a warehouse first and eligible batches when required
A non-batch product can reserve at product-and-warehouse level. A batch-tracked product needs more specific allocation so later fulfilment knows which lot remains protected.
- Only stock at the order’s fulfilment warehouse participates in its reservation
- Batch availability subtracts reservations already allocated to that batch
- Expired batches remain visible but are ineligible for new sales reservations
- FEFO allocates earlier-expiring eligible stock before later or undated batches
- Invoice posting preserves the recorded batch allocation for later cancellation, return, or correction
A warehouse can show enough total on-hand and still fail reservation if the free eligible batches are insufficient. The error should explain whether stock is held at another warehouse, reserved elsewhere, or expired—not simply report “zero stock.”
A reservation system must survive edits, retries, and competing demand
Which exact order states create reservations, and do all other states release them predictably?
Is desired quantity derived from the valid uninvoiced remainder rather than manually maintained?
Can concurrent orders reserve the same last units, or does one atomic availability check decide ownership?
Does a linked invoice consume only its own reservation while protecting demand owned by other orders?
Do order edits, cancellation, partial invoices, invoice cancellation, and warehouse changes rebuild reservations correctly?
Can users trace every reservation to its order line, warehouse, optional batch, and current remaining demand?
If reservations and balances disagree, reconcile the source orders, invoices, batches, and movements. Changing on-hand to make available look right creates a second error in the physical record.
Amber Vertex Inventory lives inside Billing because reservations connect sales orders to later invoice movements. The paid add-on introduces warehouse balances, reservations, receipts, transfers, returns, counts, batches, valuation, and reorder planning without creating a separate workspace.
See Inventory within BillingPromise now. Move later. Reconcile both together.
A stock reservation gives accepted demand a claim on physical inventory without pretending the product has already left. It protects availability while preserving honest on-hand quantity.
When the linked invoice posts, the physical movement replaces the corresponding promise and the remaining order demand is reserved again. That sequence keeps sales, warehouse work, billing, and audit history aligned around the same transaction.
Stock reservations: frequently asked questions
01What is a stock reservation?
A stock reservation is a warehouse-specific commitment of on-hand quantity to qualifying sales-order demand. The units remain physically present, but the reserved quantity is removed from what new operations may consume.
02When does Amber Vertex reserve stock for an order?
Inventory-tracked order lines reserve their uninvoiced remainder when an order is in Confirmed, Processing, or Shipped status. Draft, cancelled, and other non-qualifying states release reservations. If no fulfilment warehouse is selected, the active default warehouse is assigned.
03Does picking an order reduce stock?
No. Amber Vertex order picking verifies that scanned products belong to the selected order and warehouse and records picking progress. The later sales invoice performs the stock deduction and reconciles the order reservation.
04Can reserved stock be transferred or adjusted down?
Normally no. New stock-reducing operations validate available quantity, which excludes active reservations. An operation can consume a reservation only through the workflow that owns it, such as the linked sales invoice reconciliation.
05What happens to reservations after partial invoicing?
The linked invoice deducts the invoiced quantity and the order reservation is rebuilt from the valid uninvoiced remainder. A fully invoiced or cancelled remainder releases the reservation; a partially invoiced order continues protecting what is still committed.
