| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 2766 |
| Technical Name |
stock_manual_forecast |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 2766 |
| Technical Name |
stock_manual_forecast |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
Stock Manual Forecast
Manual forecast of product quantities with config rules and reordering trigger.
Overview
Daily, by-hand inventory forecasting that feeds Odoo's reordering engine directly. Operations planners enter expected quantities per product, per warehouse and per deadline hour through an OWL grid wizard; confirming the input generates the corresponding stock moves and triggers procurement rules — so the daily plan becomes real delivery orders, manufacturing orders or purchase orders without any sales-based MTS detour.
The module is built around three concepts: a Forecast Config
binds warehouses, product categories and deadline-hour lines with
split ratios; a Forecast Input is one dated plan against a
config; a background cron can auto-confirm queued inputs at the
right hour. A separate Ratio Split Mode controls whether a daily
total is divided proportionally between hours or carries fixed
amounts, so the same config covers both equal-shift and
deadline-driven workloads.
Best suited for wholesale distributors planning daily truck loads, distribution centers splitting production quotas between sites, and any operation where sales-based reorder rules aren't granular enough and planners need direct, day-to-day control over what gets ordered and when.
Built & supported by NextERP Romania
Romanian Odoo specialists, here for the long run — from implementation to localization and day-to-day production support.
What we do
Odoo Solutions
From quick-start rollouts to multi-company deployments and custom modules built for your processes.
Romanian Localization
SAF-T (D406), e-Factura, e-Transport, D300 / D390 / D394, ANAF integration, full chart of accounts and fiscal positions.
Our Services
Implementation, customization, migration, integration, support and consultancy — Romanian-speaking, SLA-backed.
Features
Context
stock_manual_forecast is an Odoo module for daily, manual forecasting of product
quantities across one or more warehouses. It is aimed at operations teams that need
to plan deliveries or productions by hand—category by category, warehouse by
warehouse—and immediately propagate those plans to Odoo's reordering engine.
Typical use-cases:
- Wholesale distributors that plan daily truck loads per customer hub
- Retail distribution centers that split production quotas between warehouses
- Any business where sales-based MTS rules are not granular enough and planners need direct control over what gets ordered and when
Key Concepts
| Concept | Description |
|---|---|
| Forecast Config | Master configuration binding warehouses, product categories, and deadline-hour lines with ratios |
| Config Line | A deadline hour + warehouse + split ratio; multiple lines allow splitting a daily total across time slots |
| Forecast Input | A dated forecast document; one per config per day; holds one line per (product, warehouse, deadline hour) |
| Forecast Input Line | A single product / warehouse / hour quantity entry; linked to stock moves generated by confirming |
| Ratio Split Mode | Controls whether quantities are split proportionally or by fixed amounts across config lines |
| Transpose Grid | Display option that swaps rows and columns in the OWL grid wizard |
Workflow
- A planner opens the OWL forecast wizard for today's date.
- The wizard shows one editable grid per config—products vs. deadline hours.
- The planner enters forecast quantities and optionally adjusts per-line ratios.
- Confirming the input generates and triggers Odoo reorder rules / stock moves.
- A background cron job can auto-confirm queued inputs at the appropriate hour.
Configuration
Navigation
All Manual Forecast configuration is under Inventory → Configuration → Manual Forecast → Forecast Configs.

1. Create a Forecast Config
- Go to Inventory → Configuration → Manual Forecast → Forecast Configs.
- Click New and fill in:
- Name — descriptive label (e.g.
Demo Daily Dispatch Config). - Company — auto-filled from current company.
- Warehouses — select one or more warehouses covered by this config.
- Product Categories — categories whose products will appear in the forecast grid.
- Transpose Forecast Grid — tick to flip rows/columns in the OWL wizard (useful when many products and few warehouses).
- Ratio Split Mode —
Sum ratios per hour (default)orSum ratios for all lines.
- Name — descriptive label (e.g.

2. Add Deadline Hour Lines
In the Deadline Hours tab, add one row per time slot:
| Field | Description |
|---|---|
| Warehouse | Which warehouse this line applies to |
| Deadline Hour | The hour (0–23) by which this portion must be ready |
| Ratio | Weight for proportional splitting (0–100). E.g. ratio 2/1 splits as 67 % / 33 % |

If you have only one config line per warehouse, the full forecasted quantity is booked for that hour.
3. Prerequisites
- Stock routes and reorder rules for your warehouses must already exist.
- Users who create/confirm forecasts need Inventory: Manager (
stock.group_stock_manager). - Optionally configure the cron job (Settings → Technical → Scheduled Actions → Stock Manual Forecast: Auto-confirm) to auto-confirm queued inputs at each deadline hour.
Ratio Split Mode
| Mode | Behavior |
|---|---|
| Sum ratios per hour (default) | Ratios for each warehouse must sum to ≤ 100 within the same hour |
| Sum ratios for all lines | Total of all ratios across all lines must not exceed 100 |
How it works
Opening the Forecast Wizard
Go to Inventory → Operations → Manual Forecast → Plan Manual Forecast.

Entering a Forecast
The OWL wizard opens with a Date picker and a Config selector.

- Set the Date (defaults to today).
- Select a Forecast Config from the dropdown.
- The grid shows products grouped by category (columns) and warehouses/deadline hours (rows).
- Enter the Daily Quantity in the top input row — the module distributes it across deadline hours using the configured ratios.
- Or enter quantities directly per deadline-hour row.

Grid Structure
| Row | Meaning |
|---|---|
| Daily Quantity | Total planned for the day — the ratio engine splits this down to deadline rows |
| Warehouse (HH) | Auto-computed quantity for this warehouse at deadline hour HH based on ratio |
| Column Total | Sum of all deadline rows for that product |
Toolbar Buttons
| Button | Action |
|---|---|
| Populate from Last Forecast | Copies quantities from the most recent saved forecast for this config |
| Transpose View | Swaps rows and columns in the grid |
| New Forecast | Creates a fresh blank input for the selected date/config |
| Save Draft | Saves the current state in draft — editable later |
| Confirm & Generate Replenishment | Transitions input to confirmed, locks lines, and triggers Odoo procurement / stock moves |
Monitoring Forecast Lines
All forecast input lines are visible at Inventory → Reporting → Manual Forecast Lines (list and pivot views).

| Column | Meaning |
|---|---|
| Date | Forecast date |
| Warehouse | Warehouse this line applies to |
| Product Category / Product | Scoped product |
| Forecast Qty | Planned quantity |
| Transfer Qty / Diff | Available when stock_manual_forecast_transfers is installed |
| Manufactured Qty / Diff | Available when stock_manual_forecast_mrp is installed |
| State | Draft / Queued / Confirmed |
States
| State | Meaning |
|---|---|
| Draft | Editable, not yet processed |
| Queued | Saved and waiting for background cron to confirm |
| Confirmed | Locked; stock moves / procurements have been triggered |
Screenshots
Captured from a running Odoo instance.
Action stock manual forecast config
Action stock manual forecast input line
Versions
19.0.1.0.0 (2026-05-25)
- Changelog tracking starts at this release.
Discover the NextERP suite
Other modules from the same publisher, built to work together.
NextERP Romania
Odoo implementation, customization, Romanian localization and long-term support since 2018.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module