Industrial subcontracting is one of the most poorly configured processes in ERP implementations. The reason is straightforward: it simultaneously touches production, purchasing, inventory and cost accounting — and few vendors have designed a module that properly covers all these flows. In practice, this means components “lost” at a subcontractor’s site, unvalued work-in-progress, and goods receipts with no quality control.
This practical guide walks through the complete subcontracting flow in an ERP, then compares the functional coverage of SAP S/4HANA, Odoo 17 and Sage X3. The goal: help you select the right tool for your subcontracting model and avoid the configuration pitfalls that cost months of rework after go-live.
1. What Is Industrial Subcontracting in an ERP Context?
1.1 The 3 Types: External Operations, Co-manufacturing, Tolling
Industrial subcontracting covers three distinct realities that an ERP must handle differently.
External operations (or “outsourced operations”) refer to a manufacturing step delegated to a specialist supplier: heat treatment, galvanising, industrial painting, precision machining. The company sends a semi-finished part to the subcontractor, who performs the operation and returns the transformed product. This is the most common scenario and the one best supported by ERP systems on the market.
Co-manufacturing involves shared production: the company provides components while the subcontractor supplies both labour and some materials. Valuation becomes more complex because the product cost incorporates components from multiple sources.
Tolling (also known as toll processing or contract manufacturing) is the extreme case: the company provides 100% of the raw materials, and the subcontractor handles transformation only. A classic example is a plastics manufacturer that sends its pellets to a contract moulder for injection moulding, then receives the finished moulded parts back. The invoice covers only the processing fee — the subcontractor’s labour and overheads — with no material component.
1.2 Capacity Subcontracting vs Specialty Subcontracting
Capacity subcontracting responds to a workload spike: the company could perform the operation in-house but the subcontractor temporarily takes on the overflow. From an ERP standpoint, this generates ad hoc subcontracting orders that must slot into the production schedule (MRP/MPS) without disrupting customer lead times.
Specialty subcontracting is structural: the company lacks the expertise or equipment to perform certain operations. The subcontractor is a regular partner. In this case, the ERP must manage framework agreements, predictable rotation lead times, and sometimes operation-specific quality requirements.
1.3 Traceability and Work-in-Progress Valuation Challenges
The core challenge of subcontracting in an ERP is consignment stock (also called vendor-held stock or third-party stock): components sent to the subcontractor still belong to your company (they appear on your balance sheet) but are physically located at their facility. If the ERP does not manage this concept, you lose physical and accounting traceability of these stocks the moment they leave your warehouse.
The second challenge is WIP valuation. A product being transformed at the subcontractor carries a book value that varies depending on the chosen method: standard cost (based on a predetermined norm), actual cost (based on the effective cost of issued components plus the price invoiced by the subcontractor), or partial WIP (a proportional value based on completion). The ERP must support this valuation unambiguously — otherwise accounting variances become very difficult to reconcile.
2. The Standard Subcontracting Flow in an ERP
Consider a concrete example: a plastics manufacturer outsources injection moulding to a toll processor, then reintegrates the moulded parts into its final assembly shop. Here are the 5 steps an ERP must cover.
2.1 Step 1: Bill of Materials (BOM) Configuration with External Operations
The Bill of Materials defines the structure of the finished product. In a subcontracting context, it must include an external operation flagged as such: operation code, default subcontracting supplier, standard lead time. Some ERPs refer to this configuration as a “routing with purchase operation” or a “work centre routing with an external work centre.”
This configuration is the foundation of everything that follows. If it is incorrectly set up, the ERP will not automatically generate the subcontracting order when the production order is launched.
2.2 Step 2: Creating the Subcontracting Order
When a manufacturing order (MO) is released and contains an external operation, the ERP must automatically generate a subcontracting purchase order — not a standard purchase order. This order is linked to the parent MO: it inherits quantities, lead times, and the subcontractor.
The distinction between a subcontracting purchase and a standard purchase is essential: in a standard purchase, you are buying a finished product. In a subcontracting purchase, you are buying a transformation service applied to components that remain your property.
2.3 Step 3: Sending Components (Stock Issue, Consignment Stock)
Before the subcontractor begins work, you must ship them the components. In the ERP, this translates into a stock issue from your warehouse to a consignment stock location (also called “stock at vendor” or “external depot”). The stock is not consumed from an accounting standpoint — it is transferred to a virtual location linked to the subcontractor.
This step typically generates a delivery note to the subcontractor listing the components sent, which serves as a tracking document and sometimes as the basis for a period-end inventory count.
2.4 Step 4: Receiving the Transformed Product and Quality Control
When the subcontractor returns the transformed product, the ERP records a receipt against the subcontracting order. This is the moment when the consignment stock is cleared (components are consumed) and the transformed semi-finished product enters stock.
In regulated industries (automotive, aerospace, medical devices), this receipt must trigger a quality control flow: the item is placed in quarantine, an inspection record is created, and release occurs only after validation. Not all ERPs handle this flow natively on subcontracting receipts.
2.5 Step 5: Subcontractor Invoicing and ERP Valuation
The subcontractor’s invoice arrives and must be matched to the subcontracting order and the goods receipt. This is the classic three-way match from procurement, adapted to subcontracting. The ERP valuation of the transformed product then incorporates: the cost of issued components + the invoiced processing fee + any applicable inbound/outbound freight.
3. SAP S/4HANA: The Most Complete Coverage, but Also the Most Complex
3.1 SAP BOM with External Operations (PP-CO) and Routing
In SAP S/4HANA, subcontracting is managed within the PP (Production Planning) module. The BOM contains the components, while the routing defines the operations. An external operation is a work centre of type “subcontracting” that automatically generates a purchase requisition during scheduling.
The complexity stems from the fact that the BOM and the routing are two distinct objects in SAP, linked through the manufacturing order. This is not intuitive for teams accustomed to ERPs where BOM and routing are merged into a single structure.
3.2 The Subcontracting Purchase Order (Item Category L): How It Works
This is the core of the SAP mechanism. When a PO is created with item category L (subcontracting), SAP recognises it as a subcontracting purchase. The ordered item is the transformed semi-finished product; the components to be sent to the subcontractor are automatically listed via BOM explosion in a “Subcontractor Components” table.
On PO receipt, SAP simultaneously processes: the receipt of the transformed product, the consumption of components from consignment stock, and the triggering of invoice verification.
3.3 Managing Subcontractor Component Stock
SAP provides a dedicated stock type: subcontracting stock, managed at vendor level. This stock is visible in MM (Materials Management) and remains on your balance sheet. You can view components awaiting processing at each subcontractor at any time via transaction ME2O.
3.4 WIP Valuation: Standard Cost vs Actual Costing
SAP handles valuation in standard cost or actual costing (via Material Ledger). Under standard cost, variances between the planned cost and the actual price invoiced by the subcontractor are captured as price variances and settled at period end. Under actual costing, each batch is valued at its effective cost — more accurate but more complex to reconcile.
3.5 SAP Pitfalls: Multi-Level BOM Explosion in Subcontracting
The most frequent pitfall in SAP: a multi-level BOM where a component sent to the subcontractor is itself produced in-house. The BOM explosion for the subcontracting PO only goes one level deep by default. If you need a full explosion, additional configuration is required — and it is often overlooked during user acceptance testing.
Another pitfall: managing the return of unused components from the subcontractor. SAP supports this, but via a specific process (Return Delivery to Vendor for subcontracting) that many implementation teams forget to test.
4. Odoo 17: Simplified Subcontracting for SMEs
4.1 The Odoo Manufacturing Module and External Operations
In Odoo 17, subcontracting is managed through the Manufacturing module (MRP). A product can be flagged as “subcontracted” on its product form, with a designated supplier and a BOM listing the components to ship. When a manufacturing order is confirmed for this product, Odoo automatically generates a purchase order to the subcontractor.
The interface is far simpler than SAP: everything is visible from the product form and the manufacturing order, with no need to navigate between multiple transactions.
4.2 Configuring a Subcontracted Product in Odoo: Steps
Configuration takes four clicks: on the product form, under the Purchase tab, tick “Subcontract,” select the supplier, and link the BOM. Odoo then automatically handles PO creation, triggering a stock delivery to the subcontractor, and a return receipt when the transformed product comes back.
For outgoing components, Odoo generates a delivery operation to the subcontractor and an incoming return when they ship the finished product.
4.3 Odoo Limitations for Industrial Subcontracting
Three important limitations to understand before choosing Odoo for industrial subcontracting:
Consignment stock visibility is limited. Odoo does generate stock moves to the subcontractor, but real-time visibility into components physically awaiting processing at each supplier is less granular than in SAP. Getting an accurate per-subcontractor inventory in real time is difficult.
WIP valuation is simplified. Odoo uses weighted average cost (AVCO) or FIFO, but the valuation of production WIP at the subcontractor between two accounting closes is not as granular as in SAP or Sage X3.
Multi-level subcontracting is not natively supported. If your subcontractor in turn outsources part of the work to another supplier, Odoo does not manage this chain. This is a limitation shared by most SME-oriented ERPs.
4.4 Ideal Use Case: Simple Capacity Subcontracting for SMEs
Odoo is an excellent fit for small to mid-sized manufacturers that outsource one or two straightforward operations (painting, laser cutting, partial assembly) on a regular basis, with one or two fixed subcontractors. The ease of configuration and native integration with purchasing and production make it a coherent choice up to around 150 employees, provided that precise WIP valuation is not a hard accounting requirement.
5. Sage X3: The Middle Ground for Mid-Market Manufacturers
5.1 Subcontracting in Sage X3: Linked Purchasing and Production Flows
Sage X3 approaches subcontracting through two linked flows: a manufacturing order containing external operations, and a subcontracting purchase order generated automatically. Both remain synchronised: a quantity change on the MO updates the subcontracting PO, and vice versa.
This bidirectional link is a significant advantage for mid-market companies where production planners and buyers work in parallel on the same flows.
5.2 Managing Subcontractor Component Stock (External Depot)
Sage X3 handles the concept of an external depot: a logical stock location linked to the subcontractor. Components sent for subcontracting are transferred to this depot and remain visible in stock valuation. The production manager can view at any time exactly what is physically located at each subcontractor’s facility.
5.3 Quality Control at Receipt in Sage X3
This is one of Sage X3’s key strengths for manufacturing: the quality module allows inspection sequences to be triggered on receipt of subcontracted products. Received items are automatically placed in quarantine if a quality rule is associated with the product or supplier. Release is conditional on entering inspection results in the ERP.
For mid-market companies certified to ISO 9001, IATF 16949 (automotive), or operating in aerospace (AS9100), this native functionality is often a decisive factor.
5.4 Strengths: Solid Mid-Market Coverage Without SAP Complexity
Sage X3 delivers solid functional coverage for subcontracting: consignment stock, quality control, WIP valuation, linked MO-PO. It lacks SAP’s power for highly complex scenarios (deep multi-level BOM, per-batch actual costing), but for a mid-market manufacturer with 150 to 1,000 employees, the functionality-to-configuration-complexity ratio clearly favours Sage X3.
6. Comparison Table: SAP vs Odoo vs Sage X3 for Subcontracting
| Criterion | SAP S/4HANA | Odoo 17 | Sage X3 |
|---|---|---|---|
| External operations (1 level) | Yes, native | Yes, native | Yes, native |
| Co-manufacturing | Yes | Partial | Yes |
| Tolling | Yes | Partial | Yes |
| Consignment stock (external depot) | Yes, granular | Limited | Yes |
| WIP valuation | Std cost + actual costing | AVCO/FIFO simplified | Std cost |
| Quality control on receipt | Via QM module | Via Quality module | Native |
| Multi-level subcontracting | Partial (config required) | No | Partial |
| Configuration complexity | Complex | Simple | Intermediate |
| Target profile | Large enterprise, heavy industry | SME < 150 employees | Mid-market 150-1,000 employees |
7. The 5 Configuration Pitfalls to Avoid
Pitfall 1: Forgetting consignment stock in the opening balance. At ERP go-live, components currently at subcontractors on day one must be loaded into consignment stock — not internal stock. If the opening balance is wrong, the first months of operation are distorted.
Pitfall 2: Not testing the return of unused components. Subcontractors sometimes return unused components (rejects, surplus). This return flow must be configured and tested before go-live. It is frequently overlooked in user acceptance testing.
Pitfall 3: Neglecting WIP valuation at period end. At each accounting close, WIP at the subcontractor must be valued. If the ERP does not do this automatically, it creates risky manual adjustments and balance sheet variances.
Pitfall 4: Confusing subcontracting with a standard component purchase. Some teams configure external operations as simple component purchases, without linking the purchase order to the manufacturing order. The result: zero traceability between MOs and purchases, and inconsistent stock levels.
Pitfall 5: Underestimating quality control complexity at receipt. In certified industries, a subcontracted product received without inspection can invalidate the traceability of an entire batch. Configuring quality rules on subcontracting suppliers is not optional in these environments.
To deepen your thinking on industrial ERP selection, read our comparison of SAP S/4HANA vs IFS Cloud vs Infor CloudSuite for mid-market manufacturers and our guide on ERP in manufacturing: MES, IoT and Industry 4.0. To compare the full module scope and pricing of Odoo and SAP, read our Odoo vs SAP vs NetSuite comparison.