Products, Stock and the Reorder Plan
Variants and prices; receiving, counting, transferring and adjusting stock through the ledger; low-stock alerts; a reorder plan that drafts purchase orders.
Products, Stock and the Reorder Plan
A product is what you sell; a variant is what you stock and price (the blue one in medium). Stock lives per variant and per location, and every change to it is a row in the ledger. This article is the day-to-day: the product page, the Stock page and the reorder plan.
What you'll need
- View Products & Stock (
inventory:products:read) to read; Manage Products (inventory:products:manage) to edit; Adjust Stock, Transfers & Counts (inventory:stock:adjust) to move stock. The seeded Member role has all three.
- At least one location — see Getting Started.
The product page
Inventory → Catalog → Products, then click a product.
- Details — name, category, brand, supplier, tags, short description, description, Type (Physical · Service · Digital · Bundle), Status (Active · Draft · Archived), the product-level Reorder point (product default), Reorder quantity and Lead time (days), and the Track stock box. Click Save.
- Variants & stock — one row per variant with its SKU, price and stock per location, and the row actions Adjust or receive, Count, Transfer (shown only with more than one location), Edit and Remove (a product keeps at least one variant).
- Ledger — every change to this product's stock, newest first: the kind, the quantity, the figure after it, who did it and where it came from. A row made by an agent links to the call or chat; one made by a store sync names the store.
- Stores — which Shopify or WooCommerce products this one is linked to, with a link into the store admin.
- Open sales orders and Open purchase orders that include this product.
- Draft copy (the sparkle) opens the AI drawer — see AI Assistance. Copy drafted by AI under the name says the description came from it.
Variants
Click Variant in the Variants & stock header to add one.
- Enter a Variant title (
Red / Large), SKU (blank mints one), Barcode, Price, Compare-at, Cost, Reorder point and Reorder qty.
- Tick Track stock for a physical item. Untick it for a service or an item you never count — its stock reads — everywhere and no order touches it.
- Click Save variant.
A product with one variant titled Default shows as a simple product in lists and on the store; add a second variant and it becomes a variant product.
Moving stock
From a variant row on the product page, or from any row on Inventory → Catalog → Stock, the same drawer opens in one of three modes. Each writes a ledger row; nothing edits a level directly.
| Mode |
What it does |
Fields |
| Adjust stock |
Adds or removes units with a reason |
Kind — Receive (+quantity), Customer return (+quantity) or Adjustment (signed) — the quantity, a Reason and a note |
| Stock count |
Sets the level to what you counted; the ledger records the difference |
The counted quantity and a note |
| Transfer stock |
Moves units between two locations as one movement out and one in |
The quantity, To location, a note |
Click Apply. The level, the variant's totals and the Stock page summary update at once. An adjustment that would take a level below zero is refused unless Allow stock to go below zero is on in settings.
The Stock page
Inventory → Catalog → Stock (/inventory/stock). The header strip shows On hand, Reserved, Incoming, Low, Out, Value at cost and Open POs for the chosen location (or all). Three tabs:
- Levels — one row per variant and location, with All / Low / Out filters and a search by name or SKU, and the three drawer actions per row. Inventory → Catalog → Low stock opens this tab filtered to low.
- Ledger — every movement in the workspace, newest first, with the same provenance as the product page.
- Reorder plan — below.
Brief me (the sparkle, when AI assistance is on) writes a short morning brief from the figures: what is low, what moved most, what to look at. It is written from the ledger, not from memory, and says when it was generated.
Low stock and alerts
A level is low when its available is at or below its effective reorder point — the level's own, else the variant's, else the product's, else the workspace default — and out when it is zero or less. The crossing is detected on the movement that causes it, once:
- Workflow triggers Stock reached its reorder point, Stock ran out and Stock is back above zero fire with the SKU, location and figures, so an orchestration can email a buyer, text the shop or open a task.
- The notification A product reached its reorder point reaches everyone with View Products & Stock, in the bell and (by default) in the daily email, with the reorder plan's suggestion in the message. It is sent once per crossing: the next notice comes only after the level recovers and drops again.
The reorder plan
Stock → Reorder plan. For every tracked variant it computes
quantity = demand over (lead time + safety days) + reorder point − (available + incoming)
at the sales pace of the last N days (the window in settings). A line appears when the variant is out, at or below its point, or would run out inside the lead time plus safety days. Each row shows the urgency (now · this week · soon), what is available and incoming, the pace per day, the days of cover, the quantity to order with its cost, and the reason in words.
- Tick the lines to order (or Select all).
- Click Draft N into purchase orders. One purchase order is drafted per supplier, at the location you are viewing (or the default), with the suggested quantities and costs.
- Open Inventory → Orders → Purchase orders to review, mark ordered and later receive them — see Sales and Purchase Orders.
Explain the plan (the sparkle) asks the AI for a buyer's summary: what is urgent, what can wait, anything that looks odd, with the lines re-ordered by what to act on first. It never changes a quantity.
Troubleshooting
- A variant shows — for stock. Its Track stock box is off. Tick it on the variant and receive the opening quantity.
- "Nothing needs reordering" but a product is low. Only tracked variants with a reorder point (their own, the product's or the workspace default) or recent sales appear. Set a point, or wait for the sales window to hold some sales.
- A transfer failed. The source location does not hold enough available units — reserved units cannot be transferred. Fulfil or cancel the orders holding them first.
- The ledger shows a sale from a store but the level did not change. The store owns the count for that connection; the level is pulled from the store instead. See Connecting Shopify or WooCommerce.
Next steps