What Is Subcontracting?
Subcontracting in Odoo 19 manages outsourced manufacturing where you send raw materials to an external vendor (subcontractor) who produces finished goods and ships them back. The mrp_subcontracting module handles the complete flow: component delivery, external production tracking, and finished goods receipt.
Prerequisites
- Odoo 19 with Manufacturing and Purchase modules installed
- The
mrp_subcontractingmodule installed - Subcontractor configured as a vendor in contacts
Step 1: Install Subcontracting Module
Navigate to Apps and search for Subcontracting (technical name: mrp_subcontracting). Install it. This extends the MRP module with subcontracting-specific BOM types and workflows.
Step 2: Configure Subcontractor Vendor
Open the subcontractor's contact record. Ensure they are set as a vendor (can be used on purchase orders). No special flag is needed — the subcontractor relationship is defined on the BOM.
Step 3: Create a Subcontracting BOM
Navigate to Manufacturing > Configuration > Bills of Materials and create a new BOM:
- Product — The finished product the subcontractor will produce
- BOM Type — Select Subcontracting
- Subcontractors — Add the vendor(s) who can produce this product
- Components — List the raw materials needed for production
Multiple subcontractors can be assigned to the same BOM, giving you flexibility to choose vendors per order.
Step 4: Create a Purchase Order
When you need subcontracted products:
- Create a Purchase Order for the finished product from the subcontractor vendor
- Odoo detects the subcontracting BOM and triggers the component flow
- A resupply transfer is automatically created to ship components to the subcontractor
Step 5: Ship Components to Subcontractor
After confirming the PO:
- Navigate to the component delivery transfer (found via the PO or Inventory transfers)
- The transfer moves components from your warehouse to the subcontractor's location
- Process and validate the shipment
Step 6: Receive Finished Goods
When the subcontractor completes production:
- The receipt transfer (from the PO) becomes available
- Validate the receipt to bring finished goods into your warehouse
- Odoo automatically creates the manufacturing record for traceability
- Component consumption is recorded against the subcontracting BOM
Step 7: Quality and Traceability
For quality control on subcontracted products:
- Use lot/serial tracking on the finished product for full traceability
- If using Quality module (Enterprise), configure quality checks on the receipt operation
- Record any quality issues in the receipt transfer's chatter
Step 8: Cost Tracking
Subcontracting costs include:
- Purchase price — The price paid to the subcontractor (on the PO)
- Component cost — The cost of materials you supply
- Total landed cost = Purchase price + Component cost + any additional landed costs
Best Practices
- Keep BOMs accurate to ensure the right components are shipped
- Set lead times on the subcontractor's vendor record for accurate planning
- Track component shipments separately from regular deliveries for clear visibility
- Use quality checks on receipt to catch defects before storing finished goods
- Review subcontractor performance monthly: delivery times, quality, and cost variance