Skip to main content

Stock Management

Category: Products  ·  Type: Free first-party

Per-variant and per-combination stock tracking with low-stock webhooks, bulk-set, and CSV import.

Why install

The default product page tracks stock at the product level. If you sell shirts in 3 colors × 4 sizes, that's not enough — you need to know "Red XL" has 2 left while "Blue M" has 50.

Stock Management adds:

  • Per-variant counts (Red has 50, Blue has 30)
  • Per-combination counts (Red XL has 2, Red L has 5, …)
  • Low-stock alerts (webhook + email at threshold)
  • Bulk update + CSV import
  • Auto-hide out-of-stock combinations on storefront

Features

  • Per-variant stock counts
  • Per-combination stock counts
  • Low-stock threshold per product (default 5)
  • Webhook product.stock_low fires once per crossing (no spam)
  • Email alert to store owner
  • CSV import of stock counts
  • Bulk update across variants

How to use

  1. Install + activate from Dashboard → Add-ons → Stock Management.
  2. Open a product → enable Track stock per variant OR Track stock per combination.
  3. Set counts in the variant/combination grid.
  4. Set low-stock threshold (default 5).
  5. Save.

Low-stock alerts

When a variant/combination drops to or below the threshold, we fire:

  • A webhook product.stock_low (if you've subscribed) — see Webhooks
  • An email to the store owner

Once-per-crossing only — won't spam you 100 times for the same item.

CSV bulk import

Format:

sku, stock
SHIRT-RED-XL, 12
SHIRT-RED-L, 8
SHIRT-BLUE-M, 50

Import via Dashboard → Products → Stock → Import CSV.

What customers see

Out-of-stock variants/combinations are greyed out in the storefront picker. They can still browse but can't buy that combination. The product remains live as long as any combination has stock.

Frequently asked

Q: How is "low stock" detected — when item drops to threshold or below? A: At or below. Threshold = 5 fires when stock hits 5, 4, 3, 2, 1, 0 — but only once per crossing (the next firing requires stock to go above threshold first).

Q: Can I have different thresholds per variant? A: Currently per-product. Per-variant on the roadmap.