Hello everyone,
I am configuring a multi-level manufacturing flow in Odoo where:
GKO01536 – Unpainted Body is manufactured internally (Manufacture + MTO).
GSUB0001 – Painted Body is a subcontracted product (Subcontracting BoM).
GSUB0001 requires GKO01536 as one of its components.
GAURIS258 is the final product, and includes GSUB0001 in its multilevel BoM.
✔ What I expect
When I create SO or MO for the final product GAURIS258, Odoo should automatically:
Create an MO for GSUB0001 (subcontracting flow → Purchase Order for subcontractor).
Create a Resupply Subcontractor picking for the components of GSUB0001 (GKO01536 + subcontracting fees).
Detect that one component (GKO01536) is manufactured internally, create an MO for it, and after confirming the MO, send the component to the subcontractor.
After subcontractor completes the work, receive GSUB0001 into stock.
Finally complete the MO for GAURIS258.
❌ What actually happens
When I create the MO:
Odoo only creates a Purchase Order for GSUB0001.
No resupply subcontractor picking for GKO01536 is created.
No Manufacturing Order appears for GKO01536.
No component transfer WH/Stock → WH/Subcontractor is generated.
The PO only shows a single “Receipt” smart button (no resupply or deliver).
✔ Current configuration
GSUB0001 (subcontracted product):
BoM Type: Subcontracting
Subcontractor selected
Inventory Routes: Buy + MTO
GKO01536 (manufactured component):
Routes: Manufacture + MTO + Resupply Contractor on Order
✔ Internal BoM exists
Resupply Subcontractor on Order route:
Push (Stock → Subcontractor)
Pull (Subcontractor → Stock)
✔ What I already tried
Enabled Subcontracting in Manufacturing settings
Added subcontractor as vendor on GSUB0001
Verified BoM structure and components
Manually created a Purchase Order for GSUB0001 → still no resupply move
When trying to adjust the route rules, Odoo warns:
❓ Questions
Should Odoo automatically create an MO for GKO01536 when GSUB0001 needs it?
Is my route configuration wrong, or is there a missing link between the internal MO and subcontracting MO?
Why does the PO for the subcontractor not show the Resupply smart button?
Are there special rules for multi-level BoMs combining internal manufacturing + subcontracting?
Any guidance would be greatly appreciated! I can share screenshots if needed.
Hi @Deepak,
Thanks lot for the explanation and time. Though it seems that there is some misunderstanding.
I will show the diagram of the flow with the product BoM flow, it has more levels than the original question because I had wanted to make it simple.
It has more levels, but we only need to focus on the flow that is in the top right corner, the one I put some highlights on.
When I confirm a SO or PO for the final product, everything works well until we come to the subcontracted section. Here is how the structure look like in real world for the subcontracting:
When the product GLAL1111 is needed, a MO is already created. This product has many components and one of them is GSUB0001 (the painted body).
However, we only manufacture ( the unpainted body) GKO01536 internally and the painting is done by subcontractor. So we need to manufacture the unpainted body first, and then send it to the subcontrcter to paint it for us and then send it back. The product the subcontracter send is the (painted body) GSUB0001.
In Odoo, for the (painted body) GSUB0001, it created a PO to the subcontractor, with a receipt smart button only.
What is not being created is the delivery "subcontracting picking" smart button for the unpainted body.
As well as the MO to create the unpainted body even though I have set up the BoM and MTO ( I tried reordering rule as well and didnt work).
Hi @Yohan,
I now fully understand what you meant, and I apologise for the earlier confusion. Everything is clear now.
I made some configuration changes, and here’s the updated flow:
Products & their settings:
1. GAURIS258 (Final Product)
Routes: Manufacture + MTO
BoM: Normal manufacturing, uses 1 × GSUB0001 (Painted Body)
2. GSUB0001 – Painted Body
Routes: Buy + MTO
BoM: Subcontracting BoM, uses 1 × GKO01536 (Unpainted Body)
3. GKO01536 – Unpainted Body
Routes: Manufacture + MTO + Resupply Subcontractor on Order
BoM: Normal manufacturing BoM (with its own raw materials)
When We confirm the Sales Order for GAURIS258 (final product)
1. A manufacturing order is automatically created for it, and a smart button is visible for it. One of its components is GSUB0001 – Painted Body (Subcontracted).
2. Within that MO, a Purchase Order smart button appears for the subcontracted product GSUB0001 – Painted Body.
3. You confirm the purchase order.
→ Instantly:
(A) A resupply smart button becomes visible, showing the components that need to be sent to the subcontractor—specifically GKO01536 – Unpainted Body.
(B) Another MO is also automatically created for GKO01536 – Unpainted Body. To see this MO, you need to go to Manufacturing Orders (Operations) in the Manufacturing module. This MO must be completed first, and the finished unpainted body is then sent to the subcontractor for painting.
You produce the Unpainted Body → validate the resupply delivery → it is sent to the subcontractor
The subcontractor paints it and ships back → you receive the Painted Body on the PO
Painted Body is now in stock → finish the GAURIS258 Manufacturing Order → deliver to customer
I hope this works for you.
Thank you.