The process flow is as follows -

Configurations
Since the process involves a multi-step process, we need to
setup multiple products that represent the different stages of the product
lifecycle. Apart from having the components (raw materials) and the finished
product, we also need to have a semi-finished product because the product is
essentially subcontracted twice. In this example, let us assume the raw
material is a Blank T-shirt. After subcontractor A works on the black & white
printing, let’s call it Semi-printed T-shirt. Finally, the finished product
is called Graphic T-shirt. Lets take a look at how each of these products are
configured in Odoo to ensure the correct route.
Firstly, make sure you have
Subcontracting, Locations, Multi-step routes and Dropship turned on, without
which we will not be able to configure these products.
Blank
T-shirt
The Blank T-shirt will need to have “Dropship subcontractor
on Order” set as the route, since it is being drop shipped from Vendor A to
Subcontractor A.

To ensure that a PO is created for the right vendor, we also
need to ensure that ‘Vendor A’ is set on the Purchase Tab.

Semi-Printed T-shirt
The semi-printed T-shirt will essentially be the finished
product for subcontractor A. Since this product is then shipped to
subcontractor B, we need to also set the route as “Dropship Subcontractor on
Order”.

However, on the purchase Tab, the Vendor will be set as
Subcontractor A.

We also need to create a Bill of Material for this product
since it is subcontracted. The BOM will need to be set to “Subcontracted” with
the subcontractor being Subcontractor A. The component will be Blank T-shirt.

Graphic T-shirt
The Graphic T-shirt is the
finished product that needs to be received by the user. This product needs to
be set as “Buy” since we are simply buying it.

The Vendor will be set as
Subcontractor B.

We will also need to setup a
Bill of Material for the Graphic T-shirt since it is going through a second
printing process with Subcontractor B. This time, the component will be
semi-finished.

With this, all the product configurations and BOMs are
setup to ensure that the user will only have to create a PO for the Graphic
T-shirt. Let’s look at the process.
Process
- Create a Purchase Order for Graphic T-shirt from
Subcontractor B and confirm it. This will generate a receipt of the Graphic
T-shirt.
- This will trigger an RFQ for the Semi-printed T-shirt
from Subcontractor A. The user will need to confirm this PO, which will
generate a Dropship transfer.
- A new RFQ will be generated for Vendor A for Blank
T-shirt, which, upon confirming will generate a dropship to Subcontractor A.
- The user processes the dropship of Blank T-shirt to
subcontractor A and then processes the dropship from subcontractor A to
subcontractor B.
- Finally, the Graphic T-shirt is received from
subcontractor B.
Points to note
- By default, Odoo uses the generic “Physical
Locations/Subcontracting Location” for both subcontractors. There’s nothing
wrong with using this, but this means that both the dropship transfers will
have the destination as the above-mentioned location, even though they are
different vendors. It is recommended to create a separate subcontracting
location for each subcontractor to ensure that you know exactly where the
product is at any given point in time. To configure subcontracting locations,
you can go into the subcontractor contact and view the Subcontractor Location
field under the Sales/Purchase tab (ensure you are in debug mode).
- If any of the above configurations are missed, the flow
could break and hence with increasing number of subcontractors, you must ensure
that both the product and BOM configurations are setup correctly.