Inventory
Open Commerce → Inventory. Real stock counts drive honest scarcity on the storefront — “only 3 left” means three are available, not a marketing number.
The page has four tabs: Stock, Movements, Reservations, and Waiters.
The Stock tab is the live variant list: product, colour · size · SKU, on hand,
reserved, and available (available = on hand − reserved).
- Filter to low stock when you only want the problem rows.
- Set a low-stock threshold per variant (inline) so the admin and storefront agree on what “low” means.
- Adjust opens a ledger-style dialog: a signed delta (+ in / − out), a
reason (
restock,correction,damage,return,theft_loss, ormanual), and an optional note. The dialog previews the new balance before you apply it (clamped at zero).
Need a product that doesn’t exist yet? Create it under Catalog & variants — inventory only adjusts variants that already exist.
Movements
Section titled “Movements”Movements is the per-variant ledger of every stock change — adjustments, order commits, releases, and the rest. Use it when a number looks wrong and you need the trail, not a guess.
Reservations
Section titled “Reservations”Reservations lists every active checkout hold: the variant and SKU, the quantity held, the cart or order that owns it, and when it expires.
A hold is created the moment a shopper enters checkout (the storefront shows them a matching countdown) and is resolved exactly once:
- Committed — the order was placed and paid (or confirmed for COD); the held units become sold stock and the hold moves onto the order.
- Released — the checkout failed or the cart changed; the units return to availability immediately.
- Expired — the shopper walked away; the scheduler frees the hold when its window ends, and the units go back on sale (waking any back-in-stock waiters).
While a hold is active it counts against the variant’s availability — which is why a busy product can show fewer units on the storefront than the Stock tab’s on-hand number.
Staff can Release a hold that isn’t locked to a payment result. An empty Reservations tab is normal: it means no one is mid-checkout right now. Holds for cash-on-delivery orders commit within seconds of placement, so they rarely linger here; online-payment holds stay visible until the gateway confirms or the shopper abandons.
The hold window — and whether the checkout-entry hold runs at all — is a store setting: see Checkout stock hold.
Waiters
Section titled “Waiters”Waiters lists shoppers who asked to be notified when a sold-out variant is back. Restock the variant (Stock → Adjust), then Notify from this tab — don’t invent scarcity and then forget the people who raised their hand.
Related: Catalog & variants · Checkout stock hold · Orders & fulfillment.