@@ -20,33 +20,41 @@ Key parameters
2020Demand calculation
2121==================
2222
23- To find the * average daily demand* , Odoo sums all :ref: `validated deliveries
23+ To estimate demand, Odoo sums all :ref: `validated deliveries
2424<inventory/delivery/one-step>`, :ref: `components consumed in manufacturing orders
2525<manufacturing/basic_setup/setup-components>` (MOs), or used to :doc: `resupply subcontractors
26- <../../manufacturing/subcontracting/subcontracting_resupply>` in the *Based on * period and divides
27- that total by the number of days in the *Based on * period. Lastly, that value is multiplied by the
28- *Factor * to determine volume.
29-
30- .. tip ::
31- In a :ref: `multi-warehouse <purchase/advanced/example-wh-suggestion >` setup, an *In * field
32- appears. Choose a specific warehouse or leave blank to use all warehouses to calculate demand
33- accordingly.
26+ <../../manufacturing/subcontracting/subcontracting_resupply>` coming from the warehouse specified
27+ on the RFQ in the *Based on * period. The *average daily demand * is this sum of out-going moves
28+ divided by the number of days in the *Based on * period, multiplied by *Factor *. The
29+ *estimated demand * is the *average daily demand * multiplied by *Replenish For * days.
3430
3531.. math ::
3632 :class: overflow-scroll
3733
3834 Average~Daily~Demand = \frac {Delivered~or~Consumed~Items}{Based~on~Days} \times Factor
35+ \\ \\ Estimated~Demand = Average~Daily~Demand \times Replenish~for~Days
36+
37+ .. note ::
38+ Only :guilabel: `Assigned ` or :guilabel: `Confirmed ` moves are taken into account in
39+ the *average daily demand * calculations, sales quotations or manufacturing orders
40+ in :guilabel: `Draft ` are not taken into account until validated.
41+
42+ .. tip ::
43+ In a multi-warehouse setup, internal deliveries are also counted in demand estimation.
44+ In the case of a central warehouse dispatching products to individual stores,
45+ the *average daily demand * of the central warehouse will include internal transfers to
46+ individual stores.
3947
4048Recommended quantity
4149====================
4250
43- To find the suggested quantity, Odoo multiplies the average by * Replenish for * days to get the
44- recommended quantity.
51+ To find the suggested quantity, Odoo deducts the * estimated demand * from the current stock
52+ available quantity and all incoming shipments .
4553
4654.. math ::
4755 :class: overflow-scroll
4856
49- Recommended~Quantity = Average~Daily~ Demand \times Replenish~for~Days
57+ Recommended~Quantity = Estimated~ Demand - (Available~Stock + Incoming~Stock)
5058
5159 .. example ::
5260 In :ref: `example 1 <purchase/advanced/example-suggestion >`, Odoo recommends `19 ` units to
@@ -83,17 +91,17 @@ In the |RFQ|, set the :guilabel:`Vendor` field to the chosen supplier.
8391In the :guilabel: `Products ` tab, click the :guilabel: `Catalog ` button to view that vendor's items.
8492
8593.. important ::
86- Verify that each product in the catalog is configured with the chosen vendor.
94+ Verify that each product in the catalog is configured with the chosen vendor
95+ and that the Purchase Order is in the |RFQ | stage
8796
8897.. tip ::
8998 By default, products listed in the product catalog are filtered by vendor.
9099
91100 Remove the filter in the search bar to view all items or use the built-in :icon: `oi-group `
92101 :guilabel: `Group By ` for :guilabel: `Product Category `.
93102
94- Inside the :guilabel: `Catalog `, click :guilabel: `Suggest ` in the upper-left corner to open the
95- :guilabel: `Suggest Quantities based on Sales & Demands ` pop-up window. Complete its fields as
96- follows:
103+ Inside the :guilabel: `Catalog `, toggle :guilabel: `Suggest ` in the left sidebar to activate
104+ the feature. Complete its fields as follows:
97105
98106- :guilabel: `Replenish for `: Number of days intended to stock products.
99107- :guilabel: `Based on `: There are two inputs:
@@ -103,12 +111,12 @@ follows:
103111
104112 #. Growth factor %: scale the demand up or down (e.g., 120% for 20% growth, 30% for 70% drop).
105113
106- - The total in the lower-right corner shows the order value. Odoo multiplies the vendor's *Unit
114+ - The total in the bottom shows the order value. Odoo multiplies the vendor's *Unit
107115 Price * by the suggested quantity.
108116
109- Once the parameters are confirmed, click :guilabel: `Compute ` to calculate recommended quantities,
110- which are auto-filled in each product's quantities in the catalog. Adjust amounts if needed, then
111- click :guilabel: ` Back to Quotation ` to confirm the final numbers on the |RFQ |.
117+ Once the parameters are confirmed, click :guilabel: `Add All ` to add all suggestion to the
118+ order. Adjust amounts if needed, then click :guilabel: ` Back to Quotation ` to confirm the final
119+ numbers on the |RFQ |.
112120
113121.. _purchase/advanced/example-suggestion :
114122
@@ -118,9 +126,6 @@ Recommend at 100% growth
118126A company needs to replenish orchids for 14 days, referencing the last 30 days of historical data,
119127assuming the revenue growth is the same this month, at 100%.
120128
121- .. image :: suggest/suggest-14.png
122- :alt: Compute suggestion for example 1.
123-
124129Delivered/consumed within the period:
125130
126131- 20 units delivered 15 days ago in a `WH/OUT ` operation.
@@ -152,68 +157,46 @@ Suggested quantity
152157 :alt: Suggestion to purchase 19 units.
153158
154159 Suggestion to purchase 19 orchids. Since the *Unit Price * is $3, :math: `$3 \times 19 = $57`,
155- which is the total amount displayed in the :guilabel: `Suggest Quantities based on Sales &
156- Demands` pop-up window.
157-
158- Recommend at 120% growth
159- ------------------------
160+ which is the total amount displayed.
160161
161- To plan for ordering roses this month, the company reviews the previous week 's sales. Since a local
162- event is coming up, the company expects 120% growth.
162+ Planning for Mother 's Day
163+ -------------------------
163164
164- .. image :: suggest/suggest-30.png
165- :alt: Compute suggestion for example 2.
165+ To better plan for the upcoming Mother's day week, the company changes *Based on * to the
166+ same month last year (May 2024). As the business has grown since then, they also decide to add
167+ a 120% growth factor.
166168
167169Variables
168170~~~~~~~~~
169171
170- - Replenish for 30 days
171- - Based on: 7 days
172+ - Replenish for 7 days
173+ - Based on: May 2024,
172174
173- - total delivered/consumed in the past week: 166 units
175+ - total delivered/consumed in the entire May 2024 month: 361 units
174176
175177- Factor: 120%
176178
177179.. math ::
178180
179- Average~Daily~Demand = \frac {166 }{ 7 } \times 1.20 \approx 28.46 \text { units/day}
181+ Average~Daily~Demand = \frac {361 }{ 30 } \times 1.20 \approx 14.44 \text { units/day}
180182
181183 Suggested quantity
182184~~~~~~~~~~~~~~~~~~
183185
184186.. math ::
185187
186- Suggested~Quantity = 28.46 \times 30 \approx 853.8 \text { (rounded to 854 units)}
188+ Suggested~Quantity = 14.44 \times 7 \approx 101.08 \text { (rounded up to 102 units)}
187189
188190 .. figure :: suggest/result-30.png
189- :alt: Suggestion to purchase 854 roses .
191+ :alt: Suggestion to purchase 102 orchids .
190192
191- Suggestion to purchase 854 roses . Each rose costs $4.58 with the chosen vendor, so :math: `$4.58
192- \t imes 854 = $3911.32 `.
193+ Suggestion to purchase 102 orchids . Each orchid costs $3 with the chosen vendor, so
194+ :math: `$3 \times 102 = $306 `.
193195
194196.. _purchase/advanced/example-wh-suggestion :
195197
196- Recommend from specific warehouse
197- ---------------------------------
198-
199- When there are multiple warehouses in a company, analyze delivered or consumed quantities in a
200- specific warehouse to narrow the results. This is particularly helpful when multiple warehouses
201- serve different communities, franchises, or branch stores.
202-
203- To do that, ensure :doc: `multiple warehouses are set up
204- <../../inventory/warehouses_storage/inventory_management/warehouses>` and deliveries or :abbr: `MOs
205- ( manufacturing orders ) ` are validated in each warehouse.
206-
207- Navigate to the suggestion window by going to the :menuselection: `Purchase ` app, clicking the
208- desired |RFQ |, clicking the :guilabel: `Catalog ` button in the product line, and then clicking
209- :guilabel: `Suggest ` in the upper-left corner.
210-
211- With multiple warehouses set up, the :guilabel: `In ` field becomes available, where the specific
212- warehouse can be selected to analyze quantities consumed only in the specific warehouse, or leave
213- the field blank to observe quantities across all warehouses.
214-
215- .. image :: suggest/in-field.png
216- :alt: Show In field in the popup, displaying different warehouses to choose from.
198+ Recommend at 100% growth
199+ ------------------------
217200
218201Best practices
219202==============
0 commit comments