WooCommerce expiry plugin
Stop selling expired products.
DeDanix Expiry, Batch & Recall for WooCommerce starts with a practical Free version for expiration dates, product filters, admin alerts and optional purchase blocking for expired products.
For food, supplements, cosmetics and any stock with a date.
The Free version solves the first operational problem: knowing what expires, filtering it and stopping expired products from being sold.
Expiry per product
Set expiration dates for simple products and variations.
Status filters
See expired, expiring soon, valid and missing-date products from the admin list.
Automatic actions
Choose whether expired products stay unchanged, go out of stock or move to draft.
Purchase blocking
Optionally prevent customers from buying products that are already expired.
Admin email
Daily summary for expired and soon-to-expire products.
CSV workflow
Preview and apply expiration dates by SKU or product ID.
Prepared for batch and recall workflows.
Multiple lots, FEFO, stock by batch, affected-order lookup and recall emails are planned for the future Pro add-on, not claimed as Free features.
Free now
Single expiration date per product or variation, filters, alerts, blocking and simple CSV import.
Pro later
Lots, FEFO, batch stock, recall lookup, audit trail and advanced import/export.
Why it matters
Perishable inventory needs more than a normal WooCommerce stock number.
Frequently asked questions
Clear scope for the WordPress.org Free release.
Does Free include multiple batches?
No. Free focuses on expiration dates by product or variation. Batch workflows are planned for Pro/future.
Can it block expired products?
Yes, if the store owner enables purchase blocking.
Can I import dates by CSV?
Yes. The Free version includes a simple preview/apply CSV import by SKU or product ID.
Does it replace inventory management?
No. It complements WooCommerce stock management with expiration awareness.
Make expiration visible before it becomes a problem.
Track dates, filter risk and stop expired products from reaching checkout.