WPThumbs
Themes Plugins By purpose By industry Best-of lists Fix it guides
Free Plugin by WebCodingPlace v3.4

Product Expiry for WooCommerce

Add expiry dates to WooCommerce products and variations, then auto set them out of stock, draft, or expired and email you when they expire.

Product Expiry for WooCommerce

The facts

Rating
4.5★ from 13
Active installs
2k+
Price
Free
Last updated
20 Aug 2026
Added
Jun 2021
Requires WP
6.0
Tested up to
WP 7.1
Requires PHP
7.2
Downloads
27,439

Our analysis

AI-assisted

Product Expiry for WooCommerce is a plugin that allows you to set expiry dates on products and variations in your WooCommerce store. Once the expiry date is reached, the plugin can automatically move the product to draft, mark it as out of stock, reduce its stock, or keep it visible with an 'Expired' badge while disabling the add to cart button. You can also receive email notifications upon expiration.

This plugin is suitable for stores that sell items with a shelf life, such as food, cosmetics, supplements, and seasonal products. It offers flexibility in managing product visibility and stock status based on expiry dates, helping you maintain an up-to-date inventory without manual intervention.

Best for: This plugin is best for eCommerce sites that sell perishable or time-sensitive products.

What it does well

  • Automates product management based on expiry dates
  • Supports various actions upon expiration, like moving to draft or marking as out of stock
  • Customisable expiry date display options
  • Email notifications for expired products
  • Compatible with well-coded WooCommerce themes

Where it falls short

  • No information on specific limitations or known issues

Verdict

Product Expiry for WooCommerce provides a straightforward solution for managing product expiry dates effectively. It is particularly useful for businesses that need to ensure their inventory reflects the current availability of time-sensitive items.

From the developer

WebCodingPlace's own description of Product Expiry for WooCommerce, lightly tidied.

Product Expiry for WooCommerce gives every product and variation in your store an expiry date. When that date passes, the plugin does the cleanup for you. It can move the product to draft, set it out of stock, reduce its stock, or keep it visible with an “Expired” badge and the add to cart button disabled. You can also get an email the moment something expires.

No more forgotten sale items sitting live in your catalog. No more manually hunting for last season’s stock. You set the date once, and the plugin handles the rest on schedule.

It works for any store that sells things with a shelf life: food, cosmetics, and supplements, limited time offers and flash sales, seasonal lines, digital licenses and event tickets, rentals, and classified style listings.

What it does for you

Set an expiry date on any product or variation. You can also add a short note that shows instead of the date, like “Sold out for the season”. Expiry respects your site timezone and triggers at the end of the chosen day, scheduled individually per product so nothing fires early or late.

When a product expires, you choose what happens to it:

  • Leave it alone and just record that it expired
  • Move it to draft so it disappears from the store
  • Set it out of stock while keeping the page live
  • Reduce its stock by a set amount, handled through WooCommerce so HPOS and lookup tables stay in sync
  • Mark it as expired, which keeps the product visible, shows an “Expired” badge, and turns off add to cart

Show the expiry date where customers can see it

Turn the expiry date on or off for single product pages and shop and archive pages. You decide where it appears using a dropdown of common positions, or paste in a custom hook if your theme uses its own. You control the wording around the date with an {expiry_date} placeholder, set your own date format, and decide what shows after a product expires: keep the date, hide it, or swap in custom text.

The “Expired” badge is yours to style too. Change the label, pick the background color, and choose where it sits on single and archive pages. Variable products with no date of their own can roll up and display the soonest expiring variation on the parent. There is also a simple shortcode, [expiry_date before="" after=""], for dropping the date anywhere.

Keep it in orders and emails

Show the expiry date inside order details for both you and your customer, and include it in WooCommerce order emails so the record travels with every purchase. You can also send yourself an email notification when a product expires, with custom recipients and your own subject and body using {product_name}, {expiry_date}, and {product_url} placeholders.

Manage everything from the products list

A sortable Expiry column shows dates right in the products table, with a per variation breakdown for variable products. Quick edit the date, note, and action without opening the product. Filter the list to find what needs attention: within 7 days, within 30 days, this month, next month, within 3 months, within 6 months, or already expired. A Product Expiry Overview widget on your WordPress dashboard sums up what is already expired and what is expiring in the next 7 and 30 days, with one click through to the matching filtered list. There is also an Email Log of the last 30 days of plugin emails, showing recipient, subject, type, and whether each one sent or failed.

Built to fit your store

  • Works with any well coded WooCommerce theme, no template editing needed
  • Translation ready, with WPML and Polylang sync across translated products
  • Full RTL stylesheet
  • No external API calls on the frontend and no tracking
  • Clean uninstall with no leftover options or cron jobs

Read the full description on the official page →

Tagged as

Alternatives

Other plugins for selling online.

WooCommerce

Everything you need to launch an online store in days and keep it growing for years. From your first sale to m...

Free 7M+ installs 4.5★ (4,820)
Germanized for WooCommerce

Germanized extends WooCommerce to become a legally compliant shop for the german market. Must Have for every g...

Free 70k+ installs 4.8★ (495)