[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
|
||||
|
||||
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
|
||||
Dependencies` checkbox. This makes a new :guilabel:`Blocked By` option available in the settings of
|
||||
|
@ -2,98 +2,258 @@
|
||||
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
|
||||
required to make or deliver a finished product. It can also include various operations and the
|
||||
individual step guidelines needed to complete a production process.
|
||||
A *bill of materials* (or *BoM* for short) documents specific components, along with their
|
||||
respective quantities, that are needed to produce or repair a product. In Odoo, |BoMs| as blueprints
|
||||
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
|
||||
even product variants can have their own tailored :abbr:`BoMs (Bills of Materials)`.
|
||||
BoM setup
|
||||
=========
|
||||
|
||||
Correctly setting up a :abbr:`BoM (Bill of Materials)` helps optimize the manufacturing process and
|
||||
save time.
|
||||
To create a |BOM|, go to :menuselection:`Manufacturing app --> Products --> Bills of Materials` and
|
||||
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
|
||||
components. In this case, the production is solely managed using *Manufacturing Orders*.
|
||||
Then, specify :ref:`required components <manufacturing/basic_setup/setup-components>` and, if
|
||||
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
|
||||
:menuselection:`Products --> Bills of Materials`. Then, click :guilabel:`Create`. Next, specify the
|
||||
:guilabel:`Product`.
|
||||
.. tip::
|
||||
Individual |BOMs| can also be quickly accessed or created by clicking the :guilabel:`Bill of
|
||||
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::
|
||||
A :abbr:`BoM (Bill of Materials)` can also be created directly from the product form, in which
|
||||
case the :guilabel:`Product` field is pre-filled.
|
||||
Each operation is unique, as it is always exclusively linked to one |BOM|.
|
||||
|
||||
For a standard :abbr:`BoM (Bill of Materials)`, set the :guilabel:`BoM Type` to
|
||||
:guilabel:`Manufacture this Product`. Then, click :guilabel:`Add a Line` to specify the various
|
||||
components that make up the production of the final product and their respective quantities. New
|
||||
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)`.
|
||||
.. tip::
|
||||
After creating an operation, click the :guilabel:`Copy Existing Operations` button to choose an
|
||||
operation to duplicate.
|
||||
|
||||
.. 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
|
||||
: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
|
||||
-------------------------------------------------------
|
||||
|
||||
:abbr:`BoMs (Bills of Materials)` can also be assigned to specific *Product Variants*, with two
|
||||
setup options available to choose from.
|
||||
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
|
||||
:guilabel:`Instructions` tab of the form, write out the directions for the step in the operation.
|
||||
|
||||
.. note::
|
||||
In order to assign :abbr:`BoMs (Bills of Materials)` to product variants, the product's variant
|
||||
attributes must already be configured on the product form.
|
||||
Further customizations can be made here on this form, beyond ordinary instructions, to also
|
||||
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
|
||||
: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
|
||||
.. image:: bill_configuration/steps.png
|
||||
: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
|
||||
production and register time spent on an operation. To use this feature, first enable the
|
||||
:guilabel:`Work Orders` feature in :menuselection:`Manufacturing --> Configuration --> Settings -->
|
||||
Operations`.
|
||||
The :guilabel:`Miscellaneous` tab contains more |BoM| configurations to customize procurement,
|
||||
calculate costs, and define how components are consumed.
|
||||
|
||||
Then, when creating a new :abbr:`BoM (Bill of Materials)`, click on the :guilabel:`Operations` tab
|
||||
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`.
|
||||
.. _manufacturing/basic_setup/manufacturing-readiness:
|
||||
|
||||
.. note::
|
||||
Each operation is unique, as it is always exclusively linked to one :abbr:`BoM (Bill of
|
||||
Materials)`. Operations can be reused when configuring a new :abbr:`BoM (Bill of Materials)`,
|
||||
with the :guilabel:`Copy Existing Operations` feature.
|
||||
- :guilabel:`Manufacturing Readiness`: choosing :guilabel:`When components for the 1st operation are
|
||||
available` shows the :guilabel:`Component Status` as a **green** :guilabel:`Not Available`, when
|
||||
only the components that are consumed in the first operation are in stock. This indicates that
|
||||
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
|
||||
: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
|
||||
product of a :abbr:`BoM (Bill of Materials)`. Unlike the primary product, there can be more than
|
||||
one by-product on a :abbr:`BoM (Bill of Materials)`.
|
||||
A *by-product* is a residual product that is created during production in addition to the main
|
||||
product of a |BOM|. Unlike the primary product, there can be more than one by-product on a |BOM|.
|
||||
|
||||
To add by-products to a :abbr:`BoM (Bill of Materials)`, first enable the :guilabel:`By-Products`
|
||||
feature in :menuselection:`Manufacturing --> Configuration --> Settings --> Operations`.
|
||||
To add by-products to a |BOM|, first enable the *By-Products* feature in
|
||||
: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
|
||||
clicking on the :guilabel:`Operations` tab and clicking :guilabel:`Add a line`. Then, name the
|
||||
by-product and indicate the :guilabel:`Quantity` and the :guilabel:`Unit of Measure`. If the
|
||||
: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
|
||||
:guilabel:`Save`.
|
||||
.. image:: bill_configuration/by-products.png
|
||||
:align: center
|
||||
:alt: "By Products" feature in the settings page.
|
||||
|
||||
Once the feature is enabled, add by-products to a |BOM| by clicking the :guilabel:`By-products` tab.
|
||||
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
|
||||
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
|
||||
documentation on how to :ref:`create a bill of materials
|
||||
<manufacturing/management/bill-configuration>`.
|
||||
documentation on how to :doc:`create a bill of materials <bill_configuration>`.
|
||||
|
@ -10,7 +10,7 @@ Engineering change orders
|
||||
.. _plm/eco:
|
||||
|
||||
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:
|
||||
|
||||
|