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_lowfires once per crossing (no spam) - Email alert to store owner
- CSV import of stock counts
- Bulk update across variants
How to use
- Install + activate from Dashboard → Add-ons → Stock Management.
- Open a product → enable Track stock per variant OR Track stock per combination.
- Set counts in the variant/combination grid.
- Set low-stock threshold (default 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.