| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Supply Chain/Inventory |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Thibault Delavallée, Arnold Moyaux, Julien Castiaux, Denis Roussel, William Henrotin, svs-odoo, Tiffany Chang (tic), Gorash, Djamel Touati, Pieter Claeys (clpi), Dylan Kiss (dyki), Paweł Fertyk, Quentin Wolfs, nihp-odoo, Stéphane Diez, djameltouati, Bastien PIERRE, chha-odoo, Krzysztof Magusiak (krma), sawer, agbr-odoo, Lulu Grimalkin (lugr), adip-odoo, Eliott Loop (oplo-odoo), assh-odoo, Eve Lin (evlin), Mathias Mathy |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - html_editor - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
confirm_expiry_view |
Confirm | expiry.picking.confirmation | form | New |
label_lot_template_view_expiry |
label_lot_template_view_expiry | ir.ui.view | qweb | Inherits stock.label_lot_template_view |
quant_search_view_inherit_product_expiry |
stock.quant.search.inherit | stock.quant | xpath | Inherits stock.quant_search_view |
report_lot_label_expiry |
report_lot_label_expiry | ir.ui.view | qweb | Inherits stock.report_lot_label |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.product.expiry.stock | res.config.settings | xpath | Inherits stock.res_config_settings_view_form |
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.lot | xpath | Inherits stock.search_product_lot_filter |
stock_report_delivery_document_inherit_product_expiry |
stock_report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
stock_report_delivery_has_serial_move_line_inherit_product_expiry |
stock_report_delivery_has_serial_move_line_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_production_lot_view_kanban |
stock.production.lot.kanban.inherit.product.expiry | stock.lot | xpath | Inherits stock.view_production_lot_kanban |
view_production_lot_view_tree |
stock.production.lot.list.inherit.product.expiry | stock.lot | xpath | Inherits stock.view_production_lot_tree |
view_stock_move_line_detailed_operation_tree_expiry |
stock.move.line.operations.inherit.list | stock.move.line | xpath | Inherits stock.view_stock_move_line_detailed_operation_tree |
view_stock_move_line_operation_tree_expiry |
stock.move.line.inherit.list | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
view_stock_move_operations_expiry |
stock.move.operations.inherit.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
view_stock_quant_tree |
stock.quant.list.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree |
view_stock_quant_tree_editable |
stock.quant.list.editable.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree_editable |
view_stock_quant_tree_inventory_editable |
stock.quant.inventory.list.editable.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree_inventory_editable |
description
Char
compute='_compute_descriptive_fields'
args: 'Description'
lot_ids
Many2many → stock.lot
readonly=True
required=True
args: 'stock.lot'
picking_ids
Many2many → stock.picking
readonly=True
args: 'stock.picking'
show_lots
Boolean
compute='_compute_descriptive_fields'
args: 'Show Lots'
process(self)
process_no_expired(self)
free_qty
Float
help="Available quantity (computed as Quantity On Hand - reserved quantity - quantity to remove)\nIn a context with a single Stock Location, this includes goods stored in this location, or any of its children.\nIn a context with a single Warehouse, this includes goods stored in the Stock Location of this Warehouse, or any of its children.\nOtherwise, this includes goods stored in any Stock Location with 'internal' type."
virtual_available
Float
help="Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming - Quantity to Remove)\nIn a context with a single Stock Location, this includes goods stored in this location, or any of its children.\nIn a context with a single Warehouse, this includes goods stored in the Stock Location of this Warehouse, or any of its children.\nOtherwise, this includes goods stored in any Stock Location with 'internal' type."
No public methods.
alert_time
Integer
help='Number of days before the Expiration Date after which an alert should be raised on the lot/serial number. It will be computed on the lot/serial number.'
string='Alert Date'
expiration_time
Integer
help='Number of days after the receipt of the products (from the vendor or in stock after production) after which the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Expiration Date'
removal_time
Integer
help='Number of days before the Expiration Date after which the goods should be removed from the stock and not be counted in the Fresh On Hand Stock anymore.It will be computed on the lot/serial number.'
string='Removal Date'
use_expiration_date
Boolean
help='When this box is ticked, you have the possibility to specify dates to manage product expiration, on the product and on the corresponding lot/serial numbers'
string='Use Expiration Date'
use_time
Integer
help='Number of days before the Expiration Date after which the goods starts deteriorating, without being dangerous yet. It will be computed on the lot/serial number.'
string='Best Before Date'
write(self, vals)
No new fields.
Public methods (0)No public methods.
group_expiry_date_on_delivery_slip
Boolean
implied_group='product_expiry.group_expiry_date_on_delivery_slip'
args: 'Display Expiration Dates on Delivery Slips'
No public methods.
No new fields.
Public methods (0)No public methods.
alert_date
Datetime
compute='_compute_dates'
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
readonly=False
store=True
string='Alert Date'
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
readonly=False
store=True
string='Expiration Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Expiration Date has been reached.'
product_expiry_reminded
Boolean
string='Expiry has been reminded'
removal_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number should be removed from the stock and not be counted in the Fresh On Hand Stock anymore. This date will be used in FEFO removal strategy.'
readonly=False
store=True
string='Removal Date'
use_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
readonly=False
store=True
string='Best before Date'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
action_generate_lot_line_vals(self, context_data, mode, first_lot, count, lot_text)
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
store=True
string='Expiration Date'
is_expired
Boolean
related='lot_id.product_expiry_alert'
removal_date
Datetime
compute='_compute_removal_date'
readonly=False
store=True
string='Removal Date'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
No new fields.
Public methods (0)No public methods.
available_quantity
Float
help="On hand quantity which hasn't been reserved on a transfer and is still fresh, in the default unit of measure of the product"
expiration_date
Datetime
related='lot_id.expiration_date'
store=True
removal_date
Datetime
related='lot_id.removal_date'
store=True
use_expiration_date
Boolean
related='product_id.use_expiration_date'
No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Inventory/Inventory |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Odoo Online, Arnold Moyaux, Denis Roussel, William Henrotin, svs-odoo, Prakash Prajapati, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, David (dafr), JF Aubert, Pedram (PEBR), Louis Wicket (wil), Walid, clesgow, Djamel Touati, Dylan Kiss (dyki), Antoine (ande), Chong Wang (cwg), Ahmed Khalaf, omra-odoo, Louis (wil), Mohammad Abdulmoneim, djameltouati, suju-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - html_editor - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
confirm_expiry_view |
Confirm | expiry.picking.confirmation | form | New |
label_lot_template_view_expiry |
label_lot_template_view_expiry | ir.ui.view | qweb | Inherits stock.label_lot_template_view |
quant_search_view_inherit_product_expiry |
stock.quant.search.inherit | stock.quant | xpath | Inherits stock.quant_search_view |
report_lot_label_expiry |
report_lot_label_expiry | ir.ui.view | qweb | Inherits stock.report_lot_label |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.product.expiry.stock | res.config.settings | xpath | Inherits stock.res_config_settings_view_form |
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.lot | xpath | Inherits stock.search_product_lot_filter |
stock_report_delivery_document_inherit_product_expiry |
stock_report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
stock_report_delivery_has_serial_move_line_inherit_product_expiry |
stock_report_delivery_has_serial_move_line_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_production_lot_view_kanban |
stock.production.lot.kanban.inherit.product.expiry | stock.lot | xpath | Inherits stock.view_production_lot_kanban |
view_production_lot_view_tree |
stock.production.lot.list.inherit.product.expiry | stock.lot | xpath | Inherits stock.view_production_lot_tree |
view_stock_move_line_detailed_operation_tree_expiry |
stock.move.line.operations.inherit.list | stock.move.line | xpath | Inherits stock.view_stock_move_line_detailed_operation_tree |
view_stock_move_line_operation_tree_expiry |
stock.move.line.inherit.list | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
view_stock_move_operations_expiry |
stock.move.operations.inherit.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
view_stock_quant_tree |
stock.quant.list.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree |
view_stock_quant_tree_editable |
stock.quant.list.editable.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree_editable |
view_stock_quant_tree_inventory_editable |
stock.quant.inventory.list.editable.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree_inventory_editable |
description
Char
compute='_compute_descriptive_fields'
args: 'Description'
lot_ids
Many2many → stock.lot
readonly=True
required=True
args: 'stock.lot'
picking_ids
Many2many → stock.picking
readonly=True
args: 'stock.picking'
show_lots
Boolean
compute='_compute_descriptive_fields'
args: 'Show Lots'
process(self)
process_no_expired(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)action_open_quants(self)
alert_time
Integer
help='Number of days before the Expiration Date after which an alert should be raised on the lot/serial number. It will be computed on the lot/serial number.'
string='Alert Date'
expiration_time
Integer
help='Number of days after the receipt of the products (from the vendor or in stock after production) after which the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Expiration Date'
removal_time
Integer
help='Number of days before the Expiration Date after which the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Removal Date'
use_expiration_date
Boolean
help='When this box is ticked, you have the possibility to specify dates to manage product expiration, on the product and on the corresponding lot/serial numbers'
string='Use Expiration Date'
use_time
Integer
help='Number of days before the Expiration Date after which the goods starts deteriorating, without being dangerous yet. It will be computed on the lot/serial number.'
string='Best Before Date'
No public methods.
group_expiry_date_on_delivery_slip
Boolean
implied_group='product_expiry.group_expiry_date_on_delivery_slip'
args: 'Display Expiration Dates on Delivery Slips'
No public methods.
alert_date
Datetime
compute='_compute_dates'
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
readonly=False
store=True
string='Alert Date'
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
readonly=False
store=True
string='Expiration Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Expiration Date has been reached.'
product_expiry_reminded
Boolean
string='Expiry has been reminded'
removal_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number should be removed from the stock. This date will be used in FEFO removal strategy.'
readonly=False
store=True
string='Removal Date'
use_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
readonly=False
store=True
string='Best before Date'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
store=True
string='Expiration Date'
is_expired
Boolean
related='lot_id.product_expiry_alert'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
No new fields.
Public methods (0)No public methods.
expiration_date
Datetime
related='lot_id.expiration_date'
store=True
removal_date
Datetime
related='lot_id.removal_date'
store=True
use_expiration_date
Boolean
related='product_id.use_expiration_date'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/17.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Inventory/Inventory |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Damien Bouvy, Wolfgang Taferner, Odoo Online, Jorge Pinna Puissant, Arnold Moyaux, Denis Roussel, William Henrotin, svs-odoo, Prakash Prajapati, Tiffany Chang (tic), Gorash, snd, David (dafr), Aurelien van Delft (avd), Mathieu Walravens, Pedram (PEBR), Louis Wicket (wil), Walid, Adrien Widart (awt), clesgow, Djamel Touati, Pieter Claeys (clpi), Dylan Kiss (dyki), Antoine (ande), Ahmed Khalaf, stcc-odoo, Julien Carion (juca), Louis (wil), Mathias Mathy (MAMA), suju-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:02:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
confirm_expiry_view |
Confirm | expiry.picking.confirmation | form | New |
label_lot_template_view_expiry |
label_lot_template_view_expiry | ir.ui.view | qweb | Inherits stock.label_lot_template_view |
quant_search_view_inherit_product_expiry |
stock.quant.search.inherit | stock.quant | xpath | Inherits stock.quant_search_view |
report_lot_label_expiry |
report_lot_label_expiry | ir.ui.view | qweb | Inherits stock.report_lot_label |
report_package_barcode_expiry |
report_package_barcode_expiry | ir.ui.view | qweb | Inherits stock.report_package_barcode |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.product.expiry.stock | res.config.settings | xpath | Inherits stock.res_config_settings_view_form |
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.lot | xpath | Inherits stock.search_product_lot_filter |
stock_report_delivery_document_inherit_product_expiry |
stock_report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
stock_report_delivery_has_serial_move_line_inherit_product_expiry |
stock_report_delivery_has_serial_move_line_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_production_lot_view_kanban |
stock.production.lot.kanban.inherit.product.expiry | stock.lot | xpath | Inherits stock.view_production_lot_kanban |
view_production_lot_view_tree |
stock.production.lot.tree.inherit.product.expiry | stock.lot | xpath | Inherits stock.view_production_lot_tree |
view_stock_move_line_detailed_operation_tree_expiry |
stock.move.line.operations.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_detailed_operation_tree |
view_stock_move_line_operation_tree_expiry |
stock.move.line.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
view_stock_move_operations_expiry |
stock.move.operations.inherit.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
view_stock_quant_tree |
stock.quant.tree.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree |
view_stock_quant_tree_editable |
stock.quant.tree.editable.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree_editable |
view_stock_quant_tree_inventory_editable |
stock.quant.inventory.tree.editable.inherit.expiry_date | stock.quant | xpath | Inherits stock.view_stock_quant_tree_inventory_editable |
description
Char
compute='_compute_descriptive_fields'
args: 'Description'
lot_ids
Many2many → stock.lot
readonly=True
required=True
args: 'stock.lot'
picking_ids
Many2many → stock.picking
readonly=True
args: 'stock.picking'
show_lots
Boolean
compute='_compute_descriptive_fields'
args: 'Show Lots'
process(self)
process_no_expired(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)action_open_quants(self)
alert_time
Integer
help='Number of days before the Expiration Date after which an alert should be raised on the lot/serial number. It will be computed on the lot/serial number.'
string='Alert Date'
expiration_time
Integer
help='Number of days after the receipt of the products (from the vendor or in stock after production) after which the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Expiration Date'
removal_time
Integer
help='Number of days before the Expiration Date after which the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Removal Date'
use_expiration_date
Boolean
help='When this box is ticked, you have the possibility to specify dates to manage product expiration, on the product and on the corresponding lot/serial numbers'
string='Use Expiration Date'
use_time
Integer
help='Number of days before the Expiration Date after which the goods starts deteriorating, without being dangerous yet. It will be computed on the lot/serial number.'
string='Best Before Date'
No public methods.
group_expiry_date_on_delivery_slip
Boolean
implied_group='product_expiry.group_expiry_date_on_delivery_slip'
args: 'Display Expiration Dates on Delivery Slips'
No public methods.
alert_date
Datetime
compute='_compute_dates'
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
readonly=False
store=True
string='Alert Date'
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
readonly=False
store=True
string='Expiration Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Expiration Date has been reached.'
product_expiry_reminded
Boolean
string='Expiry has been reminded'
removal_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number should be removed from the stock. This date will be used in FEFO removal strategy.'
readonly=False
store=True
string='Removal Date'
use_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
readonly=False
store=True
string='Best before Date'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
store=True
string='Expiration Date'
is_expired
Boolean
related='lot_id.product_expiry_alert'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
No new fields.
Public methods (0)No public methods.
expiration_date
Datetime
related='lot_id.expiration_date'
store=True
removal_date
Datetime
related='lot_id.removal_date'
store=True
use_expiration_date
Boolean
related='product_id.use_expiration_date'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Inventory/Inventory |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Denis Roussel, Romeo Fragomeli, Victor Feyens, William Henrotin, svs-odoo, Adrien Widart, Touati Djamel (otd), Tiffany Chang (tic), remi-filament, yhu-odoo, nouraellm, Abdelouahab (abla), Aurelien van Delft (avd), Mathieu Walravens, Adrien Widart (awt), clesgow, Antoine (ande), stcc-odoo, Martin Trigaux (mat) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:48 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
confirm_expiry_view |
Confirm | expiry.picking.confirmation | form | New |
label_lot_template_view_expiry |
label_lot_template_view_expiry | ir.ui.view | qweb | Inherits stock.label_lot_template_view |
quant_search_view_inherit_product_expiry |
stock.quant.search.inherit | stock.quant | xpath | Inherits stock.quant_search_view |
report_lot_label_expiry |
report_lot_label_expiry | ir.ui.view | qweb | Inherits stock.report_lot_label |
report_package_barcode_expiry |
report_package_barcode_expiry | ir.ui.view | qweb | Inherits stock.report_package_barcode |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.product.expiry.stock | res.config.settings | xpath | Inherits stock.res_config_settings_view_form |
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.lot | xpath | Inherits stock.search_product_lot_filter |
stock_report_delivery_document_inherit_product_expiry |
stock_report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
stock_report_delivery_has_serial_move_line_inherit_product_expiry |
stock_report_delivery_has_serial_move_line_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_production_lot_view_tree |
stock.production.lot.tree.inherit.product.expiry | stock.lot | xpath | Inherits stock.view_production_lot_tree |
view_stock_move_line_detailed_operation_tree_expiry |
stock.move.line.operations.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_detailed_operation_tree |
view_stock_move_line_operation_tree_expiry |
stock.move.line.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
view_stock_move_operations_expiry |
stock.move.operations.inherit.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
view_stock_quant_tree_editable_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_tree_editable |
view_stock_quant_tree_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_tree |
description
Char
compute='_compute_descriptive_fields'
args: 'Description'
lot_ids
Many2many → stock.lot
readonly=True
required=True
args: 'stock.lot'
picking_ids
Many2many → stock.picking
readonly=True
args: 'stock.picking'
show_lots
Boolean
compute='_compute_descriptive_fields'
args: 'Show Lots'
process(self)
process_no_expired(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)action_open_quants(self)
alert_time
Integer
help='Number of days before the Expiration Date after which an alert should be raised on the lot/serial number. It will be computed on the lot/serial number.'
string='Alert Date'
expiration_time
Integer
help='Number of days after the receipt of the products (from the vendor or in stock after production) after which the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Expiration Date'
removal_time
Integer
help='Number of days before the Expiration Date after which the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Removal Date'
use_expiration_date
Boolean
help='When this box is ticked, you have the possibility to specify dates to manage product expiration, on the product and on the corresponding lot/serial numbers'
string='Use Expiration Date'
use_time
Integer
help='Number of days before the Expiration Date after which the goods starts deteriorating, without being dangerous yet. It will be computed on the lot/serial number.'
string='Best Before Date'
No public methods.
group_expiry_date_on_delivery_slip
Boolean
implied_group='product_expiry.group_expiry_date_on_delivery_slip'
args: 'Display Expiration Dates on Delivery Slips'
No public methods.
alert_date
Datetime
compute='_compute_dates'
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
readonly=False
store=True
string='Alert Date'
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
readonly=False
store=True
string='Expiration Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Expiration Date has been reached.'
product_expiry_reminded
Boolean
string='Expiry has been reminded'
removal_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number should be removed from the stock. This date will be used in FEFO removal strategy.'
readonly=False
store=True
string='Removal Date'
use_date
Datetime
compute='_compute_dates'
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
readonly=False
store=True
string='Best before Date'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
store=True
string='Expiration Date'
is_expired
Boolean
related='lot_id.product_expiry_alert'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
No new fields.
Public methods (0)No public methods.
removal_date
Datetime
readonly=False
related='lot_id.removal_date'
store=True
use_expiration_date
Boolean
readonly=True
related='product_id.use_expiration_date'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Inventory/Inventory |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Arnold Moyaux, Xavier-Do, William Henrotin, svs-odoo, Adrien Widart, Touati Djamel (otd), remi-filament, Kevin Baptiste, nouraellm, Abdelouahab (abla), Aurelien van Delft (avd), Mathieu Walravens, Adrien Widart (awt), clesgow |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
confirm_expiry_view |
Confirm | expiry.picking.confirmation | form | New |
label_lot_template_view_expiry |
label_lot_template_view_expiry | ir.ui.view | qweb | Inherits stock.label_lot_template_view |
quant_search_view_inherit_product_expiry |
stock.quant.search.inherit | stock.quant | xpath | Inherits stock.quant_search_view |
report_lot_label_expiry |
report_lot_label_expiry | ir.ui.view | qweb | Inherits stock.report_lot_label |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.product.expiry.stock | res.config.settings | xpath | Inherits stock.res_config_settings_view_form |
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.production.lot | xpath | Inherits stock.search_product_lot_filter |
stock_report_delivery_document_inherit_product_expiry |
stock_report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
stock_report_delivery_has_serial_move_line_inherit_product_expiry |
stock_report_delivery_has_serial_move_line_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_production_lot_view_tree |
stock.production.lot.tree.inherit.product.expiry | stock.production.lot | xpath | Inherits stock.view_production_lot_tree |
view_stock_move_line_detailed_operation_tree_expiry |
stock.move.line.operations.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_detailed_operation_tree |
view_stock_move_line_operation_tree_expiry |
stock.move.line.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
view_stock_move_operations_expiry |
stock.move.operations.inherit.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
view_stock_quant_tree_editable_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_tree_editable |
view_stock_quant_tree_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_tree |
description
Char
compute='_compute_descriptive_fields'
args: 'Description'
lot_ids
Many2many → stock.production.lot
readonly=True
required=True
args: 'stock.production.lot'
picking_ids
Many2many → stock.picking
readonly=True
args: 'stock.picking'
show_lots
Boolean
compute='_compute_descriptive_fields'
args: 'Show Lots'
process(self)
process_no_expired(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)action_open_quants(self)
alert_time
Integer
help='Number of days before the Expiration Date after which an alert should be raised on the lot/serial number. It will be computed on the lot/serial number.'
string='Alert Time'
expiration_time
Integer
help='Number of days after the receipt of the products (from the vendor or in stock after production) after which the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Expiration Time'
removal_time
Integer
help='Number of days before the Expiration Date after which the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Removal Time'
use_expiration_date
Boolean
help='When this box is ticked, you have the possibility to specify dates to manage product expiration, on the product and on the corresponding lot/serial numbers'
string='Expiration Date'
use_time
Integer
help='Number of days before the Expiration Date after which the goods starts deteriorating, without being dangerous yet. It will be computed on the lot/serial number.'
string='Best Before Time'
No public methods.
group_expiry_date_on_delivery_slip
Boolean
implied_group='product_expiry.group_expiry_date_on_delivery_slip'
args: 'Display Expiration Dates on Delivery Slips'
No public methods.
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
store=True
string='Expiration Date'
No public methods.
No new fields.
Public methods (0)No public methods.
alert_date
Datetime
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
string='Alert Date'
expiration_date
Datetime
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
string='Expiration Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Expiration Date has been reached.'
product_expiry_reminded
Boolean
string='Expiry has been reminded'
removal_date
Datetime
help='This is the date on which the goods with this Serial Number should be removed from the stock. This date will be used in FEFO removal strategy.'
string='Removal Date'
use_date
Datetime
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
string='Best before Date'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
create(self, vals_list)
removal_date
Datetime
readonly=False
related='lot_id.removal_date'
store=True
use_expiration_date
Boolean
readonly=True
related='product_id.use_expiration_date'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Inventory/Inventory |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Christophe Simonis, Simon Lejeune, Yannick Tivisse, Xavier-Do, svs-odoo, Adrien Widart, Touati Djamel (otd), Tiffany Chang (tic), Rémy Voet (ryv), remi-filament, Hiral Bhavsar, Kevin Baptiste, Pratima Gupta, yhu-odoo, nouraellm, Abdelouahab (abla), Mathieu Walravens |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:28 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
confirm_expiry_view |
Confirm | expiry.picking.confirmation | form | New |
label_lot_template_view_expiry |
label_lot_template_view_expiry | ir.ui.view | qweb | Inherits stock.label_lot_template_view |
quant_search_view_inherit_product_expiry |
stock.quant.search.inherit | stock.quant | xpath | Inherits stock.quant_search_view |
report_lot_label_expiry |
report_lot_label_expiry | ir.ui.view | qweb | Inherits stock.report_lot_label |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.product.expiry.stock | res.config.settings | xpath | Inherits stock.res_config_settings_view_form |
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.production.lot | xpath | Inherits stock.search_product_lot_filter |
stock_report_delivery_document_inherit_product_expiry |
stock_report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
stock_report_delivery_has_serial_move_line_inherit_product_expiry |
stock_report_delivery_has_serial_move_line_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_production_lot_view_tree |
stock.production.lot.tree.inherit.product.expiry | stock.production.lot | xpath | Inherits stock.view_production_lot_tree |
view_quant_form_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_form |
view_stock_move_line_detailed_operation_tree_expiry |
stock.move.line.operations.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_detailed_operation_tree |
view_stock_move_line_operation_tree_expiry |
stock.move.line.inherit.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
view_stock_move_operations_expiry |
stock.move.operations.inherit.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
view_stock_quant_tree_editable_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_tree_editable |
view_stock_quant_tree_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_tree |
description
Char
compute='_compute_descriptive_fields'
args: 'Description'
lot_ids
Many2many → stock.production.lot
readonly=True
required=True
args: 'stock.production.lot'
picking_ids
Many2many → stock.picking
readonly=True
args: 'stock.picking'
show_lots
Boolean
compute='_compute_descriptive_fields'
args: 'Show Lots'
process(self)
process_no_expired(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)action_open_quants(self)
alert_time
Integer
help='Number of days before the Expiration Date after which an alert should be raised on the lot/serial number. It will be computed on the lot/serial number.'
string='Alert Time'
expiration_time
Integer
help='Number of days after the receipt of the products (from the vendor or in stock after production) after which the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Expiration Time'
removal_time
Integer
help='Number of days before the Expiration Date after which the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Removal Time'
use_expiration_date
Boolean
help='When this box is ticked, you have the possibility to specify dates to manage product expiration, on the product and on the corresponding lot/serial numbers'
string='Expiration Date'
use_time
Integer
help='Number of days before the Expiration Date after which the goods starts deteriorating, without being dangerous yet. It will be computed on the lot/serial number.'
string='Best Before Time'
No public methods.
group_expiry_date_on_delivery_slip
Boolean
implied_group='product_expiry.group_expiry_date_on_delivery_slip'
args: 'Display Expiration Dates on Delivery Slips'
No public methods.
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
No public methods.
expiration_date
Datetime
compute='_compute_expiration_date'
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
store=True
string='Expiration Date'
No public methods.
No new fields.
Public methods (0)No public methods.
alert_date
Datetime
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
string='Alert Date'
expiration_date
Datetime
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
string='Expiration Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Expiration Date has been reached.'
product_expiry_reminded
Boolean
string='Expiry has been reminded'
removal_date
Datetime
help='This is the date on which the goods with this Serial Number should be removed from the stock. This date will be used in FEFO removal strategy.'
string='Removal Date'
use_date
Datetime
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
string='Best before Date'
use_expiration_date
Boolean
related='product_id.use_expiration_date'
string='Use Expiration Date'
create(self, vals_list)
removal_date
Datetime
readonly=False
related='lot_id.removal_date'
store=True
use_expiration_date
Boolean
readonly=True
related='product_id.use_expiration_date'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Operations/Inventory |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Simon Lejeune, Damien Bouvy, Xavier-Do, Victor Feyens, svs-odoo, Prakash Prajapati, Arnaud Baes, Haresh Shyara |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.production.lot | xpath | Inherits stock.search_product_lot_filter |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_production_lot_view_tree |
stock.production.lot.tree.inherit.product.expiry | stock.production.lot | xpath | Inherits stock.view_production_lot_tree |
view_quant_form_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_form |
No new fields.
Public methods (0)No public methods.
alert_time
Integer
help='Number of days before an alert should be raised on the lot/serial number.'
string='Product Alert Time'
life_time
Integer
help='Number of days before the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Product Life Time'
removal_time
Integer
help='Number of days before the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Product Removal Time'
use_time
Integer
help='Number of days before the goods starts deteriorating, without being dangerous yet. It will be computed using the lot/serial number.'
string='Product Use Time'
No public methods.
alert_date
Datetime
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
string='Alert Date'
life_date
Datetime
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
string='End of Life Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Alert Date has been reached.'
product_expiry_reminded
Boolean
string='Expiry has been reminded'
removal_date
Datetime
help='This is the date on which the goods with this Serial Number should be removed from the stock. This date will be used in FEFO removal strategy.'
string='Removal Date'
use_date
Datetime
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
string='Best before Date'
create(self, vals)
removal_date
Datetime
readonly=False
related='lot_id.removal_date'
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Warehouse |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Yannick Tivisse, qsm-odoo, Pierre Masereel, Adrian Torres, XavierDo, Xavier-Do |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - decimal_precision - base_setup - web - bus - web_tour - uom - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.production.lot | xpath | Inherits stock.search_product_lot_filter |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_move_form_expiry_simple |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form_simple |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_quant_form_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_form |
No new fields.
Public methods (0)No public methods.
alert_time
Integer
help='Number of days before an alert should be raised on the lot/serial number.'
string='Product Alert Time'
life_time
Integer
help='Number of days before the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Product Life Time'
removal_time
Integer
help='Number of days before the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Product Removal Time'
use_time
Integer
help='Number of days before the goods starts deteriorating, without being dangerous yet. It will be computed using the lot/serial number.'
string='Product Use Time'
No public methods.
alert_date
Datetime
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
string='Alert Date'
life_date
Datetime
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
string='End of Life Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Alert Date has been reached.'
removal_date
Datetime
help='This is the date on which the goods with this Serial Number should be removed from the stock.'
string='Removal Date'
use_date
Datetime
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
string='Best before Date'
create(self, vals)
removal_date
Datetime
readonly=False
related='lot_id.removal_date'
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Warehouse |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Xavier Morel, Simon Lejeune, Nicolas Martinelli, GitHub, Yannick Tivisse, Odoo Online, Pierre Masereel, amoyaux |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - decimal_precision - base_setup - web - bus - web_tour - barcodes - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_delivery_document_inherit_product_expiry |
report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
search_product_lot_filter_inherit_product_expiry |
stock.production.lot.search.inherit | stock.production.lot | xpath | Inherits stock.search_product_lot_filter |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_move_form_expiry_simple |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form_simple |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_quant_form_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_form |
alert_time
Integer
help='Number of days before an alert should be raised on the lot/serial number.'
string='Product Alert Time'
life_time
Integer
help='Number of days before the goods may become dangerous and must not be consumed. It will be computed on the lot/serial number.'
string='Product Life Time'
removal_time
Integer
help='Number of days before the goods should be removed from the stock. It will be computed on the lot/serial number.'
string='Product Removal Time'
use_time
Integer
help='Number of days before the goods starts deteriorating, without being dangerous yet. It will be computed on the lot/serial number.'
string='Product Use Time'
No public methods.
alert_date
Datetime
help='Date to determine the expired lots and serial numbers using the filter "Expiration Alerts".'
string='Alert Date'
life_date
Datetime
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
string='End of Life Date'
product_expiry_alert
Boolean
compute='_compute_product_expiry_alert'
help='The Alert Date has been reached.'
removal_date
Datetime
help='This is the date on which the goods with this Serial Number should be removed from the stock.'
string='Removal Date'
use_date
Datetime
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
string='Best before Date'
create(self, vals)
removal_date
Datetime
related='lot_id.removal_date'
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/10.0/product_expiry |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Warehouse |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, David Monjoie, Goffin Simon, Julien Legros, qdp-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:50:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - decimal_precision - base_setup - web_kanban - web - bus - web_tour - report - procurement - barcodes - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_delivery_document_inherit_product_expiry |
report_delivery_document_inherit_product_expiry | ir.ui.view | qweb | Inherits stock.report_delivery_document |
view_move_form_expiry |
stock.production.lot.inherit.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.template.inherit.form | product.template | group | Inherits stock.view_template_property_form |
view_quant_form_expiry |
stock.quant.inherit.form | stock.quant | xpath | Inherits stock.view_stock_quant_form |
alert_time
Integer
help='When a new a Serial Number is issued, this is the number of days before an alert should be notified.'
string='Product Alert Time'
life_time
Integer
help='When a new a Serial Number is issued, this is the number of days before the goods may become dangerous and must not be consumed.'
string='Product Life Time'
removal_time
Integer
help='When a new a Serial Number is issued, this is the number of days before the goods should be removed from the stock.'
string='Product Removal Time'
use_time
Integer
help='When a new a Serial Number is issued, this is the number of days before the goods starts deteriorating, without being dangerous yet.'
string='Product Use Time'
No public methods.
alert_date
Datetime
help='This is the date on which an alert should be notified about the goods with this Serial Number.'
string='Alert Date'
life_date
Datetime
help='This is the date on which the goods with this Serial Number may become dangerous and must not be consumed.'
string='End of Life Date'
removal_date
Datetime
help='This is the date on which the goods with this Serial Number should be removed from the stock.'
string='Removal Date'
use_date
Datetime
help='This is the date on which the goods with this Serial Number start deteriorating, without being dangerous yet.'
string='Best before Date'
create(self, vals)
removal_date
Datetime
related='lot_id.removal_date'
store=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/9.0/product_expiry |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Warehouse |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Josse Colpaert, Denis Ledoux, Christophe Simonis, Frédéric van der Essen, Nicolas Martinelli, Richard Mathot, Yannick Tivisse |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:48:30 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - decimal_precision - base_setup - web_kanban - web - bus - report - procurement - barcodes - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_move_form_expiry |
stock.production.lot.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.normal.form | product.template | group | Inherits stock.view_template_property_form |
view_quant_form_expiry |
stock.quant.form | stock.quant | xpath | Inherits stock.view_stock_quant_form |
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/8.0/product_expiry |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Specific Industry Applications |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Randhir Mayatra (OpenERP), Stephane Wirtel, Odoo Translation Bot, Christophe Matthieu, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Vo Minh Thu, Josse Colpaert, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Goffin Simon, Aaron Bohy |
| WEBSITE | |
| WEBSITE | https://www.odoo.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:45:39 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - decimal_precision - base_setup - web_kanban - web - report - procurement - board - web_kanban_gauge - web_kanban_sparkline |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_move_form_expiry |
stock.production.lot.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.normal.form | product.template | group | Inherits product.product_template_form_view |
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/7.0/product_expiry |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Specific Industry Applications |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Jagdish Panchal (Open ERP), Twinkle Christian (OpenERP), Cecile Tonglet, Rucha (Open ERP), Odoo Translation Bot, Numerigraphe - Lionel Sausin, Harry (OpenERP), Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Vo Minh Thu, Hardik, pso (OpenERP), Launchpad Translations on behalf of openerp, Quentin (OpenERP), Mayur Maheshwari (OpenERP), Sanjay Gohel (Open ERP), help |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:43:09 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - process - web - decimal_precision - base_setup - web_kanban - account - analytic - board - edi - email_template |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
-------------------------------
- end of life
- best before date
- removal date
- alert date
Used, for example, in food industries. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_move_form_expiry |
stock.production.lot.form | stock.production.lot | field | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.normal.form | product.product | group | Inherits stock.view_normal_procurement_locations_form |
No models found for this module.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/6.1/product_expiry |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Specific Industry Applications |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Stephane Wirtel, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Vo Minh Thu, Launchpad Translations on behalf of openerp, vro, niv-openerp, Carlos Vásquez, Els Van Vossel, Israel Fermin Montilla, Hardik Ansodariy (OpenERP) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:41:35 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - process - decimal_precision - account - base_setup - analytic - board - edi - email_template - base_tools |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Track different dates on products and production lots.
======================================================
Following dates can be tracked:
- end of life
- best before date
- removal date
- alert date
Used, for example, in food industries. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_move_form_expiry |
stock.production.lot.form | stock.production.lot | field | Inherits stock.view_production_lot_form |
view_product_form_expiry |
product.normal.form | product.product | notebook | Inherits product.product_normal_form_view |
No models found for this module.