Product Icon

Product Batch & Expiration Tracking for WooCommerce

Track product batch & expiration date info, get email alerts on expiring products, auto add to clearance category for expiring products and search orders by batch number.

Track Your Products by the Batch and Keep Tabs on Their Expiration Dates 

Product Batch & Expiration Tracking for WooCommerce allows store owners to track their products stock through batches and sets of same expiration dates. Take control of your inventory and set up and track sub-quantities of your products in batches and/or expiration dates. 

This breakthrough plugin allows store owners to keep track of their inventory, as parts of a whole, allowing them to oversee their products as a group of batches and a set of expiration dates. 

Who is this for?

If you are running a WooCommerce store that carries products with expiration date, e.g. food/edible, cosmetic, medicine, drink (tea, coffee etc.), or, from time to time you might need to recall your products. This plugin is for you!

Our batch tracking feature allows you to enter the batch number, batch date and vendor (if you are not the manufacturer) info, save them in your WooCommerce store. Later on, you can track your products’ batch info from the dedicated batch report dashboard. This is a great feature for food/edible manufacturer.

Our product expiry/expiration date tracking feature allows you to track your product’s expiration date, send you email notification of expiring products, as well as moving them into sales/clearance category automatically.

To sum up, our target audience is WooCommerce store owners who are looking to upgrade their inventory management by incorporating expiration date tracking, or expiration date tracking. By being able to track expiring products, better planning around promotions and sales can be done. In addition to expiration date tracking, there is batch tracking for store owners who are interested in being able to reference orders by a batch number.

Most Important Features 

Product Batch & Expiration Tracking has a wide variety of features which allow you to manage inventory and keep yourself notified of any inventory with upcoming expiration dates. Using it will save you tons of time and money, which would normally be spent on keeping track of all the varying expiration dates of products on your store. Here’s a list of features: 

  1. Product Batch & Expiration Tracking – When enabled each product will have its own batch tracking and expiration date tracking table.
  2. Managed stock in Batches – Manage and track product quantities using a batch system, assigning each batch an ID, a batch date, and a supplier name.
  3. Managed stock by Expiration Date– Manage and track product quantities, using expiration dates, assigning each sub-quantity of your product an expiration date.
  4. Expiration Report – Dedicated page that lists all currently existing records with expiration dates that are close to expiration.
  5. Batch Report – Dedicated page that lists all currently existing batches sorted by their batch date.
  6. Track Orders by Batch – Orders of products with batches set up, remember which batch was used and the batch can be searched for. 

Additional Features 

In addition to the main features listed above, there are some additional features you can opt in to that can be configured in the settings. The settings page can be found by going to the products tab and clicking the “Batch & Expiration by Webis” sub-tab (Note that these settings require expiration tracking to be enabled). Here is the list of additional features: 

  1. Display the Expiration Date – If this option is enabled, the expiration date will appear on the product page if a batch is expiring in a set number of days.
  2. Receive Emails for Soon-to-expire Products – If this option is enabled, the plugin sends a notification email with a list of products that are expiring a set number of days from the current day.
  3. Add to Clearance Category – If this option is enabled, when the expiration date of a product reaches a set number of days, the product is added to a set category.
  4. Shortcode to Show Batch Number and Expiry Date –You can use [wpbet_batch_expiry] shortcode to show batch number or expiry date wherever you want.

Why Did We Develop This Plugin? 

As a store owner, we encountered the need to be able to track and record the expiration dates of our perishable goods like food products. We searched for existing solutions on the market but couldn’t find one that fulfilled the need in a straightforward and easy-to-use way. As a result, we developed this plugin to satisfy this need for expiration date tracking and we hope it can be of benefit to you as well. 

How Do I Set It Up? 

Once the plugin is enabled, in the product data section of the product edit page, under the inventory tab, there will be a section called “Product Batch & Expiration Tracking”. In that section, you can enable “Expiration & Batch Tracking”. Once you’ve enabled it, the batch table will appear underneath if the product type is simple and under each variation if the product type is variable. Within this table you can create new batch entries that are saved when the product is saved. 

