[MOV] Manufacturing: Restructure scope

closes odoo/documentation#8451

X-original-commit: ee735a813f
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
This commit is contained in:
John Holton (hojo)
2024-03-26 12:45:15 -07:00
parent bfa63dfaa6
commit 9fe2611608
109 changed files with 72 additions and 35 deletions
@@ -0,0 +1,113 @@
========
Use kits
========
In Odoo, a *kit* is a type of bill of materials (BoM) that can be manufactured and sold. Kits are
sets of unassembled components sold to customers. They may be sold as standalone products, but are
also useful tools for managing more complex bills of materials (BoMs).
.. note::
To use, manufacture, and sell kits, both the :guilabel:`Manufacturing` and :guilabel:`Inventory`
apps need to be installed.
Create the kit as a product
===========================
To use a kit as a sellable product, or simply as a component organization tool, the kit should first
be created as a product.
To create a kit product, go to :menuselection:`Inventory app --> Products --> Products`, and click
:guilabel:`Create`.
Then, assign a name to the new kit product. Next, under the :guilabel:`General Information` tab, set
the :guilabel:`Product Type` to :guilabel:`Consumable`. Kit products work best as consumables,
because the stock on-hand for kits is typically not tracked.
.. note::
Although kits should almost always be set to :guilabel:`Consumable`, companies using
**Anglo-Saxon** accounting might need to create kits as a :guilabel:`Storable Product`. This is
because when processing invoices for kits, the Cost of Goods Sold (COGS) will be posted in
accounting journals.
Unlike storable products, the :guilabel:`Routes` designation under the :guilabel:`Inventory` tab
does not matter for kits, since Odoo uses the routes of the kit's individual components for
replenishment purposes. All other parameters for the kit product may be modified according to
preference. Once ready, click :guilabel:`Save` to save the new product.
The kit's components must also be configured as products via :menuselection:`Inventory app -->
Products --> Products`. These components require no specific configuration.
Set up the kit BoM
==================
After fully configuring the kit product and its components, a new :abbr:`BoM (bill of materials)`
can be created for the kit product.
To do so, go to :menuselection:`Manufacturing app --> Products --> Bills of Materials`, and click
:guilabel:`Create`. Next to the :guilabel:`Product` field, click the drop-down menu to reveal a list
of products, and select the previously configured kit product.
Then, for the :guilabel:`BoM Type` field, select the :guilabel:`Kit` option. Finally, under the
:guilabel:`Components` tab, click :guilabel:`Add a line`, and add each desired component, and
specify their quantities under the :guilabel:`Quantity` column.
Once ready, click :guilabel:`Save` to save the newly-created :abbr:`BoM (bill of materials)`.
.. image:: kit_shipping/bom-kit-selection.png
:align: center
:alt: Kit selection on the bill of materials.
If the kit is solely being used as a sellable product, then only components need to be added under
the :guilabel:`Components` tab, and configuring manufacturing operations is not necessary.
.. note::
When a kit is sold as a product, it appears as a single line item on the quotation and sales
order. However, on delivery orders, each component of the kit is listed.
Use kits to manage complex BoMs
===============================
Kits are also used to manage multi-level :abbr:`BoMs (bills of materials)`. These are products that
contain **other** :abbr:`BoM (bill of materials)` products as components, and therefore require
*nested* :abbr:`BoMs (bills of materials)`. Incorporating pre-configured kits into multi-level
:abbr:`BoMs (bills of materials)` allows for cleaner organization of bundled products.
To configure this type of :abbr:`BoM (bill of materials)` with a kit as a component, go to
:menuselection:`Manufacturing app --> Products --> Bills of Materials`, and click
:guilabel:`Create`.
Next to the :guilabel:`Product` field, click the drop-down menu to reveal a list of products, and
select the desired :abbr:`BoM (bill of materials)` product. Then, for the :guilabel:`BoM Type`
field, select the :guilabel:`Manufacture this product` option.
Under the :guilabel:`Components` tab, click :guilabel:`Add a line`, and select a kit as the
component. Adding the kit as a component eliminates the need to add the kit's components
individually. Any :guilabel:`BoM Type` can be used for the higher-level product's :abbr:`BoM (bill
of materials)`.
Once ready, click :guilabel:`Save` to save changes.
.. image:: kit_shipping/multilevel-bom-kit.png
:align: center
:alt: Kit as a component in a multilevel bill of materials.
Structure & cost
----------------
To access a comprehensive overview of the multi-level :abbr:`BoM's (bill of material's)` components,
click on the :guilabel:`Structure & Cost` smart button. Sublevel :abbr:`BoMs (bills of materials)`
can be expanded and viewed from this report.
.. image:: kit_shipping/structure-and-cost-kit.png
:align: center
:alt: Expanded kit in the Structure and Cost report.
When creating a manufacturing order for a product with a multi-level :abbr:`BoM (bill of
materials)`, the kit product automatically expands to show all components. Any operations in the
kit's :abbr:`BoM (bill of materials)` are also added to the list of work orders on the
manufacturing order.
.. tip::
Kits are primarily used to bundle components together for organization or sale. To manage
multi-level products that require manufactured sub-components, refer to :doc:`this documentation
<sub_assemblies>` on sub-assemblies.
Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

@@ -0,0 +1,193 @@
==================================
Managing BoMs for product variants
==================================
Odoo allows one bill of materials (BoM) to be used for multiple variants of the same product. Having
a consolidated :abbr:`BoM (bill of materials)` for a product with variants saves time by preventing
the need to manage multiple :abbr:`BoMs (bills of materials)`.
Activate product variants
=========================
To activate the product variants feature, navigate to :menuselection:`Inventory app -->
Configuration --> Settings`, and scroll down to the :guilabel:`Products` section. Then, click the
checkbox to enable the :guilabel:`Variants` option. After that, click :guilabel:`Save` to apply the
setting.
For more information on configuring product variants, refer to the :doc:`product variants
<../../../sales/sales/products_prices/products/variants>` documentation.
.. image:: product_variants/product-variants-variants-settings.png
:align: center
:alt: Selecting "Variants" from Inventory app settings.
Create custom product attributes
================================
Once the product variants feature is activated, create and edit product attributes on the
:guilabel:`Attributes` page.
The :guilabel:`Attributes` page is accessible either from :menuselection:`Inventory app -->
Configuration --> Settings` by clicking the :guilabel:`Attributes` button, or by clicking
:menuselection:`Inventory app --> Configuration --> Attributes`.
Once on the :guilabel:`Attributes` page, either click into an existing attribute, or click
:guilabel:`Create` to create a new one. Clicking :guilabel:`Create` reveals a new, blank form for
customizing an attribute. For an existing attribute, click :guilabel:`Edit` on its form to make
changes.
Assign an :guilabel:`Attribute Name`, and choose a category from the :guilabel:`Category` field's
drop-down menu. Then, select the desired options next to the :guilabel:`Display Type` and
:guilabel:`Variants Creation Mode` fields. Once the desired options are selected, click
:guilabel:`Add a line` under the :guilabel:`Attribute Values` tab to add a new value.
.. tip::
Included on the :guilabel:`Value` row is a :guilabel:`Is custom value` checkbox. If selected,
this value will be recognized as a custom value, which allows customers to type special
customization requests upon ordering a custom variant of a product.
.. example::
.. image:: product_variants/product-variants-attribute.png
:align: center
:alt: Product variant attribute configuration screen.
Once all desired :guilabel:`Values` have been added, click :guilabel:`Save` to save the new
attribute.
Add product variants on the product form
========================================
Created attributes can be applied on specific variants for particular products. To add product
variants to a product, navigate to the product form by going to :menuselection:`Inventory app -->
Products --> Products`. To make changes to the product, click :guilabel:`Edit`. Then, click the
:guilabel:`Variants` tab.
Under the :guilabel:`Attribute` header, click :guilabel:`Add a line` to add a new attribute, and
select one to add from the drop-down menu.
Then, under the :guilabel:`Values` header, click the drop-down menu to choose from the list of
existing values. Click on each desired value to add them, and repeat this process for any additional
attributes that should be added to the product.
Once finished, click :guilabel:`Save` to save changes.
.. image:: product_variants/product-variants-product-form.png
:align: center
:alt: Product form variants tab with values and attributes.
.. tip::
:abbr:`BoM (bill of materials)` products with multiple variants that are manufactured in-house
should either have a **0,0 reordering rule** set up, or have their replenishment routes set to
*Replenish on Order (MTO)*.
Apply BoM components to product variants
========================================
Next, create a new :abbr:`BoM (bill of materials)`. Or, edit an existing one, by going to
:menuselection:`Manufacturing app --> Products --> Bills of Materials`. Then, click
:guilabel:`Create` to open a new :guilabel:`Bills of Materials` form to configure from scratch.
Add a product to the :abbr:`BoM (bill of materials)` by clicking the drop-down menu in the
:guilabel:`Product` field and selecting the desired product.
Then, add components by clicking :guilabel:`Add a line` under the :guilabel:`Component` section of
the :guilabel:`Components` tab, and choosing the desired components from the drop-down menu.
Choose the desired values in the :guilabel:`Quantity` and :guilabel:`Product Unit of Measure`
columns. Then, choose the desired values in the :guilabel:`Apply on Variants` column.
.. note::
The :guilabel:`Apply on Variants` option to assign components to specific product variants on the
:abbr:`BoM (bill of materials)` is available once the :guilabel:`Variants` setting is activated
from the :menuselection:`Inventory` application. If the :guilabel:`Apply on Variants` field is
not immediately visible, activate it from the additional options menu (three-dots icon, to the
right of the header row).
.. image:: product_variants/product-variants-apply-on-variants.png
:align: center
:alt: "Apply on Variants" option on the additional options menu.
Each component can be assigned to multiple variants. Components with no variants specified are used
in every variant of the product. The same principle applies when configuring operations and
by-products.
When defining variant :abbr:`BoMs (bills of material)` by component assignment, the
:guilabel:`Product Variant` field in the main section of the :abbr:`BoM (bill of materials)` should
be left blank. This field is *only* used when creating a :abbr:`BoM (bill of materials)`
specifically for one product variant.
When all desired configurations have been made to the :abbr:`BoM (bill of materials)`, click
:guilabel:`Save` at the top of the form to save changes.
.. tip::
For components that only apply for specific variants, choose which operations the components
should be consumed in. If the :guilabel:`Consumed in Operation` column is *not* immediately
visible, activate it from the additional options menu (three-dots icon, to the right of the
header row).
Sell and manufacture variants of BoM products
=============================================
To sell and manufacture variants of :abbr:`BoM (bill of materials)` products to order, navigate to
:menuselection:`Sales app --> Create` to create a new quotation.
Sell variant of BoM product
---------------------------
Once on the blank :guilabel:`Quotation` form, click the drop-down next to the :guilabel:`Customer`
field to add a customer.
Then, under the :guilabel:`Order Lines` tab, click :guilabel:`Add a product`, and select the
previously-created :abbr:`BoM (bill of materials)` product with variants from the drop-down menu.
Doing so reveals a :guilabel:`Configure a product` pop-up.
From the pop-up window, click the desired attribute options to configure the correct variant of the
product to manufacture. Then, click the green :guilabel:`+` or :guilabel:`-` icons next to the `1`
to change the quantity to sell and manufacture, if desired.
.. image:: product_variants/product-variants-variant-popup.png
:align: center
:alt: Configure a product pop-up for choosing variant attributes.
Once all the specifications have been chosen, click :guilabel:`Add`. This will change the pop-up to
a second :guilabel:`Configure` pop-up, where available optional products will appear, if they have
been created previously.
Once ready, click :guilabel:`Confirm` to close the pop-up.
Then, click :guilabel:`Save` to save all changes, and click :guilabel:`Confirm` at the top of the
:guilabel:`Quotation` form to create and confirm a new sales order (SO).
Manufacture variant of BoM product
----------------------------------
Once the :abbr:`SO (sales order)` is confirmed, a :guilabel:`Manufacturing` smart button appears at
the top of the :abbr:`SO (sales order)` form. Click the :guilabel:`Manufacturing` smart button to
open the :guilabel:`Manufacturing Order` form.
On this form, under the :guilabel:`Components` tab, the appropriate components for the chosen
variant are listed. And, depending on the variant, different components will be listed. To see any
mandatory or optional :guilabel:`Operation` steps, click the :guilabel:`Work Orders` tab.
To enter the tablet view work order screen, click the :guilabel:`tablet icon` to the right of the
row for the desired operation to be completed.
From the tablet view, click :guilabel:`Mark as Done` as the operation progresses to complete the
operation steps.
Alternatively, click the :guilabel:`Mark as Done` button at the top of the manufacturing order form
to complete the order.
.. image:: product_variants/product-variants-manufacturing-order.png
:align: center
:alt: Manufacturing order for variant of BoM product.
Then, navigate back to the :abbr:`SO (sales order)` via the breadcrumbs at the top of the page.
Now that the product has been manufactured, click the :guilabel:`Delivery` smart button to deliver
the product to the customer. From the :guilabel:`Delivery Order` form, click :guilabel:`Validate`,
then click :guilabel:`Apply` to deliver the product.
To finish the sale, click back to the :abbr:`SO (sales order)` via the :guilabel:`breadcrumbs` at
the top of the page again. Then, click :guilabel:`Create Invoice` followed by :guilabel:`Create
Invoice` again to invoice the customer for the order.
@@ -0,0 +1,75 @@
=============================
Manage semi-finished products
=============================
A *semi-finished product*, also known as a *subassembly*, is a manufactured product that is used as
a component in another product's bill of materials (BoM). Semi-finished products are used to
simplify complex :abbr:`BoMs (Bills of Materials)` or to more accurately represent a manufacturing
flow. A :abbr:`BoM (Bill of Materials)` that contains semi-finished products is referred to as a
*multilevel BoM*, where the main *top-level product* and its subassemblies are distinguished.
Configure semi-finished products
================================
To set up a multilevel :abbr:`BoM (Bill of Materials)`, the top-level product and semi-finished
products must be configured. Therefore, the first step is to create the semi-finished products and
their :abbr:`BoMs (Bills of Materials)`.
.. seealso::
:doc:`../basic_setup/bill_configuration`
.. image:: sub_assemblies/semifinished-product-bom.png
:align: center
:alt: A bill of materials for a semi-finished product.
Create the top-level bill of materials (BoM)
============================================
After the semi-finished products are fully configured, navigate to :menuselection:`Manufacturing
--> Products --> Products`. Then, :guilabel:`Create` the top-level product. Configure the product's
specifications as desired, and be sure to :guilabel:`Save`.
Once the top-level product is configured, click the :guilabel:`Bill of Materials` smart button on
the product form, then click :guilabel:`Create` to make a :abbr:`BoM (Bill of Materials)` for the
top-level product. Then, simply add the semi-finished products to this :abbr:`BoM (Bill of
Materials)`, along with any other necessary components.
.. image:: sub_assemblies/custom-computer-bom.png
:align: center
:alt: A bill of materials for a top-level product, containing a subassembly component.
Manage production planning
==========================
There are several methods to manage manufacturing order automation for products with multilevel
:abbr:`BoMs (Bills of Materials)`.
.. note::
Semi-finished products are specifically used to manage manufacturable products with multilevel
BoMs. If a BoM is being created simply to organize components or bundle sellable products,
using :doc:`Kits <kit_shipping>` is the more appropriate option.
To automatically trigger manufacturing orders for semi-finished products after confirming a
manufacturing order for the main product, there are two options:
- **Option 1 (recommended):** Create *Reordering Rules* for the semi-finished products and set both
the minimum and maximum desired stock quantities to `0`.
.. seealso::
:doc:`../../purchase/products/reordering`
- **Option 2:** Activate the :guilabel:`Replenish on Order (MTO)` and :guilabel:`Manufacture`
routes under the :guilabel:`Inventory` tab of the semi-finished product's product form.
Option 1 is more flexible than Option 2 and is therefore recommended. Reordering rules do not
directly link demand to replenishment, and therefore allow stocks to be unreserved and redirected
to other orders, if necessary. The Replenish on Order (MTO) route creates a unique link between the
semi-finished and top-level products, exclusively reserving quantities for the confirmed top-level
manufacturing order.
Regardless of the method chosen, semi-finished products must be fully manufactured before
manufacturing can begin on the top-level product.
.. image:: sub_assemblies/semifinished-on-mo.png
:align: center
:alt: A manufacturing order for a top-level product.
@@ -0,0 +1,136 @@
=====================================
Manage work orders using work centers
=====================================
Odoo Manufacturing allows for work orders to be carried out at specific work centers. When a
manufacturing order is created for a product, any work orders listed in the :guilabel:`Operations`
tab of the product bill of materials (BoM) will be automatically created as well and assigned to the
specified work center. Work orders can be managed in the :guilabel:`Manufacturing` module by
selecting :menuselection:`Operations --> Work Orders`.
In order to use work centers, the :guilabel:`Work Orders` feature must first be enabled. To do so,
go to the :guilabel:`Manufacturing` module, select :menuselection:`Configuration --> Settings`, and
activate the checkbox next to :guilabel:`Work Orders`. Work centers can then be created and managed
by selecting :menuselection:`Configuration --> Work Centers`.
Create a work center
====================
Within the :guilabel:`Manufacturing` module, select :menuselection:`Configuration --> Work Centers
--> Create`. The work center form can then be filled out as follows:
- :guilabel:`Work Center Name`: give the work center a concise name that describes the type of
operations it will be used for
- :guilabel:`Alternative Workcenters`: specify an alternative work center for operations to be
carried out at if the main work center is not available
- :guilabel:`Code`: assign the work center a reference code
- :guilabel:`Working Hours`: define the number of hours that the work center can be in use each week
- :guilabel:`Company`: select the company that the work center belongs to
.. image:: using_work_centers/work-center-form.png
:align: center
:alt: An example of a fully configured work center form.
.. _manufacturing/management/using_work_centers/wc-setup:
Set standards for work center productivity
------------------------------------------
The :guilabel:`General Information` tab on the work center form allows for productivity goals to be
assigned to a work center:
- :guilabel:`Time Efficiency`: used to calculate the expected duration of a work order at the work
center; for example, if a work order normally takes one hour and the efficiency is set to 200%,
the work order will take 30 minutes
- :guilabel:`Capacity`: the number of operations that can be performed at the work center
simultaneously
- :guilabel:`OEE Target`: the target for efficiency at the work center
- :guilabel:`Time before prod.`: setup time required before work can commence
- :guilabel:`Time after prod.`: breakdown or cleanup time required after work is finished
- :guilabel:`Cost per hour`: the cost of operating the work center for one hour
- :guilabel:`Analytic Account`: the account where the cost of the work center should be recorded
.. image:: using_work_centers/work-center-general-information.png
:align: center
:alt: The general information tab of the work center form.
Assign equipment to a work center
---------------------------------
Using the :guilabel:`Equipment` tab, it is possible for specific pieces of equipment to be assigned
to a work center. The following information will be displayed for each piece of equipment added:
- :guilabel:`Equipment Name`: the name of the piece of equipment
- :guilabel:`Technician`: the technician responsible for servicing the equipment
- :guilabel:`Equipment Category`: the category the equipment belongs to
- :guilabel:`MTBF`: mean time between failures; the average time that the piece of equipment will
operate before failing
- :guilabel:`MTTR`: mean time to recovery; the average time it takes for the equipment to become
fully operational again
- :guilabel:`Est. Next Failure`: an estimate of when the next equipment failure will occur
.. image:: using_work_centers/work-center-equipment.png
:align: center
:alt: The equipment tab of the work center form.
.. note::
:guilabel:`MTBF`, :guilabel:`MTTR`, and :guilabel:`Est. Next Failure` are all calculated
automatically based on past failure data, if any exists.
.. _workcenter_iot:
Integrate IoT devices
---------------------
The :guilabel:`IoT Triggers` tab enables the integration of :abbr:`IoT (Internet of Things)` devices
with a work center:
- :guilabel:`Device`: specifies the IoT device to be triggered
- :guilabel:`Key`: the security key for the device
- :guilabel:`Action`: the IoT device action triggered
.. image:: using_work_centers/work-center-iot.png
:align: center
:alt: The IoT Triggers tab of the work center form.
Use case: configure an alternative work center
==============================================
When a work center is at capacity, it cannot accept any new work orders. Instead of waiting for the
work center to become available, it is possible to specify an alternative work center where surplus
work orders should be carried out.
Begin by creating a new work center. Configure the :guilabel:`Equipment` tab so that it has all of
the same equipment as the main work center. This will ensure that the same tasks can be carried out
at both work centers. Navigate to the main work center and include the new work center in the
:guilabel:`Alternative Workcenters` selection field.
Now, create a new manufacturing order that uses the main work center for one of its operations. The
main work center will automatically be selected for the operation in the :guilabel:`Work Orders`
tab. After confirming the manufacturing order, click the :guilabel:`Plan` button that appears at the
top left of the form.
.. image:: using_work_centers/manufacturing-order-plan-button.png
:align: center
:alt: Click the plan button to automatically select an available work center.
If the main work center is at capacity, the work center selected for the operation will be
automatically changed to the alternative work center.
.. image:: using_work_centers/automatic-work-center-selection.png
:align: center
:alt: The alternative work center is automatically selected.
Monitor work center performance
===============================
Performance for an individual work center can be viewed by selecting
:menuselection:`Configuration --> Work Centers`, and clicking on a work center. A variety of metrics
showing work center performance can be viewed at the top right of the form:
- :guilabel:`OEE`: overall effective efficiency, the percentage of time that the work center has
been fully productive
- :guilabel:`Lost`: the amount of time lost due to work stoppages
- :guilabel:`Load`: the amount of time it will take to complete the current workload
- :guilabel:`Performance`: the real duration of work time, shown as a percentage of the expected
duration
@@ -0,0 +1,118 @@
=======================
Work order dependencies
=======================
.. |BOM| replace:: :abbr:`BoM (Bill of Materials)`
When manufacturing certain products, specific operations may need to be completed before others can
begin. In order to ensure operations are carried out in the correct order, Odoo *Manufacturing*
features a *work order dependencies* setting. Enabling this setting allows for operations on a Bill
of Materials (BoM) to be *blocked* by other operations that should occur first.
Configuration
=============
The *work order dependencies* setting is not enabled by default. To enable it, begin by navigating
to :menuselection:`Manufacturing --> Configuration --> Settings`. Then, enable the :guilabel:`Work
Orders` setting, if it is not already active.
After enabling the :guilabel:`Work Orders` setting, the :guilabel:`Work Order Dependencies` setting
appears below it. Enable :guilabel:`Work Order Dependencies`, then click :guilabel:`Save` to confirm
the changes.
Add dependencies to BoM
=======================
Work order dependencies are configured on a product's |BOM|. To do so, navigate to
:menuselection:`Manufacturing --> Products --> Bills of Materials`, then select a |BOM|, or create a
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>`.
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
the :guilabel:`Operations` tab.
.. image:: work_order_dependencies/operation-dependencies.png
:align: center
:alt: The Operation Dependencies checkbox on the Miscellaneous tab of a BoM.
Next, click on the :guilabel:`Operations` tab. On the top-right of the tab, click on the tab's
:guilabel:`settings` button, then enable the :guilabel:`Blocked By` checkbox. This makes a
:guilabel:`Blocked By` field appear for each operation on the :guilabel:`Operations` tab.
.. image:: work_order_dependencies/operations-settings.png
:align: center
:alt: The settings for the Operations tab on a BoM.
In the line of the operation that should be blocked by another operation, click the
:guilabel:`Blocked By` field, and an :guilabel:`Open: Operations` pop-up window appears. In the
:guilabel:`Blocked By` drop-down field on the pop-up window, select the blocking operation that must
be completed *before* the operation that is blocked.
.. image:: work_order_dependencies/blocked-by.png
:align: center
:alt: The Blocked By drop-down field for an operation on a BoM.
Finally, save the |BOM| by clicking :guilabel:`Save`.
Plan work orders using dependencies
===================================
Once work order dependencies have been configured on a |BOM|, Odoo *Manufacturing* is able to plan
when work orders are scheduled, based on their dependencies. To plan the work orders for a
manufacturing order, begin by navigating to :menuselection:`Manufacturing --> Operations -->
Manufacturing Orders`.
Next, select a manufacturing order for a product with work order dependencies set on its |BOM|, or
create a new manufacturing order by clicking :guilabel:`New`. If a new manufacturing order is
created, select a |BOM| configured with work order dependencies from the :guilabel:`Bill of
Material` drop-down field, then click :guilabel:`Confirm`.
After confirming the manufacturing order, select the :guilabel:`Work Orders` tab to view the work
orders required to complete it. Any work orders that are *not* blocked by a different work order
display a `Ready` tag in the :guilabel:`Status` section.
Work orders that are blocked by one or more work orders display a `Waiting for another WO` tag
instead. Once the blocking work order(s) are completed, the tag updates to `Ready`.
.. image:: work_order_dependencies/work-order-status.png
:align: center
:alt: The status tags for work orders on a manufacturing order.
To schedule the manufacturing order's work orders, click the :guilabel:`Plan` button at the top of
the page. After doing so, the :guilabel:`Scheduled Start Date` field for each work order on the
:guilabel:`Work Orders` tab auto-fills with the scheduled start date and time. A blocked work order
is scheduled at the end of the time period specified in the :guilabel:`Expected Duration` field of
the work order that precedes it.
.. image:: work_order_dependencies/scheduled-start-date.png
:align: center
:alt: The Scheduled Start Date field for work orders on a manufacturing order.
.. example::
A manufacturing order is created for Product A. The manufacturing order has two operations: Cut
and Assemble. Each operation has an expected duration of 60 minutes, and the Assemble operation
is blocked by the Cut operation.
The :guilabel:`Plan` button for the manufacturing order is clicked at 1:30 pm, and the Cut
operation is scheduled to begin immediately. Since the Cut operation has an expected duration of
60 minutes, the Assemble operation is scheduled to begin at 2:30 pm.
Planning by workcenter
----------------------
To see a visual representation of how work orders are planned, navigate to the :guilabel:`Work
Orders Planning` page by going to :menuselection:`Manufacturing --> Planning --> Planning by
Workcenter`. This page shows a timeline of all the work orders scheduled for each operation.
If one work order is blocked by the completion of another, the work order that is blocked is shown
as scheduled to start after the work order blocking it. In addition, an arrow connects the two work
orders, leading from the blocking operation to the blocked operation.
.. image:: work_order_dependencies/planning-arrow.png
:align: center
:alt: The arrow connecting a blocked work order to the work order blocking it.