| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Community Apps Dependencies | Show |
| Lines of code | 4559 |
| Technical Name |
stock_manual_forecast_realtime_stock |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Community Apps Dependencies | Show |
| Lines of code | 4559 |
| Technical Name |
stock_manual_forecast_realtime_stock |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
Stock Manual Forecast Realtime Stock
Extends manual forecast with a realtime comparison dashboard: forecast vs. actual deliveries and internal transfers, grouped by hour intervals from the forecast config.
Overview
Adds a live, hour-by-hour dashboard that compares the manual
forecast for the day against actual stock movements as they happen.
Operations managers see, for every warehouse and product covered by a
Forecast Config, how much has come in, how much has been delivered,
how much was donated and what the projected end-of-day stock looks
like — broken down in one-hour buckets driven by the config's
Realtime Hour Start / Realtime Hour End window.
The dashboard pulls done stock moves directly from stock.move,
buckets them in the user's local timezone, and adds beginning-of-day
stock plus the forecasted quantities from the selected
stock.manual.forecast.input. A Donation flag on the transfer
form separates donation pickings from regular outflows, so retail
operations can track both streams without distorting the delivered
totals.
This is an extension of stock_manual_forecast; install it on top
of the base module to add a manual or auto-refreshing realtime view
for warehouses that already plan their day through Manual Forecast.
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
- Hour-bucketed dashboard — one row per warehouse and per hour
interval between
hour_startandhour_end, plus optionalbeforeandafterrows for moves outside the window; columns group products by category just like the planning wizard. - Forecast vs. actual on one screen — every warehouse total
shows
initial_stock(beginning of day),in_qty,out_qty,donation_qty,stock_on_hand(projected EOD) and theforecastfrom the selected manual forecast input. - Donation tracking — a new
is_donationflag onstock.picking(with a related field onstock.move) routes donation outflows to a separate column, so commercial delivery performance is not polluted by give-aways. - Timezone-aware bucketing — done moves are projected into the
user's
res.users.tz, so an 09:30 UTC move correctly lands in the local 11:00–12:00 slot for an Europe/Bucharest planner. - Detail and Summary views — the OWL component toggles between product-level grain and category-level aggregation, useful when the catalog is wide and you only need a high-level health check.
- Manual and 5-minute auto-refresh — a Refresh button reloads on demand and an Auto toggle keeps the grid live by re-running the controller every five minutes without leaving the page.
- Per-config time window —
Realtime Hour Start(0-23) andRealtime Hour End(1-24) live onstock.manual.forecast.config, so each warehouse group can have its own dispatch window without global settings.
Configuration
The dashboard reuses your existing Forecast Configs and adds two new
fields plus a Donation flag on transfers. There is no separate
settings page.
1. Prerequisites
stock_manual_forecastmust be installed with at least one Forecast Config and a Forecast Input for the day you want to monitor (only confirmed inputs feed theforecastcolumn, but draft and queued inputs are still listed in the dashboard's selector).- Users must have a correct Timezone set on their preferences —
the controller buckets moves using
res.users.tz.
2. Set the dashboard time window
The hourly grid is built per Forecast Config:
- Go to Inventory -> Configuration -> Manual Forecast -> Forecast Configs and open the config you want to monitor.
- Two new fields appear after Ratio Split Mode:
- Realtime Hour Start (0-23, default
7) — first visible hour interval. - Realtime Hour End (1-24, default
22) — last visible hour, exclusive.
- Realtime Hour Start (0-23, default

A start = 7, end = 22 configuration produces intervals
07:00 - 08:00 through 21:00 - 22:00, plus a single
00:00 - 07:00 before row and a 22:00 - 24:00 after row for
out-of-window movements. Validation enforces
0 <= hour_start < hour_end <= 24.
3. Mark donation pickings (optional)
To split give-aways from commercial deliveries:
- Open any transfer at Inventory -> Operations -> Transfers.
- Tick the Donation boolean toggle added next to the Source Document field.
- All stock moves of that picking inherit
is_donation = Truethrough a stored related field and are reported in thedonation_qtycolumn of the dashboard.
The same flag is exposed as an optional column on the Transfers list, so you can filter or audit donations later.
4. Access rights
No new groups are introduced. Anyone who already opens the Manual Forecast wizards can open Realtime Stock vs Forecast at Inventory -> Operations -> Manual Forecast -> Realtime Stock vs Forecast.
How it works
The dashboard is a read-only view that combines beginning-of-day stock, the day's done stock moves and the forecast for the same date. It is meant to be left open on a screen during the dispatch window.
1. Open the dashboard
Go to Inventory -> Operations -> Manual Forecast -> Realtime Stock vs Forecast. The page opens on today's date with the first available config pre-selected.

2. Pick date, config and input
- Set the Date in the picker at the top (defaults to today).
- Choose a Config in the dropdown. If only one exists it is selected automatically.
- If multiple forecast inputs exist for that date and config, pick the one to compare against in the Input selector. The grid loads automatically.

3. Read the grid
- Rows are grouped per warehouse: one row per hourly interval, plus optional before and after rows and a per-warehouse total.
- Each interval cell shows in (received), out (delivered) and donation chips for that hour, with zero values hidden to keep the grid readable.
- The warehouse-total row carries
initial_stock, totalin_qty, totalout_qty, totaldonation_qty, projectedstock_on_hand(EOD) and the matchingforecast. - A Summary toggle at the top switches the grid to a warehouse x category aggregation for a higher-level view.
4. Stay up to date
- Refresh reloads without losing the current selection.
- Auto toggles a background refresh every five minutes — a notification confirms the new state.
- Donation pickings only show up after their
Donationflag is ticked and the transfer is validated.
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