TIP: You can type at any time to perform a new search.
Stock Picking Product Interchangeable
stock_picking_product_interchangeable · OCA/stock-logistics-warehouse
Security findings
Migration considerations
product_template_interchangeable_form_view— For a target of Odoo 17.0+: view 'product_template_interchangeable_form_view' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · sourcestock_picking_type— For a target of Odoo 17.0+: view 'stock_picking_type' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · sourceview_picking_form— For a target of Odoo 17.0+: view 'view_picking_form' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- OCA/stock-logistics-warehouse · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Inventory/Inventory
- Folder size
- 0.91 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/stock-logistics-warehouse
- Last tracking update
- 2026-08-07 08:09:14
- Authors
- Odoo Community Association (OCA), Cetmix
- Maintainers
- Odoo Community Association (OCA), Cetmix
- Committers
- Weblate, OCA-git-bot, oca-ci, geomer198, CristianoMafraJunior, Bearnard21
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module implements "interchangeable" products for Sales Orders. If an interchangeable product is not available in stock in sufficient quantity to complete the order its substitute products will be added to picking to complete the order. **NB:** Interchangeable products substitute each other. Eg if "English Breakfast" can substitutes "Breakfast in England" then "Breakfast in England" can substitute "English Breakfast".
Code Analysis
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product.interchangeable.form | product.product | form | Inherits product.product_normal_form_view |
product_template_interchangeable_form_view |
product.template.interchangeable.product.form | product.template | form | Inherits product.product_template_only_form_view |
stock_picking_type |
stock.picking.type.substitute.products | stock.picking.type | form | Inherits stock.view_picking_type_form |
view_picking_form |
stock.picking.interchangeable.form | stock.picking | form | Inherits stock.view_picking_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (5)
New fields (3)
-
product_interchangeable_idsMany2many → product.productcomodel_name='product.product'compute='_compute_product_interchangeable_ids'help='Products that can be substituted by current product'inverse='_inverse_product_interchangeable_ids'string='Replaces' -
product_replaced_by_idsMany2many → product.productcolumn1='product_replaced_id'column2='product_id'comodel_name='product.product'help='Products that can substitute current current product'relation='product_substitute_rel'string='Replaces' -
product_replaces_idsMany2many → product.productcolumn1='product_id'column2='product_replaced_id'comodel_name='product.product'help='Products that can be substituted by current product'relation='product_substitute_rel'string='Replaces'
No public methods.
New fields (1)
-
product_tmpl_interchangeable_idsMany2many → product.productcomodel_name='product.product'compute='_compute_product_tmpl_interchangeable_ids'inverse='_inverse_product_tmpl_interchangeable_ids'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
available_pass_interchangeableBoolean -
pass_interchangeableBoolean
No public methods.
New fields (1)
-
substitute_products_modeSelectionrequired=Falseselection=[('all', 'If all available'), ('any', 'If any available')]string='Substitute Products'
No public methods.
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 136 days ago
- Last activity
- 1 day ago
- Repository
- OCA/stock-logistics-warehouse
- Pull request
- [18.0][MIG] stock_picking_product_interchangeable (#2581)