Purchase and Subcontracting Management
This bridge module adds some smart buttons between Purchase and Subcontracting
DISCLAIMER: This module is a backport from Odoo SA and as such, it is not included in the OCA CLA.
That means we do not have a copy of the copyright on it like all other OCA modules.
This is a backporting of features from mrp_subcontracting modules from v15 allowing to setup a flow addressing the following use case:
Vendor 1 manufactures and sells “Finished Product”
Vendor 2 manufactures and sells “Component Product” (used to manufacture “Finished Product”)
Vendor 3 sells “Element Product” (used to manufacture “Component Product”)
As an example, in the case where there is no available qty for each of these three products, creating a PO purchasing “Finished product” for Vendor 1 generates:
- The standard receipt picking from Vendor 1 to our warehouse
- A PO for Vendor 2 for product “Component Product”
- A subcontracting order for Vendor 1 for “Finished Product”, with component location: Vendor 1 subcontracting location
Once this PO is confirmed, this generates:
- A dropship picking for Vendor 1 from Vendor 2 for “Component Product”
- A subcontracting order for Vendor 2 for “Component Product”, with component location: Vendor 2 subcontracting location
- A PO for Vendor 3 for product “Element Product”
Once this PO is confirmed, this generates:
- A dropship picking for Vendor 2 from Vendor 3 for “Element Product”
auto_awesome What this module does
AI-generated from the code · Odoo 14.0Links purchase orders with subcontracting: buy a subcontracted finished product and Odoo automatically raises purchase orders to resupply the subcontractor with components, with smart buttons to jump between the documents.
This module connects purchasing with subcontracting so that buying a product made by a subcontractor also triggers the purchase of the components that subcontractor needs.
- On a purchase order you get a new "Resupply" smart button showing how many component resupply pickings exist; clicking it opens them. On a transfer you get a "Source PO" smart button that opens the purchase order behind a subcontracted operation.
- A new route, "Dropship Subcontractor on Order", is created, and warehouses get a "Dropship Subcontractors" option (on by default) that activates the matching stock rule. Rules are also created automatically for companies that are missing them.
- When a purchase order is confirmed for a subcontracted product, the destination is set to the subcontractor's location, and if the order mixes components that are not meant for subcontracting, Odoo blocks it with an error asking you to split the order.
- On the manufacturing order side, recording consumed components is checked: a subcontracted move must exist, serial numbers are required for tracked products and components, and at least one component must have a non-zero consumed quantity.
- When a subcontracted transfer is validated, the related manufacturing order is updated automatically (quantities, lot/serial, backorders) and marked as recorded.
- Received quantities on purchase order lines are computed from the kit structure of the product.
Depends on
Required by other modules
Models and fields (9)
- stock.move · extends an existing model
- stock.rule · extends an existing model
- res.company · extends an existing model
- stock.picking · extends an existing modelsubcontracting_source_purchase_count (Number of subcontracting PO Source)
- mrp.production · extends an existing modelsubcontracting_has_been_recorded (Has been recorded)
- purchase.order · extends an existing modelsubcontracting_resupply_picking_count (Count of Subcontracting Resupply)
- stock.move.line · extends an existing model
- stock.warehouse · extends an existing modelsubcontracting_dropshipping_pull_id, subcontracting_dropshipping_to_resupply (Dropship Subcontractors)
- purchase.order.line · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 14.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 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/manufacture.
terminal Installation and usage
OCA documentation · Odoo 14.0Configuration
Source · Odoo 14.0- Enable Multi-step Routes in Inventory > settings
- Unarchive operation type “Subcontracting”
For each subcontracting partner:
- Create a subcontracting location with parent location “Physical Locations/Subcontracting Location”
- Set created location in subcontracting partner > tab Sales & Purchase > “Subcontracting location” field
- Create two rules for Route “Dropship Subcontractor on Order:
- Action: Buy, Operation Type: Dropship, Destination location: partner subcontracting location
- Action: Pull From, Operation Type: Subcontracting, Source Location: partner subcontracting location, Destination location: Virtual Locations/Production, Supply Method: Trigger Another Rule, Partner Address: subcontracting partner
For each product:
- Create a Vendor Pricelist and a Subcontracting BoM.
- In Inventory tab, set Route “Buy” for Finished Product, and “Dropship Subcontractor on order” for products needed for its production.
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.