2020-04-21 18:24:38 +07:00
|
|
|
|
==============================
|
|
|
|
|
Subcontract your Manufacturing
|
|
|
|
|
==============================
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Outsourcing a portion of some or all your company’s manufacturing needs
|
|
|
|
|
is not easy. To make it work right, you have to:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
- Manage the inventory of raw materials at your subcontractor;
|
|
|
|
|
- Ship new materials to your subcontractors based on your forecasted
|
|
|
|
|
demand;
|
|
|
|
|
- Keep track of manufacturing operations done at the subcontractor
|
|
|
|
|
location;
|
|
|
|
|
- Control incoming goods quality;
|
|
|
|
|
- Control subcontractors bills.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Here is an example of subcontracting the manufacturing of “C”, which is
|
|
|
|
|
produced out of raw materials “A” and “B”.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-01-15 19:52:26 +07:00
|
|
|
|
.. image:: media/subcontracting_01.png
|
2019-06-17 18:25:50 +07:00
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
|
|
|
|
|
|
|
|
|
With its subcontracting feature, Odoo helps you handle this flow easily.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Configuration
|
|
|
|
|
=============
|
|
|
|
|
|
|
|
|
|
To use the subcontracting feature, go to :menuselection:`Manufacturing
|
|
|
|
|
--> Configuration --> Settings` and tick the box *Subcontracting*.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-01-15 19:52:26 +07:00
|
|
|
|
.. image:: media/subcontracting_02.png
|
2019-06-17 18:25:50 +07:00
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
|
|
|
|
|
|
|
|
|
To define if a product must be subcontracted, use a *Bill of Materials
|
|
|
|
|
(BoM)* of type *Subcontracting*.
|
|
|
|
|
|
|
|
|
|
To create a new *BoM*, go to :menuselection:`Manufacturing --> Master
|
|
|
|
|
Data --> Bill of Materials` and hit create. Then, list the components
|
|
|
|
|
your subcontractor needs to manufacture the product. For costing
|
|
|
|
|
purposes, you might want to register all the components, even the ones
|
|
|
|
|
that are sourced directly from the subcontractor.
|
|
|
|
|
|
|
|
|
|
Once you have set the *BoM Type* to *Subcontracting*, specify one or
|
|
|
|
|
several subcontractors.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-01-15 19:52:26 +07:00
|
|
|
|
.. image:: media/subcontracting_03.png
|
2019-06-17 18:25:50 +07:00
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Basic Subcontracting Flow
|
|
|
|
|
=========================
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
To let your subcontractor know how many products you need, create and
|
|
|
|
|
send them purchase orders (PO). To do so, open the *Purchase* app and
|
|
|
|
|
create a new one. Be sure to send the PO to a vendor that is defined as
|
|
|
|
|
a subcontractor on the *BoM*.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
.. image:: media/subcontracting_04.png
|
|
|
|
|
:align: center
|
|
|
|
|
:alt:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Once the *PO* is validated (1), a pending receipt is created. When the
|
|
|
|
|
products are received, validate the receipt (2), with the actual
|
|
|
|
|
quantity received. Then Odoo automatically created several inventory
|
|
|
|
|
moves:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
- Consume the components at the subcontractor’s location, based on the
|
|
|
|
|
*BoM* (3);
|
|
|
|
|
- Produce finished goods at the subcontractor’s location (4);
|
|
|
|
|
- Move products from the subcontractor’s location to YourCompany
|
|
|
|
|
through the validated receipt (5).
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Of course, Odoo does all the transactions for you, automatically. Simply
|
|
|
|
|
control the vendor bill with the usual matching process with the
|
|
|
|
|
purchase order.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
.. note::
|
|
|
|
|
The *PO* is optional. If you create a receipt manually, with the right
|
|
|
|
|
subcontractor, Odoo still performs all the moves. Useful if the
|
|
|
|
|
subcontractor does not bill a fixed price per item, but rather the time
|
|
|
|
|
and materials used.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Inventory Valuation
|
|
|
|
|
===================
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
The cost of the manufactured product “C” is defined as:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
**C = A + B + s**
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
With:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
- **A**: Cost of raw materials coming from YourCompany;
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
- **B**: Cost of raw materials sourced directly from the
|
|
|
|
|
subcontractor;
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
- **s**: Cost of the subcontracted service.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Sending raw materials to your subcontractors (**A**) does not impact
|
|
|
|
|
the inventory valuation, the components still belonging to your company.
|
|
|
|
|
To manage this, the *Subcontracting Location* is configured as an
|
|
|
|
|
*Internal Location* so that the components are still valued in the
|
|
|
|
|
inventory.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Then, the vendor price set on the product C form has to be what has to
|
|
|
|
|
be paid to the subcontractor for his parts and service time: **B +
|
|
|
|
|
s**. The product cost has to be: **A + B + s**, how much the
|
|
|
|
|
product is valued in the accounting.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Finally, the subcontractor bill matches the purchase order, with the
|
|
|
|
|
proposed price coming from the finished products C.
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
.. note::
|
|
|
|
|
If managing the replenishment of raw materials **B** at your
|
|
|
|
|
subcontractor’s location is not needed, simply include the cost of
|
|
|
|
|
**B** in the subcontractor’s price **s** and remove the products
|
|
|
|
|
*B* from the *BoM*.
|
|
|
|
|
|
|
|
|
|
Traceability
|
|
|
|
|
============
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
In case the products received from the subcontractor contain tracked
|
|
|
|
|
components, their serial or lot numbers need to be specified during the
|
|
|
|
|
receipt.
|
|
|
|
|
|
|
|
|
|
On the receipt of the subcontracted product, a *Record Components*
|
|
|
|
|
button appears when necessary. Click on it to open a dialog and record
|
|
|
|
|
the serial/lot numbers of the components. If the finished product is
|
|
|
|
|
also tracked, its serial/lot number can be registered here too.
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
|
|
|
|
.. image:: media/subcontracting_05.png
|
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
|
|
|
|
|
|
|
|
|
For audit purposes, it is possible to check the lot numbers recorded on
|
|
|
|
|
a receipt by using the icon on the right of the finished products:
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
|
|
|
|
.. image:: media/subcontracting_06.png
|
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Automate Replenishment of Subcontractors
|
|
|
|
|
========================================
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
To manage the resupply of your subcontractor, activate
|
|
|
|
|
*Multi-locations* in :menuselection:`Inventory --> Configuration -->
|
|
|
|
|
Configuration`. Then, the inventory at the subcontractor location can
|
|
|
|
|
be tracked.
|
|
|
|
|
|
|
|
|
|
It is possible to resupply subcontractors by sending products from the
|
|
|
|
|
company locations, or by sending products from another supplier to the
|
|
|
|
|
subcontractors.
|
|
|
|
|
|
|
|
|
|
Replenishment from the warehouse
|
|
|
|
|
--------------------------------
|
|
|
|
|
|
|
|
|
|
Resupplying subcontractors manually is the simplest approach. To do so,
|
|
|
|
|
create delivery orders in which the subcontractor is set as a delivery
|
|
|
|
|
address and fill the components to deliver.
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
To automate the subcontractors’ replenishment propositions, there are
|
|
|
|
|
two approaches:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
- Reordering rules;
|
|
|
|
|
- Replenish on order flow.
|
|
|
|
|
|
|
|
|
|
For the first one, just define a reordering rule on the subcontracting
|
|
|
|
|
location, with a minimum and maximum inventory level. When the
|
|
|
|
|
reordering rule is triggered, a delivery order is created to ship the
|
|
|
|
|
components to the subcontractor.
|
|
|
|
|
|
|
|
|
|
.. image:: media/subcontracting_07.png
|
|
|
|
|
:align: center
|
|
|
|
|
:alt:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
The second approach is to use a “pull” flow. Here, the demand in the
|
|
|
|
|
finished product (real demand or forecasted one through the Master
|
|
|
|
|
Production Schedule) triggers the replenishment of the subcontractor. To
|
|
|
|
|
do so, select the route *Resupply Subcontractor on Order* on the
|
|
|
|
|
wanted components.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-01-15 19:52:26 +07:00
|
|
|
|
.. image:: media/subcontracting_08.png
|
2019-06-17 18:25:50 +07:00
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Replenishment from another supplier
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
When purchasing items to another supplier, it is possible to ask him to
|
|
|
|
|
deliver the subcontractor directly. To do so, activate the *Drop
|
|
|
|
|
Shipping* feature in :menuselection:`Purchase --> Configuration -->
|
|
|
|
|
Configuration`.
|
|
|
|
|
|
|
|
|
|
Now, set the *Dropship* option in the *Deliver To* field of the
|
|
|
|
|
*Other Information* tab. Then, provide the address of the
|
|
|
|
|
subcontractor for the shipping.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-01-15 19:52:26 +07:00
|
|
|
|
.. image:: media/subcontracting_09.png
|
2019-06-17 18:25:50 +07:00
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
That way, the supplier can ship items directly and you simply receive
|
|
|
|
|
and pay the bill. However, it is still required to validate receipts for
|
|
|
|
|
the subcontractor.
|
2019-06-17 18:25:50 +07:00
|
|
|
|
|
2020-01-15 19:52:26 +07:00
|
|
|
|
.. image:: media/subcontracting_10.png
|
2019-10-22 15:52:09 +07:00
|
|
|
|
:align: center
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:alt:
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
2020-04-21 18:24:38 +07:00
|
|
|
|
Quality Control
|
|
|
|
|
---------------
|
|
|
|
|
|
|
|
|
|
Controlling the quality of the products manufactured by subcontractors
|
|
|
|
|
is possible thanks to the Odoo Quality app. Quality checks can be made
|
|
|
|
|
on a manufacturing step but, because the manufacturing process is
|
|
|
|
|
handled by an external party, it can be defined on the product
|
|
|
|
|
reception.
|
2020-01-15 19:52:26 +07:00
|
|
|
|
|
|
|
|
|
.. image:: media/subcontracting_11.png
|
2020-04-21 18:24:38 +07:00
|
|
|
|
:align: center
|
|
|
|
|
:alt:
|
|
|
|
|
|
|
|
|
|
To create a quality check at the receipt, open the *Quality* app and
|
|
|
|
|
create a new *Control Point* on the reception.
|
|
|
|
|
|
|
|
|
|
.. image:: media/subcontracting_12.png
|
|
|
|
|
:align: center
|
|
|
|
|
:alt:
|
|
|
|
|
|
|
|
|
|
By doing so, a quality check is automatically created each time a
|
|
|
|
|
finished product is received.
|