Skip to content

Commit 7dda760

Browse files
committed
[IMP] Inventory: Remove visibility days
closes #15056 Signed-off-by: Jessica Rogers (jero) <[email protected]>
1 parent 7566c27 commit 7dda760

File tree

8 files changed

+39
-87
lines changed

8 files changed

+39
-87
lines changed

content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ reducing the risk of overstocking.
4343

4444
.. note::
4545
Just-in-time logic determines the exact timing of replenishment. If you want to extend this logic
46-
to also consider near-future demand beyond the forecast date, see :ref:`Visibility Days
47-
<inventory/warehouses_storage/visibility-days>`
46+
to also consider near-future demand beyond the forecast date, see :ref:`Horizon Days
47+
<inventory/warehouses_storage/horizon-days>`
4848

4949
If the forecasted quantity falls below the minimum on the forecasted date, replenishment is
5050
triggered immediately to prevent shortages. If the quantity falls below the minimum after the

content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst

Lines changed: 32 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ To set up reordering rules for the first time, refer to:
3636
To understand and optimize replenishment using advanced features, see:
3737

3838
- :doc:`Just in time logic <just_in_time>`
39-
- :ref:`Visibility days <inventory/warehouses_storage/visibility-days>`
4039
- :ref:`Horizon days <inventory/warehouses_storage/horizon-days>`
4140

4241
.. _inventory/warehouses_storage/configure-rr:
@@ -137,7 +136,6 @@ For advanced usage, learn about the following reordering rule fields:
137136
- :ref:`Vendor <inventory/warehouses_storage/set-vendor>`
138137
- :ref:`Bill of materials <inventory/warehouses_storage/set-bom-field>`
139138
- :ref:`Procurement group <inventory/warehouses_storage/procurement-grp>`
140-
- :ref:`Visibility days <inventory/warehouses_storage/visibility-days>`
141139

142140
.. note::
143141
The fields above are not available by default, and must be enabled by selecting the |adjust| in
@@ -389,88 +387,48 @@ advanced configurations of reordering rules. Consider the following:
389387
.. seealso::
390388
:doc:`Just-in-time logic <just_in_time>`
391389

392-
.. _inventory/warehouses_storage/visibility-days:
393-
394-
Visibility days
395-
===============
396-
397-
*Visibility days* enable the ability to determine if additional quantities should be added to the
398-
planned replenishment. Odoo checks if forecasted stock on the forecasted date will drop below the
399-
minimum in the reordering rule. **Only if** it is time to reorder, visibility days check additional
400-
future demand by the specified number of days.
401-
402-
.. note::
403-
Visibility days extend the standard just-in-time replenishment logic by looking beyond the
404-
immediate forecasted date. To fully understand how Odoo determines when replenishment is
405-
triggered, refer to the :doc:`Just-in-time logic <just_in_time>`
406-
407-
This feature helps consolidate orders by grouping immediate and near-future needs, reducing
408-
transport costs and enabling supplier discounts for larger orders.
409-
410-
To set visibility days to incorporate orders for a specified number of days in the future, navigate
411-
to :menuselection:`Inventory app --> Operations --> Replenishment`, or by clicking the *Reordering
412-
Rules* smart button from the product form.
413-
414-
Next, enable the :guilabel:`Visibility Days` field by clicking the |adjust| to the far right and
415-
choosing the feature from the drop-down menu. Then, enter the desired visibility days.
416-
417-
.. important::
418-
The forecasted date is never pushed forward or extended; Odoo only checks the extra visibility
419-
days if the stock falls below the minimum threshold on the forecasted date.
420-
421-
Example where visibility days is triggered
422-
------------------------------------------
423-
424-
A product shipped from Asia has a combined vendor lead time of 30 days and a shipping cost of $100
425-
(including :doc:`landed costs <../../inventory_valuation/landed_costs>` and
426-
tariffs).
427-
428-
- November 4: Current date. The forecasted date is December 4 (30 days later).
429-
- |SO| 1: Requires the product by Dec 4. Odoo places the order today, costing $100.
430-
- |SO| 2: Requires the product by Dec 19. Normally, Odoo would order on Nov 19, costing an
431-
additional $100.
432-
- |SO| 3: Requires the product by Dec 25. Normally, Odoo would order on Nov 25, costing another
433-
$100.
434-
435-
Ordering separately for these sales orders totals $300 in shipping costs.
436-
437-
.. image:: reordering_rules/forecasted-date.png
438-
:alt: Show forecasted date visualization.
390+
Horizon days
391+
============
439392

