A shade that sells slowly still has a period-after-opening clock running.
Cosmetics brands multiply SKUs by shade, size and formula -- and each one carries its own expiry or PAO (period-after-opening) window. Generic reorder tools average across all of them; the shelf doesn't.
Short answer: lot expiry is not a PAO clock
Use per-lot manufacture/expiry dates for inventory planning, with recent sales, stock, supplier lead time and safety stock. PAO (period-after-opening) is a separate operational or labeling concern and is not inferred by Foreshelf.
Foreshelf can explain an expiry-aware reorder decision and prepare a purchase-order or discount proposal for approval. It does not replace cosmetics compliance, bundle-level PAO tracking or a quality system. See the expiry-aware method and FEFO vs FIFO before applying the result.
The specific pain
A single lipstick formula in 12 shades isn't 12 versions of the same inventory problem -- it's 12 separate ones. Neutral shades move fast and rarely reach their expiry date. Bold, seasonal, or limited shades can sit for months, and a fresh lot ordered on the same schedule as the neutrals risks arriving on top of stock that hasn't cleared. The same math that works for your best-seller quietly loses money on the slowest quarter of your shade range.
Why normal reorder planning misses this
- Shade/size proliferation: a single formula fans out into dozens of SKUs, each with independent sell-through -- a catalog-wide average hides which specific shade is at risk.
- PAO dates aren't the same as expiry dates: a period-after-opening window only starts once a unit is opened, which most inventory systems have no field for at all -- Foreshelf tracks the manufacture/lot expiry, the input most reorder decisions actually need.
- Bundles and gift sets: a holiday set's real shelf life is its shortest-dated component, not an average of the set.
- Seasonal/limited shades: a promotional spike pulls the average velocity up, which can trigger an over-order right after the season ends.
The Foreshelf workflow
Import batch/lot data with expiry dates for the SKUs that need it. Marcus projects sell-through per lot against your real sales velocity for that specific shade, not a catalog average. If a shade's current stock won't clear before its lot expires, Marcus recommends against reordering and flags it as a markdown candidate -- even if a simple days-of-cover number would look fine. Every purchase order or discount action still requires your approval, with a 60-second cancel window after you approve it.
A worked example (illustrative numbers, not a specific customer)
Limited-edition shade, 80 units left, selling 2/day, lot expires in 45 days.
At 2/day, that's 40 units sold in 45 days -- half the lot doesn't clear before expiry at current velocity. A generic tool sees 80 units and a 40-day runway and stays quiet, since runway looks reasonable against typical lead times. Foreshelf's expiry check flags the gap specifically: roughly 40 units are at real risk of expiring unsold, worth acting on now via a promotion, not after the date has passed.
Which features apply here
Batch and expiry tracking, expiry-aware reorder decisions, and Marcus's approval-gated purchase orders and discount proposals all apply directly. Not yet built: a dedicated PAO-clock field distinct from lot expiry -- track your manufacture/lot expiry date for now, which is what drives the reorder math.
FAQ
Not yet -- only manufacture/lot expiry dates are tracked today. If PAO is your primary compliance concern, treat the lot expiry field as your planning input and manage PAO labeling separately.
Track expiry on the individual components. The set's real shelf life is whichever component expires soonest.
See what's at risk across your shade range
Free plan, no credit card.