ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides8 min read

Supplement inventory management: lots, expiries, and a reorder clock with a deadline

Supplement inventory management with expiry in the math: a five-column date ledger, an order-by deadline on every reorder, and what Shopify won't do.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

A hoodie that sits on the shelf for a year is fine. A tub of whey that sits for a year is a write-off with a date already printed on it. The common mistake in supplement inventory management is treating expiry as a labeling detail instead of a second clock. Every SKU runs a demand clock (how fast it sells) and a date clock (when it stops being sellable), and a reorder has to satisfy both — which means the real decision isn't "when do we run out," it's "when do we run out of sellable units."

That reframing changes three things: what quantity you trust, when you reorder, and how much you buy. By the end of this article you'll have the two-clock model, an honest read on what Shopify can and can't see, a five-column date ledger with worked numbers, and the order-sizing rule that stops you replacing dead units.

The two clocks: demand and date

Standard reorder math — velocity, lead time, safety buffer — answers the demand clock (the worked version of that math lives in the reorder point formula guide). Supplements add the date clock, and the two interact in a way counts can't show: the units you count and the units you can sell are different numbers.

Call the second number sellable-on-hand: units whose date outlives realistic sell-through. A tub counted at 96 with an expiry 100 days out and a velocity of 0.6 a day is really 60 sellable units and 36 dead ones waiting to happen. The gap between counted and sellable is expired-on-shelf stock — it sits in your inventory value, flatters your days-of-cover, and never reaches a customer. US labeling rules generally require supplements to carry an expiry date (with a shelf-stable exemption in FDA's dietary supplement labeling rules, 21 CFR 101.36(j), accessed November 2026), so every lot arrives with the data you need — the work is making the system use it.

What Shopify can and can't see (as of November 2026)

Shopify tracks quantities per variant. The core admin has no native lot or expiry tracking: nothing reads a date and acts on it — no alert as a lot approaches expiry, no FEFO ordering, no sellable-quantity math. You can store lot numbers and expiry dates as metafields on variants (date-type metafields are supported; Shopify Help Center, "Metafields," accessed November 2026), but storage isn't tracking — the dates just sit there.

We'll be direct about our own limits too: InventoryX (in development) doesn't track lots or expiry dates either. Its velocity math and Monday Buying List assume the stock on hand is sellable, which is true for most catalogs and false for yours. Treat that as a known gap and pair whatever velocity tooling you run with the date ledger below — the two answer different questions, and supplements need both.

Formal lot tracking earns its keep on a different axis: recall traceability, co-packer accountability, or pharmacy-style audit trails. If you're heading that direction, the lot tracking guide covers who actually needs it and what the discipline looks like before you buy anything.

The date ledger: five columns that make expiry actionable

One sheet, updated at every receipt, is the whole system:

Column What it holds
SKU / lot The variant and the batch code off the tub
Qty in lot Units with that exact date
Expiry The printed date
Days to expiry Expiry − today (computed)
Order-by date Expiry − supplier lead − buffer (the deadline)

Worked example, illustrative — a small supplements store, today November 4, 2026, velocities from the last 90 days:

SKU On hand Lot detail Velocity Days to expiry What happens
SUP-WHEY-2LB 84 14 units exp. Jan 31, 2027 1.1/day 88 Fine: 14 units ÷ 1.1 ≈ 13 days of cover; sells out long before the date
SUP-ELYT-30CT 120 96 units exp. Feb 15, 2027 0.6/day 103 Trouble: 0.6 × 103 ≈ 62 sold by the date → ~34 units (estimated) expire on the shelf
SUP-COL-16OZ 48 36 units exp. Dec 20, 2026 0.4/day 46 Urgent: 0.4 × 46 ≈ 18 sold → ~18 units (estimated) expire; order-by already close
SUP-CRE-500G 60 All lots exp. 2028 0.5/day 800+ No date risk; run normal reorder math

The order-by deadline is the piece most stores miss. Replacement stock must land before the old lot dies, not before the shelf empties. Counting back: electrolyte sticks expire Feb 15; with a 10-day supplier lead and a 5-day buffer, the PO has to be placed by Jan 31, 2027. The collagen lot is tighter: Dec 20 expiry − 15 days = order by Dec 5, 2026 — 31 days from today, and the doomed units should be discounted long before then.

Sizing the order: replace demand, not dead units

When the deadline arrives, don't reorder what expired — reorder forward demand:

Order qty = (lead time + target cover) × daily velocity − units still sellable at the expiry date.

For the electrolyte sticks: (10 + 45) × 0.6 = 33 units of forward demand, minus the 24 units (120 − 96) that remain sellable after Feb 15 → order 9, rounded up to the case pack of 12. The 34 estimated-to-expire units are not replaced; buying them again is how supplement stores end up with twice the stock and half the shelf life.

One caution if you use velocity tooling: most — including ours — computes days of cover from total on-hand, not sellable-on-hand. For the two SKUs above, total on-hand overstates cover by weeks. Adjust by hand until the tool understands dates, and label every expired-unit figure as an estimate: it's arithmetic on assumptions, not a fact about the future.

Receiving, rotation, and the doomed-unit pile

The ledger updates at receiving: every PO is a new set of lot rows, because the date your stock dies is fixed at manufacture, not at arrival. Physically, new lots go behind or below old ones on the shelf — the rotation discipline is its own skill and the stock rotation guide covers the shelf-side practice. The date-side mechanics — selling shortest-dated stock first, the waste math of running that way — are the FEFO method, covered in the expiry date tracking guide; that article owns the date mechanics, so this one stops at the boundary.

The adjacent discipline is food and beverage generally — if you sell coffee, snacks, or drinks alongside supplements, the food and beverage inventory guide covers the shared ground of perishable stock on Shopify.

For the units the math has already condemned: discount-and-disclose early, while they still have weeks of life (a "short-dated" collection with honest dates beats a surprise), bundle them as an add-on rather than a hero, or donate before expiry with documentation. What you should not do is let them ride to the date and become a write-off at full recorded value.

One habit holds the whole system together: reconcile the ledger against the shelf monthly, the same day you run counts. Expiry dates don't drift, but quantities do — a tub returned, a case moved to the back, a lot miscounted at receiving — and a ledger that's right about dates but wrong about quantities produces confidently wrong order-by dates. Five minutes per SKU per month is the whole cost.

Common questions

How do you track expiry dates on supplements? A lot-level ledger: SKU, lot, quantity, expiry, days remaining, updated at every receipt. Shopify tracks quantities per variant but has no native expiry tracking as of November 2026; you can hold dates in metafields, but nothing in the core admin acts on them. The ledger supplies what the system won't, and it takes minutes a week.

When should I reorder a supplement with a shelf life? Before the earliest lot expires, not before the shelf empties: order-by date = earliest expiry − supplier lead time − a small buffer. A lot expiring February 15 with 10-day lead and a 5-day buffer has a January 31 order-by date. Replacing stock after the date is replacing nothing.

How much should I order when a lot is about to expire? Forward demand, not dead units: (lead time + target cover) × daily velocity, minus the units still sellable on the expiry date. Reordering the expired quantity is how stores end up with twice the stock and half the shelf life; the case pack decides the rounding, not the formula.

Do I need lot tracking software for supplements? Not at small scale — a five-column sheet covers it. Formal lot tracking earns its keep when you need recall traceability, co-packer accountability, or audit-grade records. Start the ledger discipline now so the data exists if and when you adopt software; migrating paper-era lots is far harder than keeping them.

What's the difference between FEFO and FIFO here? FEFO — first-expired, first-out — ships the nearest date first, and for supplements it should override strict FIFO: a newer lot that expires sooner still leaves first. The date mechanics and the waste math of running FEFO are covered in the guide to expiry date tracking.

Next step

Build the ledger this week — five columns, one row per lot — and put each order-by date on the calendar with the PO attached, because a deadline nobody calendared is a wish. The date-side rules the ledger plugs into (FEFO sequencing and the waste math) are in the expiry date tracking guide.