Inhibit subcontracting flow on demand
If a product has a bill of materials (BoM) of subcontracting type, and the vendor is included in the list of subcontractors of such BoM, when doing a purchase order for such vendor and product, it will always generate a subcontracting order. This module allows to inhibit such behavior, acting as a regular purchase, as this may not be convenient in some cases, as on manufacturing world, it's frequent that your vendor sells you directly the same product without you providing any raw material depending on lead times, material availability, etc. A check is provided at purchase order line level for easily disable the subcontracting part, as well as the same check at stock rule for propagating the preference from replenishment option.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets you stop Odoo from automatically treating a purchase as subcontracting when the vendor is also a subcontractor. You can tick a box on the vendor line, the purchase order line, or the replenishment route to buy the product normally instead.
Normally, when you buy a product from a vendor who is listed as a subcontractor for that product's bill of materials, Odoo automatically creates a subcontracting order (you send components, the vendor manufactures). This module adds a way to switch that off and treat the purchase as a plain buy.
Where you can set it: - On the vendor's product line (supplier info), a new "Subcontracting inhibited" checkbox appears next to the subcontractor flag. - On each purchase order line, an "Inhibit subcontracting" checkbox appears in the product column. - On a stock route (replenishment rule), an "Inhibit subcontracting" checkbox appears in the route form.
What changes automatically: - When a purchase order line is created from a replenishment/procurement, the route's setting is copied onto the line. - Ticking or unticking the checkbox on a purchase order line recalculates the price, planned date and description, so the correct vendor price is used. - When a stock move is linked to a purchase line with the box ticked, Odoo behaves as if there were no subcontracting bill of materials, so the flow stays a regular purchase. - Vendor selection also respects the setting: vendors marked as inhibited are only offered when the purchase is not a subcontracting one, and vice versa.
It touches product.supplierinfo, purchase.order.line, stock.route, stock.move and product.product.
Depends on
Models and fields (5)
- stock.move · extends an existing model
- stock.route · extends an existing modelsubcontracting_inhibit (Inhibit subcontracting)
- product.product · extends an existing model
- purchase.order.line · extends an existing modelsubcontracting_inhibit (Inhibit subcontracting)
- product.supplierinfo · extends an existing modelsubcontracting_inhibit (Subcontracting inhibited)
Text generated by AI (DeepSeek) from reading the Odoo 19.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: 5 confirmed, 4 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/manufacture.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0- Go to Inventory \> Configuration \> Settings.
- Check 'Multi-Step Routes' checkbox in Warehouse section.
Usage
Source · Odoo 19.0- Go to Inventory \> Configuration \> Warehouses \> click on smart button Routes and edit 'Buy' rule and check 'Subcontracting inhibit'.
- Go to Inventory \> Products \> Product and create some product called 'Subcontract product'.
- Go to Inventory \> Products \> Product and create other product called 'Component'.
- Go to Manufacturing \> Products \> Bill of materials and create a new one with type = "Subcontracting" related to 'Subcontract product' then set 'Component' product and add Azure Interior in Subcontractors field.
- Go to Inventory \> Products \> Product and edit 'Subcontract product' and set Purchase tab as follows:
- [Vendor line 1] Vendor: Azure Interior, Subcontracting inhibited: Yes, Price: 5.
- [Vendor line 2] Vendor: Azure Interior, Subcontracting inhibited: No, Price: 10.
Purchase order flow: #. Go to Purchase \> Orders \> Requests for Quotation and create new order as follows: #. Vendor: Azure Interior, Product: Subcontract product #. The unit price of the product will be
- #. Click on the 'Confirm Order' button. #. A production order will
have been created.
Replenishment flow: #. Go to Inventory \> Products \> Product and go to 'Subcontract product'. #. Click on the 'Replenish' button, select 'Buy' in Preferred Routes field and click on the 'Confirm' button. #. A new purchase order will have been created, go to Purchase \> Orders \> Requests for Quotation and enter it. #. The unit price of the product will be 5. #. Click on the 'Confirm Order' button. #. A production order will not have been created.
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.