Product Expiry for WooCommerce

Description

Product Expiry for WooCommerce lets you set an expiry date and time for your products and variations. You can automatically mark them as out of stock, move them to draft, or trigger email notifications when they reach their expiration point.

Whether you’re managing limited-time offers, perishable goods, or seasonal items, this plugin gives you complete control over product visibility based on expiry logic.

🔑 Key Features:

  • Set expiration date & time for any WooCommerce product or variation
  • Automatically make products Out of Stock or Draft on expiry
  • Receive email notifications before a product expires
  • Show or hide the expiry date on product pages (with custom formatting)
  • Display expiry info on the Order Details page and in Order Emails
  • Sort products in the admin panel by expiry date
  • Quick edit or bulk update expiry dates from the product list
  • Customize email recipient for expiry alerts

🛠️ Use Cases:

  • Automatically hide expired food, cosmetics, or perishable goods
  • Manage expiring digital products or promotional offers
  • Keep store content fresh without manual cleanup

This plugin is lightweight, easy to use, and integrates directly into your WooCommerce workflow — no extra setup required.

Screenshots

  • Provide Expiry Date
  • Single Product Page
  • Filter by Expiry Dates
  • Settings
  • Expire date in order emails

Installation

  1. Upload the plugin files to the /wp-content/plugins/ directory or install through the WordPress plugin dashboard.
  2. Activate the plugin.
  3. Edit a product in WooCommerce, and you’ll see a new “Product Expiry” panel.
  4. Set your desired expiry date and choose the action on expiry (e.g., draft or out-of-stock).

FAQ

Can I set expiry dates for individual variations?

Yes, the plugin supports setting expiration dates at the variation level.

What happens when a product expires?

Depending on your settings, it will either be moved to Draft status or marked as Out of Stock automatically.

Can I display the expiry date on the product page?

Yes. You can choose to show or hide the expiry date on the front end and even control where it appears and how it looks.

Will I be notified when a product expires?

Yes, the plugin can send an email notification when a product expires. You can also specify a custom recipient email address.

Can I edit expiry dates in bulk?

Yes. You can bulk-edit or quick-edit expiry dates from the product listing page in your admin dashboard.

Reviews

September 26, 2025
Nothing works as expected. There seem to be weird caching issues, there isn’t any option to set an expiration time that I have been able to find, very little explanation for the setting fields (and they are not intuitive), the product-level settings don’t seem to take at all for variable products (other than the message, which you cannot edit the styling and it gets lost in all of the other text on the page – nothing about it stands out), the way the settings are edited for the individual variations is different than that of the full product settings, and there’s no indication of hierarchy for those settings (example, if different expiration information is set at product and variation levels, there is no way to know which the system will recognize as priority).I have been testing the plugin over the last two days to see if it would work for a client and trying to test to figure out how the plugin determined the actual moment of expiration (since, as I mentioned above, there is no option to set a time, contrary to what is claimed in the description) – no indication as to whether it be at 11:59pm on the date set as the expiration date, 12am the next day, or some arbitrary point in time. And there is no indication as to how it was determining/calculating date and time – the website’s timezone settings or something else? As I was testing and changing dates, it seemed to confuse the plugin and now it won’t update at all. It keeps saying out of stock even though I have tried updating it with today’s date and tomorrow’s. Nothing seems to work. Frustrating plugin that seems to have more bugs than I want to deal with – not trustworthy in functionality enough to add to my clients’ sites. What I tried while troubleshooting: Cleared browser cache Cleared site cache Closed product browser tab completely and re-opened Removed all product-level settings and set only variation None of these seemed to resolve the situation. Just glad it was free.
December 12, 2023 2 replies
Very good plugin. I would think it would be good if you could enter multiple data per product. for example product x 01/01/23 40 pieces and another 20 pieces with date 03/01/23 Thanks
April 10, 2023
HelloIs there a way to send an email to buyers of a product when it’s close to expiration? Or if not, can you add this item in the next update?
March 4, 2023 2 replies
Although I still need some help with setting out of stock after the expire-day.
January 30, 2023
Hi, Thanks for useful plugin. I am using it for my shop in Arabic language. I think you can add many features to it that will improve your plugin such as support for other languages like Arabic ( RTL support ) or make it translatable, support determining the expiry date for variations, and define other places to display the expiry date such as description. Thanks again for your great work!
Read all 12 reviews

Contributors & Developers

“Product Expiry for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

“Product Expiry for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Product Expiry for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.8

  • Bug Fixed: Date is not respecting the site’s timezone settings. (credits: @akukameda)

2.7

  • Feature Added: Sorting by expiry date
  • Feature Added: 6 Months filter
  • Feature Added: Filter variable products
  • Feature Added: Variable products expiry date in admin column
  • Feature Added: Support with WooCommerce 9.8.5
  • Bug Fixed: Uncaught Error: Call to a member function get_meta()
  • Bug Fixed: Date is not displaying for variable products

2.6

  • Vulnerability Fixed: issue identified by Wordfence team is fixed

2.5

  • Bug Fixed: Cron event does not get cleared when date is deleted

2.4

  • Feature Added: Provide custom expiry note to display
  • Feature Added: Shortcode added [expiry_date before=”” after=””]
  • Bug Fixed: Quick edit date is always empty

2.3

  • Feature Added: Variations support
  • Feature Added: WPML Support
  • Feature Added: Make products out of stock
  • Feature Added: Quick settings button

2.2

  • Feature Added: Product becomes draft when the date pass (+1 Day)
  • Feature Added: Option to display date in order details (Admin + Front)

2.1

  • Feature Added: Option to display expiry date in order emails
  • Bug Fixed: Display on frontend not saving settings

2.0

  • Feature Added: Admin filtering by expiry status
  • Feature Added: Custom text markup
  • Feature Added: Custom date format
  • Feature Added: Email notification on expiry

1.5

  • Feature Added: Russian Translation Added

1.4

  • Feature Added: Bulk edit expiration date
  • Feature Added: Admin column added to display dates
  • Notice: POT updated

1.3

  • Bug Fixed: Warning Use of undefined constant

1.2

  • Ability to enable/disable display of expire date on the product page
  • POT file updated

1.1

  • Expiry date added in the single product page

1.0

  • Initial Release