Skip to main content

Stock Management

Inventory is tracked per variant per warehouse. Each record has two key quantities:

FieldDescription
Quantity on HandTotal physical stock in the warehouse
Reserved QuantityStock 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):

  1. Find the variant/warehouse combination
  2. Click to edit
  3. Enter the new quantity
  4. 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:

EventEffect
Order placedReserved quantity increases
Order cancelledReserved quantity decreases
Fulfillment shippedQuantity on hand decreases, reserved decreases
Goods receiptQuantity 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:

ModeBehaviour
trackedDefault. Orderable while stock is available; stock is decremented on sale.
unlimitedAlways orderable, never tracked — digital goods, services.
madeToOrderAlways orderable; the item is produced after the order (jewellery, bakery, print-on-demand). Storefront availability reads made_to_order.
preOrderOrderable 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.