Product Expiry Configurable
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.0Set 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
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-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/product-attribute.
terminal Installation and usage
OCA documentation · Odoo 16.0Configuration
Source · 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.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.