Skip to content

How to Configure Subcontracting in Odoo 19

DeployMonkey Team · March 24, 2026 8 min read

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_subcontracting module 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:

  1. Create a Purchase Order for the finished product from the subcontractor vendor
  2. Odoo detects the subcontracting BOM and triggers the component flow
  3. A resupply transfer is automatically created to ship components to the subcontractor

Step 5: Ship Components to Subcontractor

After confirming the PO:

  1. Navigate to the component delivery transfer (found via the PO or Inventory transfers)
  2. The transfer moves components from your warehouse to the subcontractor's location
  3. Process and validate the shipment

Step 6: Receive Finished Goods

When the subcontractor completes production:

  1. The receipt transfer (from the PO) becomes available
  2. Validate the receipt to bring finished goods into your warehouse
  3. Odoo automatically creates the manufacturing record for traceability
  4. 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