diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst index 4e1b68d81..606b3c2a0 100644 --- a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst +++ b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst @@ -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 `_ + - `Odoo Tutorials: Manual Reordering Rules `_ + 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 ` +- :ref:`Visibility days ` +- :ref:`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 + ` 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 + ` 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 ` 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 ` is four days, and the + :ref:`purchase security lead time ` 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 diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/auto.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/auto.png new file mode 100644 index 000000000..afc1cfc94 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/auto.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/bom-smart-button.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/bom-smart-button.png index 07de78f4d..c501b1944 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/bom-smart-button.png and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/bom-smart-button.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/enable-trigger.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/enable-trigger.png new file mode 100644 index 000000000..92603fdf7 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/enable-trigger.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/manual.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/manual.png new file mode 100644 index 000000000..7d0c80f18 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/manual.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/need-dates.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/need-dates.png new file mode 100644 index 000000000..e711a14df Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/need-dates.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/product-type.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/product-type.png index ee5a94342..620d892b3 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/product-type.png and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/product-type.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/reordering-rule-form.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/reordering-rule-form.png index 1d33e9aac..c66eb60f5 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/reordering-rule-form.png and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/reordering-rule-form.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-preferred-route.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-preferred-route.png index 466a383bd..fc045aff3 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-preferred-route.png and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-preferred-route.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-routes.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-routes.png index 0f593cb47..bd384471c 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-routes.png and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/select-routes.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/specify-vendor.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/specify-vendor.png index 49f63c080..0724f6810 100644 Binary files a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/specify-vendor.png and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/specify-vendor.png differ diff --git a/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/visibility-days.png b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/visibility-days.png new file mode 100644 index 000000000..c96ee2f04 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules/visibility-days.png differ