[IMP] MRP: kit product types

closes odoo/documentation#12177

Signed-off-by: Justin Mallette (juma) <juma@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
This commit is contained in:
Justin Mallette
2025-02-25 08:11:04 -08:00
parent 0a77ce199b
commit 336dd6e4ed
4 changed files with 66 additions and 70 deletions

View File

@@ -1,9 +1,9 @@
========
Use kits
========
====
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
sets of unassembled components sold to customers. They may be sold as standalone products, and are
also useful tools for managing more complex bills of materials (BoMs).
.. note::
@@ -13,48 +13,79 @@ also useful tools for managing more complex bills of materials (BoMs).
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 use a kit as a sellable product, or 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`.
To create a kit product, go to :menuselection:`Inventory app --> Products --> Products`, and then
click :guilabel:`New`.
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.
Then, assign a name to the new kit product. Next, set the kit's product type depending on inventory
tracking needs and accounting requirements. To do this, under the :guilabel:`General Information`
tab, set the :guilabel:`Product Type` to either :guilabel:`Consumable` or :guilabel:`Storable`.
The kit's components must also be configured as products via :menuselection:`Inventory app -->
Products --> Products`. These components require no specific configuration.
Consumable kit setup details
----------------------------
Consumable products do not have inventory tracking. Consider setting the kit as a consumable product
when the kit is used in other manufacturing processes or when tracking inventory for the kit itself
is not needed.
* **Recommended for Continental Accounting**: If costs are expensed immediately upon purchase, then
setting the kit's type to *consumable* is recommended.
* **Replenishment via Components**: Inventory count is managed at the component level, so reordering
rules must be set to individual components.
* **Selling & Stock Constraints**: Kits cannot be sold if any required component is out of stock.
Since availability depends on individual components, a sales order may appear valid, but delivery
can be delayed if components are unavailable.
Storable kit setup details
--------------------------
Storable products have detailed tracking and inventory management since they are expected to be
*stored* once they are created. Consider setting the kit as a storable product when the kit is a
tangible product or warehouse and inventory tracking is essential.
* **Recommended for Angle-Saxon Accounting**: If the Cost of Goods Sold (COGS) needs to be recorded
in journals, then setting the kit's type to *storable* is recommended.
* **Component Purchase Constraints**: Only the kit's minimum required components can be added to an
**eCommerce** cart unless the option to :doc:`continue
selling<../../../websites/ecommerce/managing_products/products>` is disabled.
* **No Kit Serial Numbers**: Serial number tracking does not track the kit, only its shipped
components.
* **Reordering Rule Recommendation**: Reordering rules should be set at the component-level.
* **Stock Replenishment Recommendation**: Stock replenishment should also be done at the
component-level.
Kit setup similarities
----------------------
Regardless of which setup is used, there are some similarities between the two options.
* **No Kit-Level Stock Adjustments**: Stock adjustments cannot be handled at the kit-level.
* **Kit Value Does Not Change**: The stock's value is the same whether the kit is consumable or
storable.
* **Kit Internal Transfers**: An internal transfer for the kit breaks it into components.
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.
To do so, go to :menuselection:`Manufacturing app --> Products --> Bills of Materials`, and then
click :guilabel:`New`. Next to the :guilabel:`Product` field, click the drop-down menu to reveal a
list of products, and then select the previously configured kit product.
Then, for the :guilabel:`BoM Type` field, select the :guilabel:`Kit` option. Finally, under the
Then, for the :guilabel:`BoM Type` field, click 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)`.
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
@@ -67,47 +98,12 @@ the :guilabel:`Components` tab, and configuring manufacturing operations is not
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.
Kits can also be used for complex :abbr:`BoMs (Bills of Materials)`. This method nests BoMs within
other BoMs, organizing complex products while simplifying manufacturing by defining each procurement
and production step separately.
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`.
Sublevel BoMs (subassemblies or semi-finished products) streamline these workflows, helping with
traceability efforts.
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.
.. seealso::
:doc:`sub_assemblies`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 27 KiB