440-
Setting :guilabel:`Visibility Days` to `20.0` allows Odoo to "look ahead" 20 days from December 4
441-
(|SO| 1's forecasted date) to December 24.
393+
*Horizon days* allow users to extend the time window between today's date and the forecasted date
394+
when calculating for the forecasted quantity. This features allows users to plan and restock
395+
inventory proactively, rather than following a just-in-time approach. The feature is meant to help
396+
users plan replenishment in advance by increasing the :ref:`forecasted date
397+
<inventory/warehouses_storage/forecasted-date>`.
442398

443-
- It groups |SO| 2's order with |SO| 1, reducing shipping costs by consolidating orders.
444-
- |SO| 3, which is due on Dec 25, is one day late and is not grouped with the other two orders.
399+
.. math::
400+
:class: overflow-scroll
445401
446-
Counterexample where visibility days is not triggered
447-
-----------------------------------------------------
402+
\text{Forecasted date} = \text{Current date} + \text{Vendor Lead Time} + \text{Horizon Days}
448403
449-
Considering the example above, if |SO| 1 does not exist, then:
404+
Since horizon days are only meant to be used with manual reordering rules, find details about the
405+
feature in the :doc:`Replenishment report article <report>`.
450406

451-
- **November 4**: Current date. The forecasted date is December 4 (30 days later).
452-
- **November 5**: The forecasted date shifts to December 5.
453-
- |SO| 2: Requires the product by December 19. Odoo will only trigger the order on November 19,
454-
meaning the user will not see a replenishment notification until then.
407+
.. note::
408+
Horizon days are configured on a company level.
455409

456-
This shows that visibility days complement just-in-time logic by optimizing it to balance
457-
replenishment costs more effectively.
410+
The default horizon days setting can be set or updated by navigating to the
411+
:menuselection:`Inventory app --> Advanced Scheduling`. Enter the desired number of days in the
412+
:guilabel:`Replenishment Horizon` field, and click :guilabel:`Save`.
458413

459-
.. image:: reordering_rules/counterexample.png
460-
:alt: Example where the visibility days does not trigger.
414+
.. image:: reordering_rules/replenishment-horizon.png
415+
:alt: The Replenishment Horizon setting in the Inventory app.
461416

462-
Horizon days
463-
============
417+
Example of how horizon days affect replenishment planning
418+
---------------------------------------------------------
464419

465-
*Horizon days* determine how many days ahead Odoo checks if the forecasted quantity will drop below
466-
reordering rule's minimum. The feature is meant to help users plan replenishment in advance, by
467-
increasing the :ref:`forecasted date <inventory/warehouses_storage/forecasted-date>`.
420+
On the Replenishment report, there are currently two products listed due for reordering: `Drawer,
421+
Black` and `Corner Desk`. This is based on their current level of on-hand stock, and their
422+
forecasted stock level. The default horizon days is set as `20`.
468423

469-
.. math::
470-
:class: overflow-scroll
424+
.. image:: reordering_rules/twenty-days.png
425+
:alt: Replenishment report with horizon days set at 20.
471426

472-
\text{Forecasted date} = \text{Current date} + \text{Vendor Lead Time} + \text{Horizon Days}
427+
However, by extending the horizon days to `30`, an additional product is added to the list.
473428

429+
.. image:: reordering_rules/thirty-days.png
430+
:alt: Replenishment report with horizon days set at 30.
474431

475-
Since horizon days are only meant to be used with manual reordering rules, find details about the
476-
feature in the :doc:`Replenishment report article <report>`.
432+
This is because the additional product, `[FURN_0789] Individual Workplace`, has a delivery scheduled
433+
in twenty-nine days, at which point their on-hand stock levels will fall below the minimum needed
434+
on-hand.
10.5 KB
Loading
14.2 KB
Loading
12.9 KB
Loading

content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ By default, the quantity in the :guilabel:`To Order` field is the quantity requi
3333
the field and changing the value. To replenish a product manually, click :icon:`fa-truck`
3434
:guilabel:`Order`.
3535

36-
Click :icon:`fa-bell-slash` :guilabel:`Snooze` to temporarily deactivate the reordering rule for
37-
the set period, hiding the entry from the replenishment dashboard, when it is supposed to appear.
36+
Click :icon:`fa-bell-slash` :guilabel:`Snooze` to temporarily deactivate the reordering rule for the
37+
set period, hiding the entry from the replenishment dashboard, when it is supposed to appear.
3838

3939
.. tip::
4040
Defining a :guilabel:`Vendor` allows filtering or grouping demands by the vendor. This simplifies
@@ -69,7 +69,9 @@ Horizon days
6969
*Horizon days* determine how many days ahead Odoo checks if the forecasted quantity will drop below
7070
reordering rule's minimum. The feature is meant to help users plan replenishment in advance, by
7171
increasing the :ref:`forecasted date <inventory/warehouses_storage/forecasted-date>` on the
72-
:doc:`replenishment report <report>`.
72+
:doc:`replenishment report <report>`. Horizon days look ahead a specified number of days and trigger
73+
reordering rules as soon as the forecasted quantity falls below the minimum within that window, even
74+
if no replenishment is needed today.
7375

7476
.. example::
7577
Setting horizon days to `7` ensures all manual reordering rules set to trigger within the next
@@ -80,14 +82,6 @@ To set horizon days, go to :menuselection:`Inventory app --> Operations --> Repl
8082
click :icon:`fa-angle-double-right` :icon:`fa-folder` :guilabel:`Manual` in the left sidebar. In the
8183
menu that appears, set the number of :guilabel:`Horizon` days.
8284

83-
Both horizon days and :ref:`visibility days <inventory/warehouses_storage/visibility-days>` allow
84-
Odoo to anticipate future demand, but they work differently:
85-
86-
- **Visibility days**: only checks future demand if a replenishment would have been triggered today.
87-
- **Horizon days**: looks ahead a specified number of days and triggers reordering rules as soon as
88-
the forecasted quantity falls below the minimum within that window — even if no replenishment is
89-
needed today.
90-
9185
.. example::
9286
- Current date: Feb 18
9387
- On hand quantity: 10

0 commit comments

Comments
 (0)