Stock Management
Inventory is tracked per variant per warehouse. Each record has two key quantities:
| Field | Description |
|---|---|
| Quantity on Hand | Total physical stock in the warehouse |
| Reserved Quantity | Stock reserved for pending orders |
Available stock = Quantity on Hand − Reserved Quantity
Viewing Inventory
Navigate to Inventory → Stock Management to see a grid of all variant/warehouse combinations with current stock levels.
Filters
- Filter by warehouse
- Filter by product or SKU
- Filter by low-stock threshold
Adjusting Stock
Manual Adjustment
For stock corrections (e.g., after a physical count):
- Find the variant/warehouse combination
- Click to edit
- Enter the new quantity
- Save with a reason note
To correct many rows at once — or to paste quantities in from a spreadsheet — use the Stock Grid instead.
Automatic Adjustments
Stock is automatically adjusted by:
| Event | Effect |
|---|---|
| Order placed | Reserved quantity increases |
| Order cancelled | Reserved quantity decreases |
| Fulfillment shipped | Quantity on hand decreases, reserved decreases |
| Goods receipt | Quantity on hand increases |
Low Stock Alerts
Configure low-stock thresholds per product. When stock falls below the threshold, the product appears in the low-stock dashboard and can trigger demand planning suggestions.
Inventory Modes
How stock gates ordering is decided by an inventory mode:
| Mode | Behaviour |
|---|---|
tracked | Default. Orderable while stock is available; stock is decremented on sale. |
unlimited | Always orderable, never tracked — digital goods, services. |
madeToOrder | Always orderable; the item is produced after the order (jewellery, bakery, print-on-demand). Storefront availability reads made_to_order. |
preOrder | Orderable before stock arrives, optionally up to a limit. |
The mode is resolved per variant: the variant's own mode, otherwise the store's default. A business that produces everything to order sets the store default once and never touches a variant — products created later inherit it, and a single stocked item can still be switched to tracked on its own variant.
The store default is defaultInventoryMode on GET/PUT /api/admin/stores/{id}. On update the field is optional; omitting it leaves the stored value unchanged. A warehouse carries its own defaultInventoryMode as well, which applies to warehouse-scoped stock checks.
In the Storefront API every variant reports inventoryMode, availabilityStatus and inStock. inStock follows the resolved mode, so a made-to-order variant is inStock: true with stockQuantity: 0.
Allow Overselling
Products with Allow Overselling enabled can be ordered even when stock is zero, while stock is still tracked. This is useful for:
- Products with guaranteed supplier replenishment
- Short-term backorders
For products that are never stocked, use the madeToOrder or unlimited inventory mode instead.
Configure this on the product edit form under Supply Chain Fields.