1. Documentation /
  2. Product Batch & Expiration Tracking for WooCommerce

Product Batch & Expiration Tracking for WooCommerce


↑ Back to top
  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
  3. Install Now and Activate the extension.
More information at: Install and Activate Plugins/Extensions.

Setup and Configuration

↑ Back to top

Product Setting Configuration

↑ Back to top
To add batch/expiration records for a product to the system, open an existing product or create a new product at Products > Add New. Once on the product page, scroll down to Product Data and navigate to the inventory tab. At the bottom of this tab, check the checkbox labelled “Enable Expiration & Batch Tracking”. From here you can select either Expiration Tracking Only, Batch Tracking Only, or Expiration and Batch Tracking which uses a combination of the prior settings. (Note: When this option is selected it is immediately saved, and the table columns will update accordingly) In the table below, you can fill out the columns with: expiration date, quantity, Batch # or Batch Id, Batch Date, Supplier. All of these fields are required for the record to save, with the exception of the Supplier field which is optional. These fields will be used to track the record in the system. Depending on the Tracking mode, some columns may be hidden and not used (Batch Tracking Only hides the expiration date column and Expiration Tracking Only hides the Batch #, Batch Date, and Supplier fields). New rows can be added with the button underneath the table rows. For variable products, there will be a table under each variation. Below the table there is an additional product-level setting, which controls whether or not the closest expiration date is displayed on the product page. By default it is set to use the global setting, but is customizable per product if you uncheck the Use Global Expiration Display Settings checkbox. The settings below the first checkbox will show the global settings if they are being used. (Note: The Display before days field needs to be filled to for the expiration date to display. If you would like it to always display, an arbitrarily high number can be used)

Global Setting Configuration

↑ Back to top
In addition to the product settings, there are additional features that can be configured as needed from the main settings page. This page is located under Product > Batch & Expiration by Webis. There you can set the default tracking mode, set the default expiration date display settings, enable email notifications, and set a category for expiring items to be placed under. Tracking Mode This setting allows you to set the default tracking mode when creating new products. Display Expiration Date This settings controls whether the closest expiration date is displayed on the product page. (Note: The Display before days field needs to be filled to for the expiration date to display. If you would like it to always display, an arbitrarily high number can be used) Enable Reduce Stock Upon Expiry Setting to automatically remove stock when product is expired. When disabled, stock will not decrease until manually adjusted. You can see the stock reduction log from WooCommerce > Status > Logs > wpbet_expired_stock.log Email Notification This setting can be enabled to have the system send an email whenever a product is expiring soon. You can define how many days before expiring, will be considered expiring soon and set the email to receive the notification. Invoice / Order Details This setting enables showing batch number and expiry date on WooCommerce generated customer invoice and order received notification email. If you are using custom invoice and email that are not native to WooCommerce, you can use the plugin shortcode to render necessary information. Add to Clearance Category This settings allows you to choose a category for products to be added into when the product is expiring soon. You can define how many days before expiring it needs to be, before the products are added to the category.


↑ Back to top
  • Once the plugin has been activated and your products have been configured, orders placed containing those items will update their record’s quantity accordingly and have a record of the change in the order notes.
  • Also, alongside the settings tab there are two additional tabs that show the expiration report and batch report respectively.
  • If you’ve set the expiration date to display for your product, it should appear above the add to cart button alongside the stock status/stock quantity (Visuals may vary by theme).
  • [wpbet_batch_expiry] shortcode is available to show batch number and expiry date information of a variation purchased for specific order. It takes three variables, all required: order_id, variation_id and type (batch_num or expiry_date).

Important Notes & Troubleshooting

↑ Back to top
IMPORTANT When changing the tracking, the product data window will update. Any unsaved changes made inside the product data window will be lost. Please save your changes before updating the tracking mode. The expiration report’s expiring soon yellow highlight, uses the “Notify before (days)” field under the Email Notification to determine the range of dates for which to apply the highlight.


↑ Back to top
  1. How do the three tracking modes differ? The Product Batch and Expiration Tracking plugin supports three tracking modes: expiration only, batch only and expiration and batch tracking. Based on the selected tracking mode, the system will automatically filter the display of any unused or unneeded input fields and change how it determines where to reduce stock from or restock to. Please use “expiration only” or “batch only” tracking mode if you only plan on tracking one of them.
  1. How can I search for orders containing a specific batch number? Searching for orders with a specific batch number is simple. Go to the WooCommerce > Orders tab and search for the batch number just like how you search for an order with its order number.
  1. I just made an expiration record, why can’t I see it in the report? By default, the expiration report only shows records expiring within 60 days and expired records. You can change the filter to show records expiring in 7 days up to 90 days.
  1. What is a batch date? The batch date is used to track the date a batch was received. It’s used to prioritize which record is reduced from first. If you don’t have a date to enter, it is recommended to use the current date to create records, so that the system can appropriately prioritize your records.