OdooWiki OCA HUB

Product Expiry Configurable

product_expiry_configurable folder_open OCA/product-attribute open_in_new
Uncategorised License: AGPL-3

This module allows to manage product life delays on category level:

  • Use Time
  • Removal Time
  • Alert Time
  • Expiration Time

If these values are set on category level, when creating a product and assigning that category or changing that category on existing product, those value are reflected on product side. Those values can also be set per product.

The 'Use Expiration Date' field that exists on product level is set too on category with the same behavior as above.

Last but not least, activities can be created automatically to warn users for product that have some dates expired (Removal, Use and Expiration).

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Set expiry, use, removal and alert delays on product categories so they flow down to products and lots, and get automatic activities when lots pass those dates.

This module extends the standard expiration features so that the four expiry delays (Use Time, Removal Time, Alert Time and Expiration Time) and the 'Use Expiration Date' flag can be defined at product category level. When you set them on a category, they are copied to products in that category, and you can still override them per product.

On the product category form, a new 'Expiry Dates' group appears (visible to users with lot/serial number access) where you enter the delays in days and tick 'Use Expiration Date'. Values are inherited from the parent category when left empty.

On lots and serial numbers, three new filters are added to the search view: 'Use Date Reached', 'Removal Date Reached' and 'Expiration Date Reached', and the existing alert filter is renamed 'Alert Date Reached'. The Lots/Serial Numbers action is also redefined.

Three scheduled jobs (disabled by default) run daily: Product Removal Date Reached, Product Use Date Reached and Product Expiration Date Reached. Each looks for lots whose corresponding date has passed and that still have stock in internal locations, then creates an 'Expiry Date Reached' activity for the product's responsible person (or the administrator). A flag on the lot prevents the same activity from being created again for the same date.

Depends on

product_expiry
Models and fields (3)
  • stock.lot · extends an existing modeluse_date_reminded, removal_date_reminded, expiration_date_reminded
  • product.category · extends an existing modeluse_time (Product Use Time), alert_time (Product Alert Time), removal_time (Product Removal Time), expiration_time (Product Expiration Time), use_expiration_date
  • product.template · extends an existing modeluse_time, alert_time, removal_time, expiration_time, use_expiration_date

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/product-attribute.

terminal Installation and usage

OCA documentation · Odoo 16.0
  • To configure a times on categories, Go to Configuration menu (in Purchase/Invoicing/Inventory), then Product Categories.
  • Choose the one you want to configure and fill in the times and the Use Expiration Date:
  • To configure activities crons, go to Settings > Technical > Scheduled Actions
  • Choose the one you want to activate and configure the time to run it

No verified information in OCA: Installation, Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.