[FIX] *: remove trailing whitespaces

Part-of: odoo/documentation#2984
This commit is contained in:
Victor Feyens
2022-11-18 10:10:48 +00:00
parent c60bc5f919
commit c2f8d4bd44
105 changed files with 902 additions and 904 deletions
@@ -3,17 +3,17 @@ Kits
=====
A *kit* is a set of components that are not pre-assembled or mixed. This is useful for
selling but also for creating cleaner and more effective *BOMs*. To use kits, you need
both the Manufacturing and Inventory apps to be installed.
selling but also for creating cleaner and more effective *BOMs*. To use kits, you need
both the Manufacturing and Inventory apps to be installed.
Manage Stock of Component Products
==================================
If you want to assemble kits as they are ordered, managing stock of the kit components only,
you will use a *Kit BoM* Type without any manufacturing operations.
If you want to assemble kits as they are ordered, managing stock of the kit components only,
you will use a *Kit BoM* Type without any manufacturing operations.
A product using a *Kit BoM* will appear as a single line item on a quotation and a sales order,
but will generate a delivery order with one line item for each of the components of the kit. In
but will generate a delivery order with one line item for each of the components of the kit. In
the examples below, the first image shows a sales order for the kit *Custom Computer Kit*,
while the second image shows the corresponding delivery order.
@@ -26,16 +26,16 @@ while the second image shows the corresponding delivery order.
Configuration
=============
From the *Products menu* in either the *Inventory* or *Manufacturing* app, create each component
From the *Products menu* in either the *Inventory* or *Manufacturing* app, create each component
product (as you would with any other product), then create the top-level, or kit product. Because
you cannot track the stock of kit products, the *Product Type* should be set to *Consumable*.
However, if you are using Anglo-Saxon accounting, and you would like COGS to be posted when
invoicing your kits (and only for this reason), the storable product type should selected instead.
you cannot track the stock of kit products, the *Product Type* should be set to *Consumable*.
However, if you are using Anglo-Saxon accounting, and you would like COGS to be posted when
invoicing your kits (and only for this reason), the storable product type should selected instead.
Because a kit product cannot be purchased, *Can be Purchased* should be unchecked. The route of the
kit product in the *Inventory* Tab does not really matter, as, for replenishment, only the route of
the components that will be taken into account only.
kit product in the *Inventory* Tab does not really matter, as, for replenishment, only the route of
the components that will be taken into account only.
All other parameters on the kit product may be modified according to your preference. The component
All other parameters on the kit product may be modified according to your preference. The component
products require no particular configuration.
Once the products are configured, create a *bill of materials* for the kit product. Add each component
@@ -47,11 +47,11 @@ and its quantity. Select the *BoM Type* Kit. All other options may be left with
Manage Stock of Kit Product and Component Products
==================================================
If you want to manage the stock of the *top-level kit product*, you will use a standard *BoM Type*
If you want to manage the stock of the *top-level kit product*, you will use a standard *BoM Type*
manufacture or subcontracting instead. In this case you will either buy the final product from your
subcontractor, or make it yourself through a manufacturing order.
subcontractor, or make it yourself through a manufacturing order.
In that case the product type will be storable, and the BOM type either 'Manufacture this product'
In that case the product type will be storable, and the BOM type either 'Manufacture this product'
or 'Subcontracting' as shown below.
.. image:: kit_shipping/kit-storable.png
@@ -59,29 +59,29 @@ or 'Subcontracting' as shown below.
Build a cleaner BOM
====================
====================
As suggested above, a kit BOM can also simply be used to manage a more complex BOM.
As suggested above, a kit BOM can also simply be used to manage a more complex BOM.
Imagine the Custom Computer parts above were part of another final product. It would be much
clearer and simpler if the BOMs were added together (as shown below) instead of adding all
Imagine the Custom Computer parts above were part of another final product. It would be much
clearer and simpler if the BOMs were added together (as shown below) instead of adding all
the individual parts one by one.
.. image:: kit_shipping/kit-bom4.png
:align: center
This is even better illustrated when looking at the BOM Structure Report, where it is
easy to expand and hide specific kit level or sub-assembly type BOMs.
This is even better illustrated when looking at the BOM Structure Report, where it is
easy to expand and hide specific kit level or sub-assembly type BOMs.
.. image:: kit_shipping/kit-bom5.png
:align: center
On the creation of the manufacturing order, the BOM will automatically expand to show all
top level and kit level components. You can go back to the BOM at any point though as it
remains available on the form view of your manufacturing order.
top level and kit level components. You can go back to the BOM at any point though as it
remains available on the form view of your manufacturing order.
.. image:: kit_shipping/kit-bom6.png
:align: center
Finally, note that if there were any Operations in the Kit BOM, these would also simply be added
in to the work order list of the main component.
Finally, note that if there were any Operations in the Kit BOM, these would also simply be added
in to the work order list of the main component.
@@ -7,7 +7,7 @@ of your subcontractor, before registering the products into your stock, you can
rely on Odoo's Quality module.
To control the quality of your production, you need to set a *Quality Control Point*
To control the quality of your production, you need to set a *Quality Control Point*
on the Manufacturing Operation Type, as shown below. To create it, Go to :menuselection:`Quality
--> Quality Control --> Control Points`, and click **Create**.
If the check only applies to specific products, or product categories, you can specify these during
@@ -16,13 +16,13 @@ the setup as well.
.. image:: quality_control/qc_1.png
:align: center
Regarding the reception of subcontracted products, instead of the Manufacturing Operation Type,
you need to select the 'Receipts' Operation type. For the rest, the same principles apply.
Regarding the reception of subcontracted products, instead of the Manufacturing Operation Type,
you need to select the 'Receipts' Operation type. For the rest, the same principles apply.
.. image:: quality_control/qc_2.png
:align: center
By doing so, a quality check is automatically created each time a
finished product is made and/or received. Note that several Quality Check
finished product is made and/or received. Note that several Quality Check
*Types* can be chosen from the dropdown. Note also that several Quality
Check Points can be set up for the same Operation Type.
Check Points can be set up for the same Operation Type.
@@ -7,17 +7,17 @@ of Materials* or to represent your manufacturing flow more accurately.
A *semi-finished product* is a manufactured product that is used as a
component in a Bill of Material.
A *BoM* that employs *semi-finished products* is referred to as
A *BoM* that employs *semi-finished products* is referred to as
a multi-level BoM, where we distinguish between the *top level Product*
and the *sub-assemblies*.
and the *sub-assemblies*.
Configure a Multi Level BoM
============================
To configure a *multi-level BoM*, you will need the top-level product
and its sub-assemblies. Therefore, you must first create the sub-assembly
products and their respective Bill of Materials. Please refer to
:doc:`bill_configuration` for more details on how to create a BOM.
products and their respective Bill of Materials. Please refer to
:doc:`bill_configuration` for more details on how to create a BOM.
.. image:: sub_assemblies/sf_1.png
:align: center
@@ -25,33 +25,33 @@ products and their respective Bill of Materials. Please refer to
Configure the Main BoM
======================
Then on the final product form, simply add your semi-finished
products to the Bill of Material.
Then on the final product form, simply add your semi-finished
products to the Bill of Material.
.. image:: sub_assemblies/sf_2.png
:align: center
Manage your production planning
Manage your production planning
=================================
There are several methods to manage the triggering of the various manufacturing orders.
There are several methods to manage the triggering of the various manufacturing orders.
If every time a manufacturing order is confirmed for the main product, you'd like one for
the semi-finished products as well, you have two options:
If every time a manufacturing order is confirmed for the main product, you'd like one for
the semi-finished products as well, you have two options:
Option 1 : Create re-ordering rules for the semi-finished products, with both the minimum
and maximum desired stock quantities at 0.
Option 1 : Create re-ordering rules for the semi-finished products, with both the minimum
and maximum desired stock quantities at 0.
.. image:: sub_assemblies/sf_3.png
:align: center
Option 2 : Use the Replenish on Order (MTO) route on the semi-finished product, as well as
the manufacturing one.
Option 2 : Use the Replenish on Order (MTO) route on the semi-finished product, as well as
the manufacturing one.
Note that Option 1 is usually recommended over Option 2 as it is more flexible. The MTO route
creates a unique link between the semi-finished and the top level product, whereas the
Note that Option 1 is usually recommended over Option 2 as it is more flexible. The MTO route
creates a unique link between the semi-finished and the top level product, whereas the
re-ordering rule allows you to simply unreserve that production from the top level product
production and redirect it to another, more pressing demand, for example.
production and redirect it to another, more pressing demand, for example.
In any case, as soon as the semi-finished product is produced, it will become
available in the manufacturing order of the final product, as shown below.
@@ -6,7 +6,7 @@ Outsourcing a portion or all of your companys manufacturing needs
is not easy. To make it work correctly, you have to:
- Manage the inventory of raw materials at your subcontractor
- Ship raw material to your subcontractors, at the right time
- Ship raw material to your subcontractors, at the right time
- Control incoming goods quality
- Control subcontractors bills
@@ -15,7 +15,7 @@ produced out of raw materials “A” and “B”.
.. image:: subcontracting/subcontracting_01.png
:align: center
:alt:
:alt:
With its MRP subcontracting feature, Odoo helps you handle this flow easily.
@@ -27,12 +27,12 @@ To use the subcontracting feature, go to :menuselection:`Manufacturing
.. image:: subcontracting/sbc_1.png
:align: center
:alt:
: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 --> Products -->
To create a new *BoM*, go to :menuselection:`Manufacturing --> Products -->
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
@@ -43,7 +43,7 @@ several subcontractors.
.. image:: subcontracting/sbc_2.png
:align: center
:alt:
:alt:
Basic Subcontracting Flow
=========================
@@ -55,7 +55,7 @@ defined as a subcontractor on the *BoM* of these products.
.. image:: subcontracting/subcontracting_04.png
:align: center
:alt:
:alt:
Once the *PO* is validated (1), a pending receipt is created. When the
products are received, validate the receipt (2), with the actual
@@ -71,7 +71,7 @@ quantity received. As a result, Odoo does the following things for you:
.. note::
The *PO* is optional. If you create a receipt manually, with the right
subcontractor, Odoo still performs all the moves. This can be useful if
subcontractor, Odoo still performs all the moves. This can be useful if
the subcontractor does not bill a fixed price per item, but rather the time
and materials used.
@@ -93,15 +93,15 @@ With:
Sending raw materials to your subcontractors (**A**) does not impact
the inventory valuation, as the components are still valued as part of
your stock. This is managed by making the *Subcontracting Location* an
*Internal Location*.
your stock. This is managed by making the *Subcontracting Location* an
*Internal Location*.
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 then matches the purchase order, with
Finally, the subcontractor bill then matches the purchase order, with
the proposed price coming from the finished products C.
.. note::
@@ -115,99 +115,99 @@ Traceability
In case the received products from the subcontractor contain tracked
components, their serial or lot numbers need to be specified during the
receipt.
receipt.
In that case, on the receipt of the subcontracted product, a *Record Components*
button appears. Click on it to open a dialog box and record the serial/lot numbers of
button appears. Click on it to open a dialog box 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:: subcontracting/sbc_3.png
:align: center
:alt:
: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:: subcontracting/sbc_4.png
:align: center
:alt:
:alt:
Also note that in case flexible consumption has been selected on the subcontracted
BOM for a non-tracked product, the record components option will also appear
optionally on each move line, if you want to register more or less component consumption
at your subcontracting location, when receiving your final product.
Also note that in case flexible consumption has been selected on the subcontracted
BOM for a non-tracked product, the record components option will also appear
optionally on each move line, if you want to register more or less component consumption
at your subcontracting location, when receiving your final product.
.. image:: subcontracting/sbc_5.png
:align: center
:alt:
:alt:
As you can see, the reception of both of these non-tracked products can either be executed
by selecting the 'Set Quantities' Option or via the move line hamburger menus.
As you can see, the reception of both of these non-tracked products can either be executed
by selecting the 'Set Quantities' Option or via the move line hamburger menus.
Automate Replenishment of Subcontractors
========================================
There are two ways to automate the supply of raw materials to your
There are two ways to automate the supply of raw materials to your
subcontractors when purchasing the final product. The chosen method
depends on whether or not you want the materials to transit through your
warehouse. Both of these methods are described as pull style mechanisms as
their trigger is the inital PO to the subcontractor, which creates a need
at the subcontracting location, for raw material.
warehouse. Both of these methods are described as pull style mechanisms as
their trigger is the inital PO to the subcontractor, which creates a need
at the subcontracting location, for raw material.
If you are supplying your subcontractor with raw material from your own warehouse,
you must activate the 'Resupply Subcontractor on Order' route as shown
you must activate the 'Resupply Subcontractor on Order' route as shown
below. If this is a component that you buy from a vendor, the buy route
should also be activated.
should also be activated.
.. image:: subcontracting/sbc_6.png
:align: center
:alt:
:alt:
Now, if you want your vendor to resupply your subcontractor directly, you
must choose the 'Dropship Subcontractor on Order' option instead. In order
for this option to be active on the product form, you must first activate the
Now, if you want your vendor to resupply your subcontractor directly, you
must choose the 'Dropship Subcontractor on Order' option instead. In order
for this option to be active on the product form, you must first activate the
dropship option from :menuselection:`Purchase --> Configuration --> Settings -->
Dropshipping`.
Once the PO to the subcontractor is validated, this route will create a dropship
RFQ from your vendor to that subcontractor. You then just need to review and validate it.
Once the PO to the subcontractor is validated, this route will create a dropship
RFQ from your vendor to that subcontractor. You then just need to review and validate it.
.. image:: subcontracting/sbc_7.png
:align: center
:alt:
:alt:
Note that the buy route is not selected in this case, as the dropship route is
a buy route already.
Note that the buy route is not selected in this case, as the dropship route is
a buy route already.
Finally, if you want to track the stock of these raw materials at your subcontracting
location(s), then you must activate *Multi-locations* in :menuselection:`Inventory -->
Configuration --> Settings --> Storage locations`.
Configuration --> Settings --> Storage locations`.
From the location form, you are then able to access the Current Stock.
From the location form, you are then able to access the Current Stock.
.. image:: subcontracting/sbc_8.png
:align: center
:alt:
:alt:
Manual Replenishment
--------------------------------
You can also choose to replenish your subcontractors manually.
You can also choose to replenish your subcontractors manually.
If you want to send components to your subcontractor at your own convenience,
select the 'Resupply Subcontractor' Operation Type from the *Inventory* Module,
and create a picking, specifying to which subcontractor you are delivering to.
If you want to send components to your subcontractor at your own convenience,
select the 'Resupply Subcontractor' Operation Type from the *Inventory* Module,
and create a picking, specifying to which subcontractor you are delivering to.
.. image:: subcontracting/sbc_9.png
:align: center
:alt:
:alt:
Alternatively, you can also manually ask your vendor to resupply your subcontractor
Alternatively, you can also manually ask your vendor to resupply your subcontractor
by creating a dropship type PO, with your subcontractor set as the delivery address.
.. image:: subcontracting/sbc_10.png
@@ -8,11 +8,11 @@ production based on your demand forecast.
Configuration
=============
Go to the :menuselection:`Manufacturing app --> Configuration --> Settings` and
Go to the :menuselection:`Manufacturing app --> Configuration --> Settings` and
activate the Master Production Schedule feature before hitting save.
.. tip::
In the MPS settings, you can define the time range of your MPS (month/week/day)
In the MPS settings, you can define the time range of your MPS (month/week/day)
and the number of periods you want to display at all times.
Now, go to :menuselection:`Planning --> Master Production Schedule` and click on *add a
@@ -24,7 +24,7 @@ maximum quantities that must or can be replenished in each period.
:align: center
In the MPS view, you can decide which information you would like to display
by clicking on *rows*. For instance, the *Actual demand* will show you which
by clicking on *rows*. For instance, the *Actual demand* will show you which
quantity of products has already been ordered for the period, or *Available to Promise*,
what can still be sold during that same period (what you plan to replenish - what
is already sold during the period). You can also decide to hide rows if you like.
@@ -35,15 +35,15 @@ is already sold during the period). You can also decide to hide rows if you like
Estimate your demand and launch replenishment
=============================================
The next step is to estimate the demand for the chosen period. This is done
The next step is to estimate the demand for the chosen period. This is done
in the *Forecasted Demand* Row. You can easily, at any time, compare the demand
forecast with the actual demand (= confirmed sales). The demand forecast for a
forecast with the actual demand (= confirmed sales). The demand forecast for a
finished product will impact the indirect demand for its components.
.. image:: use_mps/mps_3.png
:align: center
Once the forecasted demand has been set, the quantity to replenish for the
Once the forecasted demand has been set, the quantity to replenish for the
different periods will automatically be computed. The replenishments you are supposed
to launch based on your lead times (vendor lead time or manufacturing lead time)
are then displayed in green. You can now launch the replenishment by clicking