Expiration & lot tracking for WooCommerce supplement stores
Supplements and vitamins are dated stock. Every bottle carries a best‑before or expiration date, customers check it, and in most markets you’re not allowed to sell products past that date. On top of that, supplements are recalled by lot — so when something goes wrong, you need to know which batch a customer received, not just which product.
A plain “expiry date” custom field doesn’t cover any of that. This guide shows how to run expiration and lot tracking properly on a WooCommerce supplement or vitamin store — what the free Sellinor Product Expiration Dates for WooCommerce plugin handles on its own, and what the Pro add‑on adds for batch‑level control.
Why a supplement store needs more than a date field
Three problems are specific to supplements:
- You can’t sell expired stock. Selling a supplement past its date is a compliance and liability issue, and it’s a fast route to bad reviews and chargebacks. You need products to come off sale automatically, not when someone notices.
- Stock arrives in batches with different dates. The same SKU comes in across multiple deliveries, each with its own best‑before date. If you only store one date per product, you’re either wrong for half your stock or constantly editing.
- Recalls happen by lot. If a manufacturer recalls lot
A23‑0915, you need to find every order that received it — quickly.
Set an expiration date on every product and variation
Start with the free plugin. Add a best‑before or expiration date to any simple product, or set independent dates per variation (useful when a 30‑count and a 120‑count bottle of the same vitamin have different shelf lives). Variations without their own date inherit a parent default, and the product is only treated as fully expired once every variation is past its date.
You can show the date on the product page with a label that matches your store’s wording — “Best before”, “Use by”, or “Expires” — so shoppers see it before they buy. See showing expiration dates on the storefront.
Stop selling expired supplements — automatically
This is the part you don’t want to do by hand. In the plugin’s settings you choose what happens when a product hits its date (or a set number of days before it):
- Hide it from the catalog,
- mark it out of stock, or
- both.
Expired items are also blocked from being added to the cart and removed at checkout, so nothing slips through between the catalog and the order. It runs on a schedule in the background — you set the rule once. Details: expiry actions.
Track batches and lot numbers with FEFO (Pro)
For real inventory control, turn on batch tracking in the Pro add‑on. Instead of one date per product, you record each delivery as a batch with its own lot number, expiration date and quantity. When an order comes in, the plugin deducts stock using FEFO — First Expired, First Out — so the batch closest to expiring always sells first and you stop watching good stock go out of date behind newer deliveries.
Crucially for supplements, the exact batch that fulfilled an order is recorded on the order itself and on the customer’s email. If a lot is recalled, you can trace which orders received it instead of emailing your whole customer list. Full walkthrough: batch & lot tracking.
FEFO is the right rotation method for anything with an expiration date — it’s the difference between selling your oldest sellable stock first and quietly accumulating write‑offs. More on FEFO for WooCommerce.
Sell short‑dated stock instead of binning it (Pro)
Some stock will always get close to its date. Rather than write it off, the Pro add‑on can discount it automatically on a schedule you set — for example 10% off at 14 days out, 25% at 7 days — and flag it with an “Expiring soon” badge. You recover margin on stock that would otherwise expire on the shelf. See automatic discounts.
Get ahead of expiries with email alerts (Pro)
The Pro add‑on emails you (and anyone you choose) a digest of products approaching their expiration date on a daily, weekly or monthly schedule, so short‑dated lots land on someone’s desk while there’s still time to act — discount them, push them in a bundle, or pull them.
How to set it up
- Install the free Sellinor Product Expiration Dates for WooCommerce plugin and set your expiry action (hide / out of stock / both) and how many days before the date it should trigger.
- Add expiration dates to your products — by hand, via quick/bulk edit, or with the CSV import/export for a whole catalog at once.
- For batch‑level control and FEFO, add the Pro add‑on and switch on batch tracking for the products that need it, recording a lot number and date per delivery.
- Optionally turn on automatic discounts and the expiry email digest.
Start with the free plugin, add Pro when you need lot tracking and FEFO — the two work together as one system.
Frequently asked questions
Can I track expiration dates per supplement variation (e.g. flavour or size)?
Yes. The free plugin lets you set an independent expiration date on each product variation, or a parent default that dateless variations inherit. A variable product is only hidden or set out of stock once every variation has expired, so a single expired flavour never takes down the whole listing.
Does it support batch or lot numbers for recalls?
Yes, with the Pro add-on. You can record multiple batches per product, each with its own lot number, expiration date and quantity. Stock is deducted using FEFO (First Expired, First Out), and the exact lot fulfilled is stored on each order and customer email — so if a lot is recalled you can see which orders it shipped on.
Will it stop customers buying expired supplements?
Yes, in the free version. When a product reaches its expiration date (or a configurable number of days before) the plugin can hide it from the catalog, mark it out of stock, or both. Expired items are also blocked from the cart and removed at checkout, so a product can't slip through after its date.
Can I discount supplements that are close to their best-before date?
Yes, with Pro. You define discount tiers by days until expiration (for example 10% off at 14 days, 25% off at 7 days) and the plugin applies the right discount automatically and can show an 'Expiring soon' badge — a clean way to sell short-dated stock instead of writing it off.
Is there a free version?
Yes. Core expiration tracking — per-product and per-variation dates, automatic hide/out-of-stock actions, cart and checkout protection, reports and a CSV import/export — is free. Batch/lot FEFO tracking, automatic discounts and email alerts are in the Pro add-on.
Put your supplement store's expiry dates on autopilot
Set expiration dates on every product and variation, stop selling expired stock automatically, and add batch/lot FEFO tracking with Pro.
See plans & download freeOr read the documentation.