The steps: 

  1. Enable the plugin 
  2. Go to the product edit page, go into the Inventory tab, enable the “Enable Expiration & Batch Tracking” option 
  3. You can find the table in the Inventory tab if the product type is simple, and under each variation if the product type is variable.

  4. Fill in the table with the information about your batches. 
  5. You’re all set to start tracking your batches! 

How Can I Use the Shortcode?

Shortcode [wpbet_batch_expiry type=”” order_id=”” variation_id=””] can render batch number or expiry date of the product variation that was ordered. It requires three parameter, type, order_id and variation_id. Type can be either batch_num or expiry_date depends on what you would like to show.

What Can Our Plugin Do? (Use Cases) 

The Product Batch & Expiration Tracking for WooCommerce plugin allows you to track your product expiration date and batch numbers. You can also segment the product inventory into separate batches.

For Example (Expiration Date Use Case)

Say you have 100 bags of candy in stock, you purchased these 100 units in two batches. some of them are going to expire in 30 days, the rest of them are expiring next year.

Without our plugin:

You will need to ask your warehouse stuff constantly for each SKU in order to plan your clearance sales.

With our plugin:

Not only that you just need to go to the Expiry Report Dashboard to check the expiring products, you will also get email notifications regarding the expiring products. And if you setup the auto on sale feature, the product will automatically move into the clearance category (you can choose which category it is). These features will save you a lot of money from product wasting.

Another Example (Batch Number Use Case)

Say you sell chocolate cakes for years, and you just got notified by your supplier that, the last batch’s cakes are on the recall list. You want to notify your customers about this.

Without our plugin:

You will need to guess which orders contain the recalled cakes

With our plugin:

You can search orders by typing the batch number from the WooCommerce’s orders page. This will save you a lot of time.

There are much use cases of batch & expiry date tracking, and we pick a few more use cases that our plugin can cover: 

  1. Track the expiration date of products, so that when the expiration date approaches a promotion can be held to clear out items before expiration.
  2. Track expiration dates for multiple shipments to clear out inventory in a FIFO system based on closeness to expiring.
  3. Recording inventory shipments as batches, in the case a recall becomes necessary and the orders involved with the inventory requiring a recall can be tracked. 

A Comparison of the Different Possible Implementations of Expiration Date & Batch Tracking 

As always, prior developing our plugins, we check to see whether the existing plugin can fulfill the features we want to fulfill. After testing the existing product batch tracking or product expiration plugins, we found that either some of the plugins are not working at all, or the setup configuration is overly complicated, or lack of features. That was why we developed this plugin for our own use case, as well as sharing with WooCommerce store owners and hope to help out stores like us.

To sum up, there are a few approaches to solving the product expiration date problem: 

  1. A centralized dashboard where you can create records for all products.
    The problem with this solution, is that it is overly complicated. When a store manager goes to update the stock of a product, they would normally go to the product edit page to make their changes. By adding another dashboard that they have to use to make records, the process becomes very inefficient and inconvenient. We prefer to remain the existing workflow for normal store owners, and not introduce million other places to setup the product.
  2. Use expiration date tracking to only track expiration date.
    Some plugins do handle expiration date tracking, but they usually only provide the default features like updating stock values, and simple features like displaying the expiration date. Our plugin offers much more in-depth features, for example, moving expiring products into sales/clearance category (you can select which category to go to), sending expiring notifications to store manager regarding the upcoming expiring products.
  3. Use expiration date tracking alongside batch tracking right on the product edit page, and have a dedicated dashboard for the report.
    This is our solution, and we believe that it is the most effective and complete solution.

It Works Well With


Minimum PHP version: 7.0

Get started

  • Purchase this extension
  • Download, install, and activate the extension, in your WooCommerce store
  • Review our documentation for any additional information

Customer reviews