Skip to content

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, or manual), 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 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 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 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.