[IMP] mrp: overhaul bom basics 17.0
closes odoo/documentation#9239 Signed-off-by: Felicia Kuan (feku) <feku@odoo.com> Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com> Co-authored-by: Zachary Straub <zst@odoo.com> Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
@ -30,7 +30,7 @@ new one by clicking :guilabel:`New`.
|
|||||||
.. admonition:: Learn more
|
.. admonition:: Learn more
|
||||||
|
|
||||||
For a complete guide on how to properly configure a new |BOM|, see the documentation on
|
For a complete guide on how to properly configure a new |BOM|, see the documentation on
|
||||||
:ref:`creating a bill of materials <manufacturing/management/bill-configuration>`.
|
:doc:`creating a bill of materials <../basic_setup/bill_configuration>`.
|
||||||
|
|
||||||
On the |BOM|, click on the :guilabel:`Miscellaneous` tab, then enable the :guilabel:`Operation
|
On the |BOM|, click on the :guilabel:`Miscellaneous` tab, then enable the :guilabel:`Operation
|
||||||
Dependencies` checkbox. This makes a new :guilabel:`Blocked By` option available in the settings of
|
Dependencies` checkbox. This makes a new :guilabel:`Blocked By` option available in the settings of
|
||||||
|
@ -2,98 +2,258 @@
|
|||||||
Bill of materials
|
Bill of materials
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. _manufacturing/management/bill-configuration:
|
.. |BOM| replace:: :abbr:`BoM (Bill of Materials)`
|
||||||
|
.. |BOMs| replace:: :abbr:`BoMs (Bills of Materials)`
|
||||||
|
.. |MO| replace:: :abbr:`MO (Manufacturing Order)`
|
||||||
|
|
||||||
A *bill of materials* (or *BoM* for short) is a document that defines the quantity of each component
|
A *bill of materials* (or *BoM* for short) documents specific components, along with their
|
||||||
required to make or deliver a finished product. It can also include various operations and the
|
respective quantities, that are needed to produce or repair a product. In Odoo, |BoMs| as blueprints
|
||||||
individual step guidelines needed to complete a production process.
|
for manufactured goods and kits, and often include production operations and step-by-step
|
||||||
|
guidelines, as well.
|
||||||
|
|
||||||
In Odoo Manufacturing, multiple :abbr:`BoMs (Bills of Materials)` can be linked to each product, so
|
BoM setup
|
||||||
even product variants can have their own tailored :abbr:`BoMs (Bills of Materials)`.
|
=========
|
||||||
|
|
||||||
Correctly setting up a :abbr:`BoM (Bill of Materials)` helps optimize the manufacturing process and
|
To create a |BOM|, go to :menuselection:`Manufacturing app --> Products --> Bills of Materials` and
|
||||||
save time.
|
click :guilabel:`New`.
|
||||||
|
|
||||||
Set up a bill of materials (BoM)
|
Next, set the :guilabel:`BoM Type` to :guilabel:`Manufacture this Product`.
|
||||||
================================
|
|
||||||
|
|
||||||
The simplest :abbr:`BoM (Bill of Materials)` setup is one without operations or instructions, only
|
Then, specify :ref:`required components <manufacturing/basic_setup/setup-components>` and, if
|
||||||
components. In this case, the production is solely managed using *Manufacturing Orders*.
|
necessary, define any :ref:`manufacturing operations <manufacturing/basic_setup/setup-operations>`.
|
||||||
|
|
||||||
To create a :abbr:`BoM (Bill of Materials)` from the :guilabel:`Manufacturing` module, go to
|
.. tip::
|
||||||
:menuselection:`Products --> Bills of Materials`. Then, click :guilabel:`Create`. Next, specify the
|
Individual |BOMs| can also be quickly accessed or created by clicking the :guilabel:`Bill of
|
||||||
:guilabel:`Product`.
|
Materials` smart button on any product form, as accessible through the *Sales*, *Inventory*, and
|
||||||
|
*Manufacturing* apps, as well as through any internal links where a product is referenced (such
|
||||||
|
as in a field or a line item).
|
||||||
|
|
||||||
|
.. figure:: bill_configuration/bom-example.png
|
||||||
|
:align: center
|
||||||
|
:alt: Show BoM for a product, with components listed.
|
||||||
|
|
||||||
|
BoM for `Drawer`, displaying the **Components** tab.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- :doc:`../advanced_configuration/kit_shipping`
|
||||||
|
- :doc:`../subcontracting/subcontracting_basic`
|
||||||
|
|
||||||
|
.. _manufacturing/basic_setup/setup-components:
|
||||||
|
|
||||||
|
Components
|
||||||
|
----------
|
||||||
|
|
||||||
|
In the :guilabel:`Components` tab of a |BOM|, specify components used to manufacture the product by
|
||||||
|
clicking :guilabel:`Add a line`. From the :guilabel:`Components` drop-down menu, select from
|
||||||
|
existing products or create a new product by typing the name and selecting either the
|
||||||
|
:guilabel:`Create " "` option to quickly add the line item, or the :guilabel:`Create and edit...`
|
||||||
|
option to add the component and continue to its configuration form.
|
||||||
|
|
||||||
|
.. image:: bill_configuration/component.png
|
||||||
|
:align: center
|
||||||
|
:alt: Add a component by selecting it from the drop-down menu.
|
||||||
|
|
||||||
|
Optionally, access additional fields by clicking the :icon:`oi-settings-adjust` :guilabel:`(settings
|
||||||
|
adjust)` icon to the far-right of the :guilabel:`Components` tab. Tick the checkboxes for the
|
||||||
|
following features to enable these columns:
|
||||||
|
|
||||||
|
- :guilabel:`Apply on Variants`: specify which :doc:`product variant
|
||||||
|
<../advanced_configuration/product_variants>` each component is used in. When the field is left
|
||||||
|
blank, the component is used in all product variants.
|
||||||
|
|
||||||
|
.. _manufacturing/basic_setup/consumed-in-operation:
|
||||||
|
|
||||||
|
- :guilabel:`Consumed in Operation`: specify the operation using the component. Useful for
|
||||||
|
determining :ref:`manufacturing readiness <manufacturing/basic_setup/manufacturing-readiness>`.
|
||||||
|
- :guilabel:`Manual Consumption`: tick the checkbox to force operators to check the
|
||||||
|
:guilabel:`Consumed` checkbox on a manufacturing order (MO).
|
||||||
|
|
||||||
|
.. image:: bill_configuration/consumed-field.png
|
||||||
|
:align: center
|
||||||
|
:alt: Show a manufacturing order, highlighting the *Consumed* field.
|
||||||
|
|
||||||
|
Not doing so triggers the :guilabel:`Consumption Warning` error message, where the consumed
|
||||||
|
component quantity must be manually inputted. Otherwise, the operation cannot be completed.
|
||||||
|
|
||||||
|
.. image:: bill_configuration/consumption-warning.png
|
||||||
|
:align: center
|
||||||
|
:alt: Show the consumption warning error message.
|
||||||
|
|
||||||
|
.. _manufacturing/basic_setup/setup-operations:
|
||||||
|
|
||||||
|
Operations
|
||||||
|
----------
|
||||||
|
|
||||||
|
Add an *operation* to a |BOM| to specify instructions for production and register time spent on an
|
||||||
|
operation. To use this feature, first enable the *Work Orders* feature by going to
|
||||||
|
:menuselection:`Manufacturing app --> Configuration --> Settings`. In the :guilabel:`Operations`
|
||||||
|
section, tick the :guilabel:`Work Orders` checkbox to enable the feature.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
:doc:`../advanced_configuration/work_order_dependencies`
|
||||||
|
|
||||||
|
.. image:: bill_configuration/enable-work-orders.png
|
||||||
|
:align: center
|
||||||
|
:alt: "Work Orders" feature in the Settings page.
|
||||||
|
|
||||||
|
Next, navigate to the |BOM| by going to :menuselection:`Manufacturing app --> Products --> Bill of
|
||||||
|
Materials` and selecting the desired |BOM|. To add a new operation, go to the :guilabel:`Operations`
|
||||||
|
tab, and click :guilabel:`Add a line`.
|
||||||
|
|
||||||
|
Doing so opens the :guilabel:`Create Operations` pop-up window, where the various fields of the
|
||||||
|
operation are configured:
|
||||||
|
|
||||||
|
- :guilabel:`Operation`: name of the operation.
|
||||||
|
- :guilabel:`Work Center`: select existing locations to perform the operation, or create a new work
|
||||||
|
center by typing the name and selecting the :guilabel:`Create " "` option.
|
||||||
|
- :guilabel:`Apply on Variants`: specify if this operation is only available for certain product
|
||||||
|
variants. If the operation applies to all product variants, leave this field blank.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
:doc:`Configuring BoMs for product variants <../advanced_configuration/product_variants>`
|
||||||
|
|
||||||
|
- :guilabel:`Duration Computation`: choose how time spent on the operation is tracked. Opt for
|
||||||
|
:guilabel:`Compute based on tracked time` to use the operation's time tracker or :guilabel:`Set
|
||||||
|
duration manually` if operators can record and modify time themselves.
|
||||||
|
|
||||||
|
Choosing the :guilabel:`Compute based on tracked time` option enables the :guilabel:`Based on last
|
||||||
|
__ work orders` option, which automatically estimates the time to complete this operation based on
|
||||||
|
the last few operations. Choosing :guilabel:`Set duration manually` enables the :guilabel:`Default
|
||||||
|
Duration` field instead.
|
||||||
|
- :guilabel:`Default Duration`: estimated amount of time to complete the operation; used for
|
||||||
|
`planning manufacturing orders <https://www.youtube.com/watch?v=TK55jIq00pc>`_ and determining
|
||||||
|
`work center availability <https://www.youtube.com/watch?v=3YwFlD97Bio>`_.
|
||||||
|
- :guilabel:`Company`: specify the company the |BOM| is available in.
|
||||||
|
|
||||||
|
Include operation details in the :guilabel:`Work Sheet` tab. Choose :guilabel:`PDF` to attach a file
|
||||||
|
or :guilabel:`Google Slide` with *public* access to share a link. Select :guilabel:`Text` to type
|
||||||
|
instructions in the :guilabel:`Description` text field.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
Type `/` for a list of formatting options and features, including ChatGPT.
|
||||||
|
|
||||||
|
.. image:: bill_configuration/description.png
|
||||||
|
:align: center
|
||||||
|
:alt: Show ChatGPT feature to generate instructions for a work order.
|
||||||
|
|
||||||
|
.. image:: bill_configuration/create-operations.png
|
||||||
|
:align: center
|
||||||
|
:alt: Fill out the Create Operations pop-up window.
|
||||||
|
|
||||||
|
Finally, click :guilabel:`Save \& Close` to close the pop-up window. To add more operations, click
|
||||||
|
:guilabel:`Save & New` and repeat the same steps above to configure another operation.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
A :abbr:`BoM (Bill of Materials)` can also be created directly from the product form, in which
|
Each operation is unique, as it is always exclusively linked to one |BOM|.
|
||||||
case the :guilabel:`Product` field is pre-filled.
|
|
||||||
|
|
||||||
For a standard :abbr:`BoM (Bill of Materials)`, set the :guilabel:`BoM Type` to
|
.. tip::
|
||||||
:guilabel:`Manufacture this Product`. Then, click :guilabel:`Add a Line` to specify the various
|
After creating an operation, click the :guilabel:`Copy Existing Operations` button to choose an
|
||||||
components that make up the production of the final product and their respective quantities. New
|
operation to duplicate.
|
||||||
components can be created quickly through the :abbr:`BoM (Bill of Materials)`, or can be created
|
|
||||||
beforehand in :menuselection:`Manufacturing --> Products --> Products --> Create`. Finally, click
|
|
||||||
:guilabel:`Save` to finish creating the :abbr:`BoM (Bill of Materials)`.
|
|
||||||
|
|
||||||
.. image:: bill_configuration/bom-form.png
|
.. image:: bill_configuration/copy-existing-operations.png
|
||||||
|
:align: center
|
||||||
|
:alt: Show Operation tab, highlighting the "Copy Existing Operations" field.
|
||||||
|
|
||||||
|
Instructions
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
To add detailed instructions to operations, the *Quality* app must be installed.
|
||||||
|
|
||||||
|
Add specific instructions to an existing operation by clicking the operation's :icon:`fa-list-ul`
|
||||||
|
:guilabel:`(list)` icon in the :guilabel:`Instructions` column. The number in the
|
||||||
|
:guilabel:`Instructions` column shows the number of existing detailed instructions there are for the
|
||||||
|
operation.
|
||||||
|
|
||||||
|
.. image:: bill_configuration/add-instructions.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Set up a Bill of Materials.
|
:alt: Show the Instructions column, and list icon.
|
||||||
|
|
||||||
Specify a bill of materials (BoM) for a product variant
|
On the :guilabel:`Steps` dashboard, click :guilabel:`New` to open a blank quality control point form
|
||||||
-------------------------------------------------------
|
where the new manufacturing step can be created. Here, give the specific instruction a
|
||||||
|
:guilabel:`Title` and set the :guilabel:`Type` to :guilabel:`Instructions`. In the
|
||||||
:abbr:`BoMs (Bills of Materials)` can also be assigned to specific *Product Variants*, with two
|
:guilabel:`Instructions` tab of the form, write out the directions for the step in the operation.
|
||||||
setup options available to choose from.
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
In order to assign :abbr:`BoMs (Bills of Materials)` to product variants, the product's variant
|
Further customizations can be made here on this form, beyond ordinary instructions, to also
|
||||||
attributes must already be configured on the product form.
|
include specific types of quality control points that carry specific (or complex) conditions. For
|
||||||
|
more details about quality control points refer the :doc:`Instruction check
|
||||||
|
<../../quality/quality_check_types/instructions_check>` documentation.
|
||||||
|
|
||||||
The first method is to create one :abbr:`BoM (Bill of Materials)` per variant by creating a new
|
.. image:: bill_configuration/steps.png
|
||||||
:abbr:`BoM (Bill of Materials)` and specifying the :guilabel:`Product Variant`. The second method
|
|
||||||
is to create one master :abbr:`BoM (Bill of Materials)` that contains all of the components, and
|
|
||||||
specify which variant each component applies to using the :guilabel:`Apply on Variants` column.
|
|
||||||
|
|
||||||
.. image:: bill_configuration/bom-variants.png
|
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Product Variants in the Bill of Materials.
|
:alt: Show the page to add a quality check.
|
||||||
|
|
||||||
Set up operations
|
Miscellaneous
|
||||||
=================
|
-------------
|
||||||
|
|
||||||
Add an :guilabel:`Operation` to a :abbr:`BoM (Bill of Materials)` to specify instructions for
|
The :guilabel:`Miscellaneous` tab contains more |BoM| configurations to customize procurement,
|
||||||
production and register time spent on an operation. To use this feature, first enable the
|
calculate costs, and define how components are consumed.
|
||||||
:guilabel:`Work Orders` feature in :menuselection:`Manufacturing --> Configuration --> Settings -->
|
|
||||||
Operations`.
|
|
||||||
|
|
||||||
Then, when creating a new :abbr:`BoM (Bill of Materials)`, click on the :guilabel:`Operations` tab
|
.. _manufacturing/basic_setup/manufacturing-readiness:
|
||||||
and click :guilabel:`Add a line` to add a new operation. In the :guilabel:`Create Operations` box,
|
|
||||||
give the operation a name, specify the :guilabel:`Work Center` and duration settings. Like
|
|
||||||
components, Odoo gives the option to specify a product variant in the :guilabel:`Apply on Variants`
|
|
||||||
field so the operation only applies to that variant. Finally, click :guilabel:`Save & Close`.
|
|
||||||
|
|
||||||
.. note::
|
- :guilabel:`Manufacturing Readiness`: choosing :guilabel:`When components for the 1st operation are
|
||||||
Each operation is unique, as it is always exclusively linked to one :abbr:`BoM (Bill of
|
available` shows the :guilabel:`Component Status` as a **green** :guilabel:`Not Available`, when
|
||||||
Materials)`. Operations can be reused when configuring a new :abbr:`BoM (Bill of Materials)`,
|
only the components that are consumed in the first operation are in stock. This indicates that
|
||||||
with the :guilabel:`Copy Existing Operations` feature.
|
although not all components are available, operators can at least begin with the first operation.
|
||||||
|
Choosing :guilabel:`When all components are available` displays a **red** :guilabel:`Not
|
||||||
|
Available` component status unless all components are in available.
|
||||||
|
|
||||||
.. image:: bill_configuration/copy-existing-operations.png
|
.. tip::
|
||||||
|
Specify which operation consumes each component on the |BoM| in the :ref:`Manual Consumption
|
||||||
|
field <manufacturing/basic_setup/consumed-in-operation>`.
|
||||||
|
|
||||||
|
.. image:: bill_configuration/component-status.png
|
||||||
|
:align: center
|
||||||
|
:alt: Show the *Component Status* field on the manufacturing order dashboard.
|
||||||
|
|
||||||
|
- :guilabel:`Version`: displays the current |BoM| version, visible with the Odoo *PLM* app installed
|
||||||
|
for managing |BoM| changes.
|
||||||
|
- :guilabel:`Flexible Consumption`: specifies if components used can deviate from the quantity
|
||||||
|
defined on the |BoM|. Choose :guilabel:`Blocked` if operators **must** adhere strictly to the
|
||||||
|
|BoM| quantity. Otherwise, choose :guilabel:`Allowed` or :guilabel:`Allowed with Warning`.
|
||||||
|
- :guilabel:`Routing`: select the preferred warehouse's manufacturing operation type for products
|
||||||
|
produced in multiple warehouses. If left blank, this warehouse's `Manufacturing` operation type is
|
||||||
|
used by default.
|
||||||
|
- :guilabel:`Analytic Distribution`: select pre-created :doc:`analytic distribution models
|
||||||
|
<../../../finance/accounting/reporting/analytic_accounting>` from the list to automatically record
|
||||||
|
the cost of manufacturing products in the chosen journal.
|
||||||
|
- :guilabel:`Manuf Lead Time`: define the number of days needed to complete a |MO| from the date of
|
||||||
|
confirmation.
|
||||||
|
- :guilabel:`Days to prepare Manufacturing Order`: number of days needed to replenish components, or
|
||||||
|
manufacture sub-assemblies of the product.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- :doc:`Analytic distribution <../../../finance/accounting/reporting/analytic_accounting>`
|
||||||
|
- :doc:`Lead times
|
||||||
|
<../../inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates>`
|
||||||
|
|
||||||
|
.. image:: bill_configuration/misc-tab.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Copy Existing Operations feature.
|
:alt: Show the *Miscellaneous* tab of the BoM.
|
||||||
|
|
||||||
Add by-products to a bill of materials (BoM)
|
Add by-products to BoMs
|
||||||
============================================
|
=======================
|
||||||
|
|
||||||
A *By-Product* is a residual product that is created during production in addition to the main
|
A *by-product* is a residual product that is created during production in addition to the main
|
||||||
product of a :abbr:`BoM (Bill of Materials)`. Unlike the primary product, there can be more than
|
product of a |BOM|. Unlike the primary product, there can be more than one by-product on a |BOM|.
|
||||||
one by-product on a :abbr:`BoM (Bill of Materials)`.
|
|
||||||
|
|
||||||
To add by-products to a :abbr:`BoM (Bill of Materials)`, first enable the :guilabel:`By-Products`
|
To add by-products to a |BOM|, first enable the *By-Products* feature in
|
||||||
feature in :menuselection:`Manufacturing --> Configuration --> Settings --> Operations`.
|
:menuselection:`Manufacturing app --> Configuration --> Settings`. In the :guilabel:`Operations`
|
||||||
|
section, tick the checkbox for :guilabel:`By-Products` to enable the feature.
|
||||||
|
|
||||||
Once the feature is enabled, you can add by-products to a :abbr:`BoM (Bill of Materials)` by
|
.. image:: bill_configuration/by-products.png
|
||||||
clicking on the :guilabel:`Operations` tab and clicking :guilabel:`Add a line`. Then, name the
|
:align: center
|
||||||
by-product and indicate the :guilabel:`Quantity` and the :guilabel:`Unit of Measure`. If the
|
:alt: "By Products" feature in the settings page.
|
||||||
:abbr:`BoM (Bill of Materials)` has configured operations, specify exactly which operation the
|
|
||||||
by-product is produced from in the :guilabel:`Produced in Operation` field. Finally, click
|
Once the feature is enabled, add by-products to a |BOM| by clicking the :guilabel:`By-products` tab.
|
||||||
:guilabel:`Save`.
|
Click :guilabel:`Add a line`, and fill in the :guilabel:`By-product`, :guilabel:`Quantity`, and
|
||||||
|
:guilabel:`Unit of Measure`. Optionally, specify a :guilabel:`Produced in Operation` for the
|
||||||
|
by-product.
|
||||||
|
|
||||||
|
.. example::
|
||||||
|
The by-product, `Mush`, is created in the `Grind grapes` operation when producing `Red Wine`.
|
||||||
|
|
||||||
|
.. image:: bill_configuration/add-by-product.png
|
||||||
|
:align: center
|
||||||
|
:alt: Show sample by-product in the BoM.
|
||||||
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 20 KiB |
@ -70,5 +70,4 @@ to finish adding operations, or :guilabel:`Save & New` to add more.
|
|||||||
The section above provides instructions for creating a basic |BOM| that allows a product to be
|
The section above provides instructions for creating a basic |BOM| that allows a product to be
|
||||||
manufactured in Odoo. However, it is by no means an exhaustive summary of all the options
|
manufactured in Odoo. However, it is by no means an exhaustive summary of all the options
|
||||||
available when configuring a |BOM|. For more information about bills of materials, see the
|
available when configuring a |BOM|. For more information about bills of materials, see the
|
||||||
documentation on how to :ref:`create a bill of materials
|
documentation on how to :doc:`create a bill of materials <bill_configuration>`.
|
||||||
<manufacturing/management/bill-configuration>`.
|
|
||||||
|
@ -10,7 +10,7 @@ Engineering change orders
|
|||||||
.. _plm/eco:
|
.. _plm/eco:
|
||||||
|
|
||||||
Utilize *engineering change orders* (*ECOs*) to track, implement, and revert change versions made to
|
Utilize *engineering change orders* (*ECOs*) to track, implement, and revert change versions made to
|
||||||
products, and :ref:`bills of materials <manufacturing/management/bill-configuration>`.
|
products, and :doc:`bills of materials <../../manufacturing/basic_setup/bill_configuration>`.
|
||||||
|
|
||||||
Engineering change orders can be created:
|
Engineering change orders can be created:
|
||||||
|
|
||||||
|