[IMP] inventory: add visibility days section

closes odoo/documentation#7793

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
This commit is contained in:
Felicious 2024-02-20 17:44:22 -08:00 committed by Zachary Straub (ZST)
parent 7e6a975140
commit 187d41bc02
12 changed files with 176 additions and 28 deletions

View File

@ -13,16 +13,20 @@ product uses the *Buy* route, then a Request for Quotation (RFQ) is created when
is triggered. If a product uses the *Manufacture* route, then a Manufacturing Order (MO) is created
instead. This is the case regardless of the selected replenishment route.
.. seealso::
- `Odoo Tutorials: Automatic Reordering Rules <https://www.youtube.com/watch?v=XEJZrCjoXaU>`_
- `Odoo Tutorials: Manual Reordering Rules <https://www.youtube.com/watch?v=deIREJ1FFj4>`_
Configure products for reordering rules
=======================================
In order to use reordering rules for a product, it must first be correctly configured. Begin by
navigating to :guilabel:`Inventory --> Products --> Products`, then select an existing product, or
create a new one by clicking :guilabel:`Create`.
navigating to :menuselection:`Inventory app --> Products --> Products`, then select an existing
product, or create a new one by clicking :guilabel:`New`.
First, on the :guilabel:`General Information` tab, make sure that the :guilabel:`Product Type` is
set to :guilabel:`Storable Product`. This is necessary because Odoo only tracks stock quantities for
storable products, and this number is used to trigger reordering rules.
On the product form, under the :guilabel:`General Information` tab, make sure the :guilabel:`Product
Type` is set to :guilabel:`Storable Product`. This is necessary because Odoo only tracks stock
quantities for storable products, and this number is used to trigger reordering rules.
.. image:: reordering_rules/product-type.png
:align: center
@ -50,7 +54,7 @@ manufacturing orders for products with a :abbr:`BoM (Bill of Materials)`.
If a :abbr:`BoM (Bill of Materials)` does not already exist for the product, select the
:guilabel:`Bill of Materials` smart button at the top of the product form, then click
:guilabel:`Create` to configure a new :abbr:`BoM (Bill of Materials)`.
:guilabel:`New` to configure a new :abbr:`BoM (Bill of Materials)`.
.. image:: reordering_rules/bom-smart-button.png
:align: center
@ -59,8 +63,8 @@ If a :abbr:`BoM (Bill of Materials)` does not already exist for the product, sel
Create new reordering rules
===========================
To create a new reordering rule, navigate to :menuselection:`Inventory --> Configuration -->
Reordering Rules`, then click :guilabel:`Create`, and fill out the new line as follows:
To create a new reordering rule, navigate to :menuselection:`Inventory app --> Configuration -->
Reordering Rules`, then click :guilabel:`New`, and fill out the new line as follows:
- :guilabel:`Product`: The product that is replenished by the rule.
- :guilabel:`Location`: The location where the product is stored.
@ -79,43 +83,187 @@ Reordering Rules`, then click :guilabel:`Create`, and fill out the new line as f
.. tip::
Reordering rules can also be created from each product form. To do so, navigate to
:menuselection:`Inventory --> Products --> Products`, then select a product. Click on
:menuselection:`Reordering Rules --> Create`, then fill out the new line as detailed above.
:menuselection:`Inventory app --> Products --> Products`, and select a product. Then, click the
:guilabel:`Reordering Rules` smart button, and click :guilabel:`New` to fill out the new line, as
detailed above.
Once a reordering rule has been created for a product, if its forecasted quantity is below the
rule's minimum quantity when the scheduler runs, a replenishment order for the product is
automatically generated. By default, the scheduler runs once each day.
For advanced usage of reordering rules, learn about the following reordering rule fields:
- :ref:`Trigger <inventory/product_management/trigger>`
- :ref:`Visibility days <inventory/product_management/visibility-days>`
- :ref:`Route <inventory/product_management/route>`
.. _inventory/product_management/trigger:
Trigger
=======
When stock falls below the reordering rule's minimum, set the reordering rule's *trigger* to
*automatic* to automatically create purchase or manufacturing orders to replenish stock.
Alternatively, setting the reordering rule's trigger to *manual* displays the product and forecasted
stock on the *replenishment dashboard*, where the procurement manager can review the stock levels,
lead times, and forecasted dates of arrival.
.. seealso::
:doc:`strategies`
.. tip::
To manually trigger a reordering rule before the scheduler runs, select :menuselection:`Inventory
--> Operations --> Run Scheduler`. Then, select the green :guilabel:`Run Scheduler` button on the
pop-up that appears. Be aware that this also triggers any other scheduled actions.
The replenishment dashboard is accessible by going to :menuselection:`Inventory app -->
Operations --> Replenishment`.
To enable the :guilabel:`Trigger` field, go to :menuselection:`Inventory app --> Configuration -->
Reordering Rules`. Then, click the :guilabel:`(slider)` icon, located to the far-right of the column
titles, and enable the :guilabel:`Trigger` option from the additional options drop-down menu that
appears.
.. image:: reordering_rules/enable-trigger.png
:align: center
:alt: Enable the Trigger field by toggling it in the additional options menu
In the :guilabel:`Trigger` column, select :guilabel:`Auto` or :guilabel:`Manual`. Refer to the
sections below to learn about the different types of reordering rules.
Auto
----
Automatic reordering rules, configured by setting the reordering rule's :guilabel:`Trigger` field to
:guilabel:`Auto`, generates purchase or manufacturing orders when:
#. the scheduler runs, and the *On Hand* quantity is below the minimum
#. a sales order is confirmed, and lowers the *Forecasted* quantity of the product below the
minimum
.. tip::
The scheduler is set to run once a day, by default.
To manually trigger a reordering rule before the scheduler runs, ensure :ref:`developer mode
<developer-mode>` is enabled, and select :menuselection:`Inventory app --> Operations --> Run
Scheduler`. Then, click the purple :guilabel:`Run Scheduler` button on the pop-up window that
appears.
Be aware that this also triggers any other scheduled actions.
.. example::
The product, `Office Lamp`, has an automatic reordering rule set to trigger when the forecasted
quantity falls below the :guilabel:`Min Quantity` of `5.00`. Since the current
:guilabel:`Forecast` is `55.00`, the reordering rule is **not** triggered.
.. image:: reordering_rules/auto.png
:align: center
:alt: Show automatic reordering rule from the Reordering Rule page.
If the :guilabel:`Buy` route is selected, then an :abbr:`RFQ (Request for Quotation)` is generated.
To view and manage :abbr:`RFQs (Requests for Quotation)`, navigate to :menuselection:`Purchase -->
Orders --> Requests for Quotation`.
To view and manage :abbr:`RFQs (Requests for Quotation)`, navigate to :menuselection:`Purchase app
--> Orders --> Requests for Quotation`.
If the :guilabel:`Manufacture` route is selected, then an :abbr:`MO (Manufacturing Order)` is
generated. To view and manage :abbr:`MOs (Manufacturing Orders)`, navigate to
:menuselection:`Manufacturing --> Operations --> Manufacturing Orders`.
:menuselection:`Manufacturing app --> Operations --> Manufacturing Orders`.
Set a preferred route for reordering
====================================
When no route is selected, Odoo selects the :guilabel:`Route` specified in the :guilabel:`Inventory`
tab of the product form.
.. _inventory/product_management/manual-rr:
Manual
------
Manual reordering rules, configured by setting the reordering rule's :guilabel:`Trigger` field to
:guilabel:`Manual`, lists a product on the replenishment dashboard when the forecasted quantity
falls below a specified minimum. Products on this dashboard are called *needs*, because they are
needed to fulfill upcoming sales orders, but the forecasted quantity is not enough.
The replenishment dashboard, accessible by navigating to :menuselection:`Inventory app -->
Operations --> Replenishment`, considers sales order deadlines, forecasted stock levels, and vendor
lead times. It displays needs **only** when it is time to reorder items.
.. note::
If the one-day window for ordering products is too short, skip to the :ref:`visibility days
<inventory/product_management/visibility-days>` section to make the need appear on the
replenishment dashboard a specified number of days in advance.
When a product appears on the replenishment dashboard, clicking the :guilabel:`Order Once` button
generates the purchase or manufacturing order with the specified amounts :guilabel:`To Order`.
.. image:: reordering_rules/manual.png
:align: center
:alt: Click the Order Once button on the replenishment dashboard to replenish stock.
.. _inventory/product_management/visibility-days:
Visibility days
===============
.. important::
Ensure :doc:`lead times <../../shipping_receiving/advanced_operations_shipping/scheduled_dates>`
are understood before proceeding with this section.
When :ref:`manual reordering rules <inventory/product_management/manual-rr>` are assigned to a
product, *visibility days* make the product appear on the replenishment dashboard
(:menuselection:`Inventory app --> Operations --> Replenishment`) a certain number of days in
advance.
.. example::
A product has a manual reordering rule set to trigger when the stock level falls below four
units. The current on-hand quantity is ten units.
The current date is February 20th, and the *delivery date* on a sales order (in the
:guilabel:`Other Info` tab) is March 3rd — twelve days from the current date.
The :ref:`vendor lead time <inventory/management/purchase-lt>` is four days, and the
:ref:`purchase security lead time <inventory/management/purchase-security-lt>` is one day.
When the :guilabel:`Visibility Days` field of the reordering rule is set to zero, the product
appears on the replenishment dashboard five days before the delivery date, which, in this case,
is February 27th.
.. image:: reordering_rules/need-dates.png
:align: center
:alt: Graphic representing when the need appears on the replenishment dashboard: Feb 27th.
To see the product on the replenishment dashboard for the current date, February 20, set
the :guilabel:`Visibility Days` to `7.00`.
To determine the amount of visibility days needed to see a product on the replenishment dashboard,
subtract *today's date* from the *date the need appears* on the replenishment dashboard.
.. math::
Visibility~days = Need~appears~date - Today's~date
.. example::
Referring to the example above, today's date is February 20th, and the need for the product
appears on February 27th.
(February 27 - February 20 = 7 days)
Incorrectly setting the :guilabel:`Visibility Days` fewer than seven days in this case results in
the need **not** appearing on the replenishment dashboard.
.. image:: reordering_rules/visibility-days.png
:align: center
:alt: Show the replenishment dashboard with the correct and incorrect visibility days set.
.. _inventory/product_management/route:
Route
=====
Odoo allows for multiple routes to be selected under the :guilabel:`Inventory` tab on each product
form. For instance, it is possible to select both :guilabel:`Buy` and :guilabel:`Manufacture`, thus
enabling the functionality of both routes.
Odoo also enables users to set a preferred route for a product's reordering rule. This is the route
that the rule defaults to if multiple are selected. To select a preferred route, begin by navigating
to :menuselection:`Inventory --> Configuration --> Reordering Rules`.
that the rule defaults to, if multiple are selected. To select a preferred route, begin by
navigating to :menuselection:`Inventory app --> Configuration --> Reordering Rules`.
By default, the :guilabel:`Preferred Route` column is hidden on the :guilabel:`Reordering Rules`
page. Enable it by selecting the :guilabel:`⋮ (three-dot)` option button on the right side of the
page and checking the :guilabel:`Preferred Route` checkbox. Doing so reveals the
:guilabel:`Preferred Route` column.
By default, the :guilabel:`Route` column is hidden on the :guilabel:`Reordering Rules` page.
Click inside of the column on the row of a reordering rule and a drop-down menu shows all available
Reveal the :guilabel:`Route` column by selecting the :guilabel:`(slider)` icon to the far-right of
the column titles, and checking the :guilabel:`Route` option from the drop-down menu that appears.
Click inside of the column on the row of a reordering rule, and a drop-down menu shows all available
routes for that rule. Select one to set it as the preferred route.
.. image:: reordering_rules/select-preferred-route.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 20 KiB