[IMP] MRP: Improvement of the subcontracting doc (#648)

This commit is contained in:
Lau-Odoo 2020-04-21 13:24:38 +02:00 committed by GitHub
parent 83e04c44eb
commit 98e2208fda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 180 additions and 71 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -1,123 +1,232 @@
=============================
Subcontract the manufacturing
=============================
==============================
Subcontract your Manufacturing
==============================
Some businesses subcontract the production of finished products through
subcontractors. This can be easily managed through Odoo.
Outsourcing a portion of some or all your companys manufacturing needs
is not easy. To make it work right, you have to:
- 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.
Here is an example of subcontracting the manufacturing of “C”, which is
produced out of raw materials “A” and “B”.
.. image:: media/subcontracting_01.png
:align: center
:alt:
With its subcontracting feature, Odoo helps you handle this flow easily.
Configuration
=============
Go to the :menuselection:`Manufacturing app --> Configuration --> Settings` and tick the
box *Subcontracting*.
.. image:: media/subcontracting_01.png
:align: center
You can now define subcontracted *Bill of Materials*. Therefore, you need to go to
:menuselection:`Manufacturing --> Master Data --> Bill of Materials` and hit *Create*. In this
*BoM*, list the components which will be used by the subcontractor to manufacture the subcontracted
finished product. Specify that the *BoM* type is *Subcontracting* and define one or
several subcontractors who will provide you the product.
To use the subcontracting feature, go to :menuselection:`Manufacturing
--> Configuration --> Settings` and tick the box *Subcontracting*.
.. image:: media/subcontracting_02.png
:align: center
: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.
.. image:: media/subcontracting_03.png
:align: center
:alt:
And... the configuration part is already done!
Basic Subcontracting Flow
=========================
Receive or buy a subcontracted product
======================================
You have two options to trigger the subcontracting of a product:
- **Option A**: You can buy the subcontracted product from your subcontractor
- **Option B**: You can directly receive the subcontracted product
Lets start with option A (option B is just a simpler version of it).
Create a new purchase order. The vendor must be a subcontractor. The
unit price should be the cost you are paying to the subcontractor for
the subcontracting (thus, its not necessarily the total cost of the
subcontracted product).
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*.
.. image:: media/subcontracting_04.png
:align: center
:alt:
The validation of the purchase order automatically creates the receipt.
Whenever you receive the product, you can validate the receipt. The
following stock moves are created:
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:
- For the components
- Consume the components at the subcontractors location, based on the
*BoM* (3);
- Produce finished goods at the subcontractors location (4);
- Move products from the subcontractors location to YourCompany
through the validated receipt (5).
- From Subcontracting To Production
Of course, Odoo does all the transactions for you, automatically. Simply
control the vendor bill with the usual matching process with the
purchase order.
- For the subcontracted product
.. 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.
- From Production to Subcontracting
Inventory Valuation
===================
- From Subcontracting to Stock
The cost of the manufactured product “C” is defined as:
The *Subcontracting Location* represents the place where the products
are at your subcontractors warehouse. It is configured as an internal
location, the components that are sent to the subcontractor are still
valued in your stock.
**C = A + B + s**
For option B, you can simply create the receipt manually with a partner
of type subcontractor defined on it.
With:
Receive or buy a subcontracted product with tracked components
==============================================================
- **A**: Cost of raw materials coming from YourCompany;
In case the subcontracted product you receive from your subcontractor
contains tracked components, you will need to specify the *serial/lot
numbers* of the components in question for traceability. This operation
is included in the receipt of the subcontracted product.
- **B**: Cost of raw materials sourced directly from the
subcontractor;
On the receipt, you see a *Record Components* button appearing when
necessary. If you click on it, a *Produce* wizard opens in which you
will have to enter the *serial/lot numbers* of the components, and the
finished product if it is also tracked, like in the below example.
- **s**: Cost of the subcontracted service.
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.
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.
Finally, the subcontractor bill matches the purchase order, with the
proposed price coming from the finished products C.
.. note::
If managing the replenishment of raw materials **B** at your
subcontractors location is not needed, simply include the cost of
**B** in the subcontractors price **s** and remove the products
*B* from the *BoM*.
Traceability
============
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.
.. image:: media/subcontracting_05.png
:align: center
: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:
.. image:: media/subcontracting_06.png
:align: center
:alt:
Once this information has been entered, you will see a new icon on the
receipt stock move, which will allow you to find back the components
which are part of the finished product.
Automate Replenishment of Subcontractors
========================================
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.
To automate the subcontractors replenishment propositions, there are
two approaches:
- 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:
Resupply the subcontractor with the components
==============================================
There are 3 ways to manage the resupply of your subcontractor with the
components:
- **Manually**: You create a delivery order in which you set the subcontractor as a partner and you choose the components to deliver.
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.
.. image:: media/subcontracting_08.png
:align: center
:alt:
.. note::
You therefore need to activate *Multi-locations* in the inventory settings.
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.
.. image:: media/subcontracting_09.png
:align: center
:alt:
- **With reordering rules**: You can define a *reordering rule* on the *Subcontracting location* to ensure that they are always enough components sent to your subcontractors. When the reordering rule is triggered, a delivery order is created for the product is automatically created.
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.
.. image:: media/subcontracting_10.png
:align: center
:alt:
- **On order**: You can also deliver the components to your subcontractors each time you order a subcontracted product. For this, you need to tick the route *Resupply Subcontractor on Order* on the wanted components.
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.
.. image:: media/subcontracting_11.png
:align: center
: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.