This addon allows to automatically remove stock quants with a past removal date, regardless of whether they are reserved or not.
On each warehouse, you can enable the automatic removal of lots with a past removal date.
Every day, for each warehouse where the automatic removal is enabled, a cron job will launch the process to remove past removal date quants.
auto_awesome What this module does
AI-generated from the code · Odoo 16.0Automatically moves stock lots whose removal date has passed out of your warehouse stock, either on demand or every day via a scheduled job. You enable it per warehouse and choose the source locations and the operation type used for the move.
This module adds an "Expired Lots Auto Move" section on the warehouse form. There you tick "Enable Expired Lot Removal", pick the origin locations the expired lots should be taken from, and choose the operation type used for the move. When you enable it, the origin locations default to the warehouse's stock location, and Odoo refuses to save if no origin location is set, if a location does not belong to that warehouse, or if no operation type is chosen.
A new internal operation type "Expired Lot Removal" is created for each warehouse, with its own sequence (prefix EXP), using existing lots and not creating new ones. On operation types there is a "Disable Unassign Lots to Remove" option; when ticked, that operation type is skipped when the module unreserves moves.
Users can run the removal manually from the "Remove Expired Lots" menu under Inventory > Operations, or from the warehouse form. A wizard asks for the warehouse and an expiration date (default today) and shows a description of what will be moved. It finds lots with a removal date before that date, unreserves moves that were holding those lots (splitting off quantities already done), creates a transfer to the destination location, confirms and reserves it, then tries to reassign the moves that were unreserved.
A daily scheduled job runs the same process for every warehouse where the option is enabled.
Depends on
Models and fields (3)
- stock.warehouse · extends an existing modellot_remove_enabled (Enable Expired Lot Removal), lot_remove_picking_type_id (Expired Lot Move Picking Type), lot_remove_orig_location_ids (Expired Lot Origin Locations)
- stock.picking.type · extends an existing modeldisable_unassign_lots_to_remove (Disable Unassign Lots to Remove)
- stock.lot.removal.wizard · new modeldescription, removal_date (Expiration Date), warehouse_id (Warehouse)
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: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/stock-logistics-workflow.
terminal Installation and usage
OCA documentation · Odoo 16.0Configuration
Source · Odoo 16.0To configure this module, you need to to enable the removal of expired lots. This can be done by following these steps:
- Go to App > Inventory > Settings -> Warehouses
- Select the warehouse you want to configure.
- On the 'Warehouse Configuration' page, find the section 'Expired Lots Auto Move'.
- Check the box 'Enable Expired Lot Auto Remove'.
Usage
Source · Odoo 16.0On the warehouse form, once the 'Enable Expired Lot Auto Remove' checkbox is checked, some additional fields will appear to configure the automatic removal of past removal date quants:
- 'Expired Lot Origin Location': This field allows you to select the origin location from which the past removal date quants will be removed. It is a required field. (Defaults to the warehouse's stock location)
- 'Expired Lot Destination Location': This field allows you to select the destination location where the past removal date quants will be moved. It is a required field. (Defaults to the warehouse's quality control location)
- 'Expired Lot Move Picking Type': This field allows you to select the picking type that will be used for the automatic removal of past removal date quants. It is a required field. (Defaults to the warehouse's 'Expired Lot Removal' picking type)
No verified information in OCA: Installation.
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.