diff --git a/manufacturing/management/media/subcontracting_01.png b/manufacturing/management/media/subcontracting_01.png index 27e0fee02..ae5a3a60f 100644 Binary files a/manufacturing/management/media/subcontracting_01.png and b/manufacturing/management/media/subcontracting_01.png differ diff --git a/manufacturing/management/media/subcontracting_02.png b/manufacturing/management/media/subcontracting_02.png index 6cf70111b..ceeedfa99 100644 Binary files a/manufacturing/management/media/subcontracting_02.png and b/manufacturing/management/media/subcontracting_02.png differ diff --git a/manufacturing/management/media/subcontracting_03.png b/manufacturing/management/media/subcontracting_03.png index fbf0d38fd..e2f200393 100644 Binary files a/manufacturing/management/media/subcontracting_03.png and b/manufacturing/management/media/subcontracting_03.png differ diff --git a/manufacturing/management/media/subcontracting_04.png b/manufacturing/management/media/subcontracting_04.png index 661cfd593..6e58ea3d5 100644 Binary files a/manufacturing/management/media/subcontracting_04.png and b/manufacturing/management/media/subcontracting_04.png differ diff --git a/manufacturing/management/media/subcontracting_05.png b/manufacturing/management/media/subcontracting_05.png index ca9149df8..878b2d574 100644 Binary files a/manufacturing/management/media/subcontracting_05.png and b/manufacturing/management/media/subcontracting_05.png differ diff --git a/manufacturing/management/media/subcontracting_06.png b/manufacturing/management/media/subcontracting_06.png index ce1106a45..a6f638358 100644 Binary files a/manufacturing/management/media/subcontracting_06.png and b/manufacturing/management/media/subcontracting_06.png differ diff --git a/manufacturing/management/media/subcontracting_07.png b/manufacturing/management/media/subcontracting_07.png index 453863fcf..5fe226b01 100644 Binary files a/manufacturing/management/media/subcontracting_07.png and b/manufacturing/management/media/subcontracting_07.png differ diff --git a/manufacturing/management/media/subcontracting_08.png b/manufacturing/management/media/subcontracting_08.png index daec4f6ac..2328282a0 100644 Binary files a/manufacturing/management/media/subcontracting_08.png and b/manufacturing/management/media/subcontracting_08.png differ diff --git a/manufacturing/management/media/subcontracting_09.png b/manufacturing/management/media/subcontracting_09.png index a4d4c1cd9..6f03d3b07 100644 Binary files a/manufacturing/management/media/subcontracting_09.png and b/manufacturing/management/media/subcontracting_09.png differ diff --git a/manufacturing/management/media/subcontracting_10.png b/manufacturing/management/media/subcontracting_10.png index 3251cb070..92faa2609 100644 Binary files a/manufacturing/management/media/subcontracting_10.png and b/manufacturing/management/media/subcontracting_10.png differ diff --git a/manufacturing/management/media/subcontracting_11.png b/manufacturing/management/media/subcontracting_11.png index 25e5ed441..d27bf45a4 100644 Binary files a/manufacturing/management/media/subcontracting_11.png and b/manufacturing/management/media/subcontracting_11.png differ diff --git a/manufacturing/management/media/subcontracting_12.png b/manufacturing/management/media/subcontracting_12.png new file mode 100644 index 000000000..bb05d4abd Binary files /dev/null and b/manufacturing/management/media/subcontracting_12.png differ diff --git a/manufacturing/management/subcontracting.rst b/manufacturing/management/subcontracting.rst index 2555caa03..8d184ca19 100644 --- a/manufacturing/management/subcontracting.rst +++ b/manufacturing/management/subcontracting.rst @@ -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 company’s 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 - -Let’s 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, it’s 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 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). - - 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 subcontractor’s 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 + 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 +============ + +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 \ No newline at end of file + :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. \ No newline at end of file