Lifecycle policy matrix reference
The policy matrix decides what SKU.io does with a product in each lifecycle state. It's the grid on the States tab of Settings → Products → Product Lifecycle: one row per process, one column per state. This page lists every row, the values it accepts, what each value does and the default in each built-in state.
To change a cell, see Customize lifecycle states. For the states themselves, see the Lifecycle states reference.
How the matrix works
- A cell applies to every product in that state. Change a cell and every product in the state follows it. You never set these rules per product.
- Each cell shows a short pill. The pill names the value, for example Warn, Block, Capped, Sell-through or Sell-out setting. Hover over it for the full label, such as Enabled with warning.
- Changed built-in cells are marked. A Phasing out or Discontinued cell that differs from its default shows ● Changed and a Reset link that puts the default back.
- Saving shows the impact first. While you have unsaved changes, a bar counts them and says how many products in each state are affected. Click Save & apply to apply them to every product in the changed states. A large change runs in the background, and you can follow it in the job tray.
- Custom states start as a copy. A new state copies the column of the state you pick in Copy policies from.
- Some things are always allowed. Stock transfers and inventory adjustments work in every state, because consolidating stock is part of selling through. Channel order imports never fail because of a state. A blocked line is flagged on the order instead.
What Enabled, Warn and Block mean
Most rows accept the same three values:
| Value | Pill | What happens |
|---|---|---|
| Enabled | Enabled | The process runs normally. |
| Enabled with warning | Warn | The process runs, but SKU.io shows a warning that names the product's SKU and state and says what that means, for example "SKU is Discontinued. This is a final buy." |
| Blocked | Block | SKU.io refuses, with a message such as "Purchase orders are blocked for Discontinued products (SKU)." To go ahead, change the product's state or the state's policy. |
The other rows have their own values, described below.
Defaults at a glance
| Row | Active | Phasing out | Discontinued |
|---|---|---|---|
| Demand planning & reorder suggestions | Enabled | Capped | Excluded |
| MRP planned orders | Enabled | Capped | Excluded |
| Send planning (FBA, AWD, WFS, FBT) | Enabled | Enabled | Warn |
| Low-stock alerts | Enabled | Enabled | Off |
| Adding to purchase orders | Enabled | Enabled, then Warn after the last order date | Warn |
| Receiving open purchase orders | Enabled | Enabled | Enabled |
| New work orders & assemblies | Enabled | Enabled | Warn |
| Using it as a component | Enabled | Warn | Warn |
| Manual & API sales order lines | Enabled | Enabled | Enabled |
| New backorders | Enabled | Enabled | Block |
| B2B portal | Visible | Visible | Visible in stock |
| Publishing new listings | Enabled | Warn | Warn |
| Channel quantity | Normal | Normal | Sell-through |
| Drop-ship supplier stock | Enabled | Enabled | Excluded |
| When it sells out | Do nothing | Do nothing | Sell-out setting |
The values in this table are the pill labels. The sections below use the full labels.
Planning
Demand planning & reorder suggestions
Whether demand planning, the unified plan, the reorder columns of the inventory planning report and open-to-buy include the product.
| Value | What it does |
|---|---|
| Enabled | Planned and reordered normally. |
| Capped to discontinue date | Plans only the demand up to the product's discontinue date, so you buy just enough to last until then. The planning screens label it Final buy · phase-out with the date. |
| Excluded | Left out of planning and reorder suggestions. Automatic purchase order creation never buys it. |
Automatic purchase order creation also skips a Capped product once its last order date has passed. How capped planning works in practice is in Phase out with a final buy.
MRP planned orders
Whether MRP creates planned orders for the product.
| Value | What it does |
|---|---|
| Enabled | MRP plans it normally. |
| Capped to discontinue date | MRP plans only requirements dated on or before the discontinue date. |
| Excluded | MRP creates no planned orders for it. |
Send planning (FBA, AWD, WFS, FBT)
Suggestions to send stock to Amazon FBA and AWD, Walmart WFS and TikTok FBT.
| Value | What it does |
|---|---|
| Enabled | Suggested normally. |
| Enabled with warning | Still suggests moving stock you already have, but never triggers buying more. The line notes "state — moving existing stock only, never triggers buying". |
| Blocked | The product is marked ineligible, with the reason "state: send suggestions are blocked for this lifecycle state". |
Low-stock alerts
Low-stock alerts and the Low Stock Items report.
| Value | What it does |
|---|---|
| Enabled | Low-stock alerts fire and the product appears in Low Stock Items. |
| Off | No low-stock alerts. The product is hidden from Low Stock Items unless you set that report's Alerts-off states filter to Shown. Dashboard low-stock counts leave it out too. |
Purchasing & making
Adding to purchase orders
Adding the product to a new or existing purchase order by hand, by API, by purchase order import or by automatic purchase order creation.
| Value | What it does |
|---|---|
| Enabled | Added normally. |
| Enabled with warning | You're asked to confirm a final buy: "SKU is state. This is a final buy." A purchase order import adds the line and lists the warning in its results. |
| Blocked | Refused: "Purchase orders are blocked for state products (SKU)." On a purchase order import, that line is an error. Automatic purchase order creation never buys it. |
On Phasing out, an Enabled cell shows → Warn · after last order date. Once a phasing-out product's last order date has passed, adding it shows "SKU is past its last order date (date). This is a final buy." Lines already on a purchase order aren't checked again when you edit or re-import that order.
Receiving open purchase orders
Receiving lines that are already on purchase orders or inbound shipments. Receiving is never blocked: stock that's already bought has to be booked in. This row has no Blocked value.
| Value | What it does |
|---|---|
| Enabled | Received normally. |
| Enabled with warning | The line is flagged in the receive drawer, and the warning shows again when you confirm the receipt: "SKU is state. It is being sold through: receive what was ordered, but it will not be reordered." |
New work orders & assemblies
New work orders and assemblies that produce the product, including Simple Mode, made by hand or by API.
| Value | What it does |
|---|---|
| Enabled | Created normally. |
| Enabled with warning | Created, with the warning "SKU is state. Building more of it adds stock that will not be replenished." |
| Blocked | Refused: "New work orders and assemblies are blocked for state products (SKU)." |
Disassembling is always allowed. Orders that MRP plans follow the MRP planned orders row instead.
Using it as a component
Adding the product as a new component of a bundle or kit (in the Bundle & Kit Workshop, on the product page or by API) or of a bill of materials.
| Value | What it does |
|---|---|
| Enabled | Added normally. |
| Enabled with warning | Added, with the warning "SKU is state. Products built from it will stop when its stock runs out." |
| Blocked | Refused: "New component uses are blocked for state products (SKU)." |
Components already in a recipe aren't checked again, and product imports aren't checked.
Selling & channels
Manual & API sales order lines
Sales order lines created in SKU.io by hand or by API.
| Value | What it does |
|---|---|
| Enabled | Added normally. |
| Enabled with warning | Added, with the warning "SKU is state. It is being sold through and will not be replenished." |
| Blocked | Refused: "New sales order lines are blocked for state products (SKU)." |
Channel, EDI and CSV order imports are never blocked. Their lines are flagged instead.
New backorders
New backorders when there isn't enough stock to fill a line.
| Value | What it does |
|---|---|
| Enabled | The shortfall is backordered normally. |
| Enabled with warning | The shortfall is backordered, with the warning "SKU is state: the shortfall was backordered but may never be replenished." |
| Blocked | A line entered by hand, by API or in the B2B portal can't be backordered. The message says how much is available and offers the successor when there is one, for example "Backorders are blocked for Discontinued products (SKU). Only 3 available — allocate the available stock or use the successor NEW-SKU." Imported channel orders still come in, and the order shows "1 line can't be replenished". |
Products in a state with Blocked backorders can never be backordered in the B2B portal. What to do with a flagged order line is covered in Discontinue a product.
B2B portal
Whether customers in the B2B portal can see and order the product.
| Value | What it does |
|---|---|
| Visible | Shown in the portal catalog normally. |
| Visible while in stock | Shown only while the product has stock available to sell. Once it runs out, it disappears from the portal. |
| Hidden | Never shown in the portal. |
Publishing new listings
Publishing a new listing for the product from SKU.io, whether one at a time, in bulk or on a schedule.
| Value | What it does |
|---|---|
| Enabled | Published normally. |
| Enabled with warning | Published, with the warning "SKU is state. A new listing will sell only the stock that is left; it will not be replenished." |
| Blocked | Refused: "New listings are blocked for state products (SKU). Change its lifecycle state, or the state's policy in Settings → Products → Product Lifecycle, to publish it." |
Updating or ending a listing that's already live is always allowed. Listings created on the channel itself, outside SKU.io, aren't affected.
Channel quantity
How SKU.io calculates the quantity it publishes to your sales channels.
| Value | What it does |
|---|---|
| Normal | Your usual channel quantity rules apply. |
| Sell-through (never above real stock) | Publishes only the stock that's really available. Minimum-quantity floors are ignored, substitute stock isn't added and the quantity never goes below zero. Maximum-quantity rules and buffers still apply. For example, a listing with a minimum of 5 and 2 units left publishes 2. |
One exception to "no substitute stock": when the product has a successor that auto-substitutes and you publish substitute stock, the listing includes the successor's stock. The listing then shows Includes successor SKU's stock. See Sell-out behaviour by channel for the chip on each listing, and How channel stock is calculated for the normal rules.
Drop-ship supplier stock
Whether supplier drop-ship stock counts toward the quantity you publish.
| Value | What it does |
|---|---|
| Enabled | Drop-ship stock is added as usual. |
| Excluded | Drop-ship stock is left out, so the product sells only what you hold. The listing shows Excludes drop-ship stock. |
When it sells out
What SKU.io does once every unit has sold, including FBA and 3PL stock.
| Value | What it does |
|---|---|
| Do nothing | Nothing happens at sell-out. Listings stay as they are. |
| Use the sell-out setting | Runs the action you chose on the Sell-out tab: keep listings live at zero, end them, or end them and archive the product. The cell links to Set in Sell-out tab. |
See Choose what happens when a product sells out and What happens when a discontinued product sells out.
Next steps
- Customize lifecycle states: change a cell or add a state.
- Sell-out behaviour by channel: what each marketplace does when listings end.
- How product lifecycle works: how the states fit together.