From d36a137f558be4c4d3b9d0457268d5f92557f914 Mon Sep 17 00:00:00 2001 From: jero-odoo Date: Thu, 25 Sep 2025 15:50:35 -0400 Subject: [PATCH] [ADD] Inventory: Just In Time logic --- .../warehouses_storage/replenishment.rst | 12 +- .../replenishment/just_in_time.rst | 84 ++++++++++++++ .../just_in_time/replenishment-info.png | Bin 0 -> 13501 bytes .../replenishment/lead_times.rst | 4 +- .../replenishment/reordering_rules.rst | 109 ++---------------- .../reordering_rules/five-forecast.png | Bin 26404 -> 0 bytes .../reordering_rules/replenishment-info.png | Bin 11318 -> 0 bytes .../reordering_rules/zero-forecast.png | Bin 30335 -> 0 bytes .../replenishment/report.rst | 4 +- 9 files changed, 108 insertions(+), 105 deletions(-) create mode 100644 content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time.rst create mode 100644 content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time/replenishment-info.png delete mode 100644 content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules/five-forecast.png delete mode 100644 content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules/replenishment-info.png delete mode 100644 content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules/zero-forecast.png diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst index eb59cb8564..afb1ec2cf1 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst @@ -27,6 +27,13 @@ manufacturing order (MO), with the best choice depending on the business process Automatically suggest or generate POs or MOs when stock falls below a minimum level. + .. card:: Just in time logic + :target: replenishment/just_in_time + :tag: Recommended + :large: + + Avoid overstocking by placing order precisely to meet deadlines. + .. card:: MTO :target: replenishment/mto :tag: Beginner-friendly @@ -67,8 +74,8 @@ Key points include: - :ref:`Manual reordering rules `: Generate suggestions in the replenishment report for user review, allowing adjustments and batch orders while meeting deadlines. -- :ref:`Just-in-time logic `: A strategy to replenish - only what is needed to prevent overstocking. +- :doc:`Just in time logic `: A strategy to replenish only what is + needed to prevent overstocking. .. seealso:: - :doc:`replenishment/reordering_rules` @@ -119,6 +126,7 @@ disrupts its manual replenishment method. replenishment/mto replenishment/reordering_rules + replenishment/just_in_time replenishment/report replenishment/lead_times replenishment/resupply_warehouses diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time.rst new file mode 100644 index 0000000000..33bb3e3ccf --- /dev/null +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time.rst @@ -0,0 +1,84 @@ +================== +Just in time logic +================== + +.. |SO| replace:: :abbr:`SO (Sales Order)` +.. |SOs| replace:: :abbr:`SOs (Sales Orders)` + +*Just-in-time logic* in Odoo minimizes storage costs by placing orders precisely to meet deadlines. +This is achieved using the :ref:`forecasted date `, +which determines when replenishment is necessary to avoid overstocking. For example, for a product +with a 5-day total lead time and a sales order delivery date in 10 days, Odoo waits 5 days to place +the order, ensuring it arrives just in time for delivery. + +The forecasted date is the **earliest possible date** to receive a product if the replenishment +process starts immediately. It is calculated by summing the lead times linked to the replenishment +process, such as :ref:`vendor lead times ` and +:ref:`purchasing delays ` for purchases, or +:ref:`manufacturing lead times ` for production. This works +with both automatic and manual reordering rules. + +.. tip:: + If utilizing just-in-time logic feels risky, consider adding buffer time or :doc:`adjusting lead + times ` for more flexibility. While lead times and just-in-time logic provide + additional control, reordering rules work perfectly fine without them. Keeping delivery dates on + |SOs| as their *creation date* ensures purchases are immediately triggered when needed. + +.. _inventory/warehouses_storage/forecasted-date: + +Forecasted date and to order quantity +===================================== + +The *forecasted date* is the earliest receipt date for a product, if it is ordered right now. It is +calculated by summing the lead times linked to the product's replenishment process. The total of +these lead times, added to the current date, determines when Odoo checks for demanded stock. + +To view the forecasted date go to :menuselection:`Inventory app --> Operations --> Replenishment` to +access the :doc:`replenishment report `, then click the :icon:`fa-info-circle` +:guilabel:`(info)` icon for the desired reordering rule. The :guilabel:`Replenishment Information` +pop-up window displays the :guilabel:`Forecasted Date` and various lead times. + +The just-in-time logic ensures replenishment occurs only when required to meet forecasted demand, +reducing the risk of overstocking. + +.. note:: + Just-in-time logic determines the exact timing of replenishment. If you want to extend this logic + to also consider near-future demand beyond the forecast date, see :ref:`Visibility Days + ` + +If the forecasted quantity falls below the minimum on the forecasted date, replenishment is +triggered immediately to prevent shortages. If the quantity falls below the minimum after the +forecasted date, replenishment is deferred. + +The :guilabel:`To Order` quantity is defined as the total demand on the forecasted date. + +By scheduling purchase orders according to combined lead times, Odoo minimizes inventory while +ensuring that future demand is met on time. + +.. example:: + A manual reordering rule is set up with no minimum or maximum quantities. + + - Vendor lead time is 4 days, and the days to purchase is 2 days. + - Today's date is October 2. + - These add up to 6 days, making the forecasted date, October 8. + + A confirmed |SO| for 5 units has a delivery date of October 8th (6 days from today). This demand + will appear on the replenishment report today, in the :guilabel:`To Order` field. + + However, if the delivery date were later than October 8th, it would not yet appear on the report. + Odoo only displays quantities to replenish when they fall within the forecasted date window, + ensuring orders are placed precisely when needed. + + .. image:: just_in_time/replenishment-info.png + :alt: Show forecasted date in Odoo. + +.. important:: + |SOs| scheduled after the :guilabel:`Forecasted Date` are not included in the :guilabel:`Forecast` + quantities of a reordering rule. However, they do appear in the forecasted report, since it + reflects the long-term forecasted quantity. To access the forecasted report, click + :icon:`fa-area-chart` :guilabel:`(area chart)` icon on the replenishment report. + +.. seealso:: + - :doc:`Reordering Rules ` + - :doc:`Replenishment Report ` + - :doc:`Lead Times ` diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time/replenishment-info.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time/replenishment-info.png new file mode 100644 index 0000000000000000000000000000000000000000..aabb252da3e964c15268b399ba562bc8295fec7c GIT binary patch literal 13501 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 literal 0 HcmV?d00001 diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst index d5cd5d35e7..42911a6e3e 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst @@ -168,8 +168,8 @@ confirm a request for quotation (RFQ) and when to expect the goods. - Arrival date of the products. Calculated by *Order Deadline* + *Vendor Lead Time* In addition, Odoo has global security lead times, which are buffers that widen the -:ref:`just-in-time ` (JIT) forecast window. The security -lead times affect **only** replenishment methods that use :doc:`pull rules +:doc:`just-in-time ` (JIT) forecast window. The security lead times affect **only** +replenishment methods that use :doc:`pull rules <../../shipping_receiving/daily_operations/use_routes>`—for example :doc:`reordering rules ` or :doc:`make to order (MTO) `. They do not change the interval between *Order Deadline* and *Expected Arrival*. diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst index 941afcb2a4..70ba3edcfc 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst @@ -35,7 +35,7 @@ To set up reordering rules for the first time, refer to: To understand and optimize replenishment using advanced features, see: -- :ref:`Just-in-time logic ` +- :doc:`Just in time logic ` - :ref:`Visibility days ` - :ref:`Horizon days ` @@ -127,8 +127,8 @@ rule line item: .. note:: To learn how the :guilabel:`On Hand`, :guilabel:`Forecast`, and :guilabel:`To Order` fields are - calculated using on-hand quantities and future demand, see the :ref:`Just-in-time logic - ` section. + calculated using on-hand quantities and future demand, see :doc:`Just in time logic + ` For advanced usage, learn about the following reordering rule fields: @@ -386,102 +386,8 @@ advanced configurations of reordering rules. Consider the following: five products' reordering rules. This ensures future demands for these products are managed separately and assigned to different |RFQs| (the usual behavior). -.. _inventory/warehouses_storage/just-in-time: - -Just-in-time logic -================== - -*Just-in-time logic* in Odoo minimizes storage costs by placing orders precisely to meet deadlines. -This is achieved using the :ref:`forecasted date `, -which determines when replenishment is necessary to avoid overstocking. - -The forecasted date is the **earliest possible date** to receive a product if the replenishment -process starts immediately. It is calculated by summing the lead times linked to the replenishment -process, such as :ref:`vendor lead times ` and -:ref:`purchasing delays ` for purchases, or -:ref:`manufacturing lead times ` for production. Both -automatic and manual reordering rules work this way. - -.. example:: - For a product with a 5-day total lead time and a sales order delivery date in 10 days, Odoo waits - 5 days to place the order, ensuring it arrives just in time for delivery. - -Important considerations: - -- **If this feels risky**, consider adding buffer time or :doc:`adjusting lead times ` - for more flexibility. -- While lead times and just-in-time logic provide additional control, **reordering rules work - perfectly fine without them**. Keeping delivery dates on sales orders as their *creation date* - ensures purchases are immediately triggered when needed - -.. _inventory/warehouses_storage/forecasted-date: - -Forecasted date and To Order quantity -------------------------------------- - -The *forecasted date* is the earliest receipt date for a product, if it is ordered right now. It is -calculated by summing the lead times linked to the product's replenishment process. The total of -these lead times, added to the current date, determines when Odoo checks for demanded stock. - -To view the forecasted date go to the replenishment report and click the :icon:`fa-info-circle` -:guilabel:`(info)` icon for the desired reordering rule. The :guilabel:`Replenishment Information` -pop-up window displays the :guilabel:`Forecasted Date` and various lead times. - -.. example:: - A manual reordering rule is set up with no minimum or maximum quantities. - - - Vendor lead time is 4 days, the purchase security lead time is 1 day, and the days to purchase - is 2 days. - - Today's date is November 26. - - These add up to 7 days, making the forecasted date, December 3rd. - - A confirmed |SO| for 5 units has a delivery date of December 3rd (7 days from today). This demand - will appear on the replenishment report today, in the **To Order** field. - - However, if the delivery date were later than December 3rd, it would not yet appear on the - report. Odoo only displays quantities to replenish when they fall within the forecasted date - window, ensuring orders are placed precisely when needed. - - .. image:: reordering_rules/replenishment-info.png - :alt: Show forecasted date in Odoo. - -The *just-in-time* logic ensures replenishment happens only when it's necessary for the forecasted -date's demand, helping avoid overstocking. - -For example: - -- If the forecasted quantity drops below the minimum **on** the forecasted date, replenishment must - begin immediately to avoid shortages. -- If the quantity drops below the minimum **after** the forecasted date, replenishment can wait. - -The **To Order** quantity is the total demand on the forecasted date. - -By timing purchase orders based on the combined lead times, Odoo optimizes stock levels, keeping -inventory minimal while ensuring future requirements are ordered at the last possible -moment—strategic procrastination without the stress! - -Common confusion about forecasted quantities --------------------------------------------- - -|SOs| due **after** the :guilabel:`Forecasted Date` are not accounted for in the -:guilabel:`Forecast` quantities of the reordering rule. - -They are, however, accounted for on the forecasted report that is opened by clicking the -:icon:`fa-area-chart` :guilabel:`(graph)` icon on the replenishment report, as this one represents -the **long-term forecasted quantity**. - -.. example:: - - .. figure:: reordering_rules/zero-forecast.png - :alt: Forecast and To Order quantities is zero. - - Continuing the above example, when the sales order's deadline is adjusted to December 4th, the - :guilabel:`Forecast` and :guilabel:`To Order` quantities are zero. - - .. figure:: reordering_rules/five-forecast.png - :alt: Show forecasted report. - - Opening the :guilabel:`Forecasted Report` shows the :guilabel:`Forecasted` units is `5.00`. +.. seealso:: + :doc:`Just-in-time logic ` .. _inventory/warehouses_storage/visibility-days: @@ -493,6 +399,11 @@ planned replenishment. Odoo checks if forecasted stock on the forecasted date wi minimum in the reordering rule. **Only if** it is time to reorder, visibility days check additional future demand by the specified number of days. +.. note:: + Visibility days extend the standard just-in-time replenishment logic by looking beyond the + immediate forecasted date. To fully understand how Odoo determines when replenishment is + triggered, refer to the :doc:`Just-in-time logic ` + This feature helps consolidate orders by grouping immediate and near-future needs, reducing transport costs and enabling supplier discounts for larger orders. diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules/five-forecast.png b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules/five-forecast.png deleted file mode 100644 index c21f2287c0e86ce15d37af5281fb47e3da1a975d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26404 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 Rh5yMYY4ILK)_azm(fH(K!mp6 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%0DhT(=~nwzM%8G#@f7VS}$|(?miIY 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 MQc0p(%rNNx0I(V+Pyhe` diff --git a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst index d0c3d7c351..eb20181b92 100644 --- a/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst +++ b/content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst @@ -119,8 +119,8 @@ In each line of the replenishment report, clicking the :icon:`fa-info-circle` :g icon opens the :guilabel:`Replenishment Information` pop-up window, which displays the *lead times* and *forecasted date*. -For detailed information on how to use this feature for replenishment, go to the :ref:`Just in time -logic ` section. +For detailed information on how to use this feature for replenishment, go to the :doc:`just-in-time +` section. Select a warehouse ------------------