Odoo Manufacturing · intermediate · 9 min read
Subcontracting in Odoo
How Odoo subcontracting moves components to vendors, creates service purchase orders, receives finished goods, and keeps stock and costing aligned.
Last reviewed 2026-07-30 · Estimated effort: 2–6 weeks typical implementation slice
Table of contents
Odoo subcontracting treats certain BoM operations as performed at a vendor: you resupply components to a subcontract location, the vendor adds value, and you receive finished goods against a subcontract manufacturing order and service purchase line.
Stock must track components while they sit at the vendor — not only in your main warehouse. Missing subcontract locations or wrong resupply routes cause invisible shortages and MOs that never close.
Furniture and custom build businesses often combine configurators with subcontract steps. Customization may be needed when vendor portals or multi-drop logistics exceed standard resupply.
Subcontracting fails quietly when purchase thinks they only buy a service while manufacturing expects component picks — and finance sees components vanish from valuation without a receipt.
This article covers the operational loop from subcontract BoM design through component shipment and finished goods receipt.
Mark the BoM as subcontracting and assign the vendor who performs the operation. Component lines list what you ship; the finished product is what you receive back.
Vendors need subcontract partner flags and lead times that match reality. Service purchase prices belong on the subcontract service product or PO line — not hidden in component costs.
- ▸Subcontract location per vendor or logical grouping
- ▸Resupply route from stock to subcontract location
- ▸Service product for vendor processing fee
- ▸MO linked to subcontract PO on confirmation
Resupply moves components from your stock to the vendor subcontract location — often triggered from the subcontract MO or dedicated pick operations. Until components arrive at the vendor location, production cannot complete.
Track in-transit if physical shipment time matters for planning. Logistics-heavy operations may mirror patterns from warehouse barcode workflows.
Receiving registers finished quantity into stock and consumes components from the subcontract location at BoM quantities. Partial receipts and quality holds should follow the same rules as standard purchase receipts.
Close the subcontract MO when quantity and costing match physical reality. Open MOs with received FG but unconsumed components indicate route or quantity mismatches.
Some products subcontract an intermediate assembly then finish in-house — model with multi-level BoMs and clear phantom versus stocked decisions.
Quote-to-subcontract flows (custom dimensions, option-driven BoMs) often need Customization to explode the right components per order before resupply picks run.
- ✓Reconcile subcontract location balances weekly during rollout.
- ✓Train purchase on service PO creation tied to subcontract MOs.
- ✓Match BoM component list to physical kit sent to each vendor.
- ✓Define who owns quality hold at vendor receipt versus in-house MO.
- ✓Document lead time from component ship to FG receipt for planning.
- ✓Cross-link Customization when vendor-specific BoM rules or portals are required.
- !Using a normal BoM and manual PO without subcontract stock moves.
- !Shipping components without resupply moves — vendor stock shows zero while floor is empty.
- !Omitting service cost on PO so margin reports look inflated.
- !One subcontract location shared by all vendors without segregation.
- !Configurator outputs BoM lines purchase cannot fulfill.
- !Closing MO before components post out of subcontract location.
Subcontracting works when BoM, stock locations, resupply, and service POs tell one story from component ship to finished receipt.
Next, trace one subcontract SKU end-to-end with purchase and warehouse in the same room.
Send components
Transfer to subcontractor.
Produce externally
Service PO / MO.
Receive FG
Incoming shipment.
Cost & close
Landed cost alignment.
Source location
Pick from stock.
Transit / ops
Internal moves.
Destination
Customer, FG, or scrap.
Quant update
Availability refreshed.
Frequently asked questions
Do components at the vendor count in inventory valuation?
Yes — they should sit in subcontract stock locations until consumed on receipt of finished goods. Misconfigured locations make components disappear from books.
Can one vendor handle multiple subcontract products?
Yes. Assign the vendor on each subcontract BoM and use resupply per MO. Watch location balances when many open MOs share one vendor.
How does subcontract differ from buying a finished product?
Subcontracting consumes your components and adds a service fee. Buying FG is a standard purchase with no component resupply — choose based on who owns material risk.
What if the vendor returns scrap or partial yield?
Record partial receipt, scrap moves, or rework MOs explicitly. Do not adjust BoM quantities silently without engineering approval.
Related articles
Manufacturing Orders Explained
How Odoo manufacturing orders move from draft to done: reservation, work orders, production posting, backorders, scrap, and shop-floor execution patterns.
View →Procurement for Manufacturing
How Odoo purchase and replenishment rules supply manufacturing: reordering rules, MTO buy, vendor lead times, and MO-driven component demand.
View →Inventory Control in Manufacturing
Locations, routes, lots, reservation, and WIP handling in Odoo so manufacturing can find components and post finished goods where sales and shipping expect them.
View →Configurable Products vs Standard Variants
When to use Odoo product variants versus configurators and custom BoM explosion for made-to-order manufacturing — without SKU explosion or broken MOs.
View →Related services
Odoo Manufacturing Services
Implementation and optimization of BoM, MO, subcontracting, and shop-floor flows.
View →Odoo Customization
Industry workflows, configurators, and modules when standard MRP is not enough.
View →Dedicated Odoo Developer
Reserved capacity for manufacturing modules, reports, and backlog.
View →Rolling out subcontracting in Odoo?
Share your vendor model and whether quotes drive custom BoMs — we will map resupply and receipt flows.
