| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Community Apps Dependencies | Show |
| Lines of code | 3215 |
| Technical Name |
stock_manual_forecast_transfers |
| 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 | 3215 |
| Technical Name |
stock_manual_forecast_transfers |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
Stock Manual Forecast Transfers
Extends manual forecast to support internal transfers validation and quantity management
Overview
Connects the daily manual forecast to the internal transfers that
move goods between warehouses. Every forecast input line keeps a live
link to the inter-warehouse pickings it triggered, and a Transfer Quantity / Transfer Difference pair shows planners exactly how
much has been shipped versus what they planned for the day.
A dedicated Confirm Transfers OWL wizard mirrors the planning
grid so warehouse teams can post the transferred quantity directly on
the cell. Clicking Validate on a row confirms, assigns and
validates all open pickings for that warehouse / deadline-hour pair
in one shot — including automatic backorder creation for partial
moves. A transfered_qty_manual override and a Recompute Transfers
server action handle the edge cases where automatic tracking is not
enough.
This is an extension of stock_manual_forecast; install it on top
of the base module whenever the forecasted products are replenished
through internal resupply routes and you want forecast vs.
transferred quantities tracked on the same screen.
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
- Forecast line linked to its pickings — every
stock.manual.forecast.input.linegets a computedpicking_idsMany2many that collects pickings whose source warehouse differs from the forecast warehouse, plus their backorders. - Transferred vs. forecast figures —
transfered_qtysumsproduct_uom_qtyof done picking moves andtransfered_diffexposes the delta againstforecast_qty, both stored so they can feed list views, filters and pivot reports. - Manual quantity override — a
transfered_qty_manualfield takes precedence over the computed value, so planners can record partial or off-system shipments without losing the original forecast. - Confirm Transfers OWL wizard — accessible from
Inventory -> Operations -> Manual Forecast -> Confirm Transfers, the wizard reuses the planning grid in transfer mode and adds warehouse and deadline-hour filters for big catalogues. - One-click row validation — a Validate button on each
warehouse / deadline-hour row calls
/stock_manual_forecast_transfers/validate_row, which confirms, assigns and validates all open pickings, applyingtransfered_qty_manualas the move done quantity and triggeringstock.backorder.confirmationfor the remainder. - Recompute Transfers server action — bound to the input line
model, lets any planner rebuild
picking_idsand quantities from the Action menu (cog icon) of the Manual Forecast Lines list. - Extended reporting columns — the Manual Forecast Lines list
inherits
Transfer QuantityandTransfer Difference, giving a one-screen forecast-vs-shipped view for the whole reporting period.
Configuration
The module piggybacks on the existing Manual Forecast setup. Once installed, no new settings screens appear — the Confirm Transfers wizard, the extra columns and the server action are added automatically. You only need to make sure the forecasted products can actually be moved between warehouses by Odoo's procurement engine.
1. Prerequisites
stock_manual_forecastmust be installed and you must already have at least one Forecast Config with deadline-hour lines (see that module's configuration guide).- Multi-warehouse must be enabled in Inventory settings, so a destination warehouse can be resupplied from a different source warehouse.
2. Internal resupply route
- Go to Inventory -> Configuration -> Warehouses and open the destination warehouse.
- In Resupply tick the source warehouse(s). Odoo auto-creates a
resupply route (e.g.
WH -> WHB: Resupply from WH) and the matching internal picking type. - On every product in the forecast categories (or on the product category), include this resupply route in the Inventory tab.
- Make sure a reorder rule exists for the destination warehouse.
Min Qty = 0is enough; the manual forecast confirms the demand.
3. Confirm Transfers wizard
The dedicated wizard is reachable at Inventory -> Operations -> Manual Forecast -> Confirm Transfers. It opens the same grid as the planning wizard but in transfer mode and adds Warehouse and Deadline Hour dropdown filters.

4. Manual override on a line
When automatic tracking is not enough (manual loading, partial
shipments handled outside the system) set Transfered Qty Manual
on the affected stock.manual.forecast.input.line — either by
clicking the cell in the Confirm Transfers wizard or directly on the
line form. The override takes priority over the computed value and
the Transfer Difference updates immediately.
5. Recompute Transfers action
The Recompute Transfers server action is attached to
stock.manual.forecast.input.line. Open
Inventory -> Reporting -> Manual Forecast Lines, select the
lines to refresh and pick Actions (cog) -> Recompute Transfers.
The picking_ids, transfered_qty and transfered_diff fields are
rebuilt from the live picking state.
How it works
The module is used in two steps every day: confirm the forecast in the planning wizard so internal transfers are generated, then post and validate the shipped quantities through the Confirm Transfers wizard.
1. Plan the day
- Go to Inventory -> Operations -> Manual Forecast -> Plan Manual Forecast.
- Pick the Date and a Forecast Config wired to internal resupply routes.
- Enter forecasted quantities per product and deadline hour.

- Click Confirm & Generate Replenishment. Odoo's procurement
creates one internal transfer picking per warehouse / deadline,
and
picking_idson each forecast line collects them automatically.
2. Post transferred quantities
- Go to Inventory -> Operations -> Manual Forecast -> Confirm Transfers.
- Set the same Date and Forecast Config. Optionally narrow the grid using the Warehouse and Deadline Hour filters.
- The grid shows
Forecast,TransferredandDiffper product and row. - Click a cell and type the actually shipped quantity — this stores
transfered_qty_manualon the forecast line and refreshes the diff value.

3. Validate pickings inline
For each warehouse / deadline-hour row, click Validate. The
server runs action_confirm and action_assign on the linked
pickings, applies transfered_qty_manual as the move done quantity,
calls button_validate and processes
stock.backorder.confirmation automatically when the entered
quantity is partial. The grid refreshes with the new transferred and
diff values.
4. Monitor and re-sync
- Manual Forecast Lines list (Inventory -> Reporting -> Manual Forecast Lines) gains two columns: Transfer Quantity and Transfer Difference. A negative difference means the planned volume has not yet been fully shipped.
- If pickings were created, split or re-scheduled outside the wizard, select the affected lines and run Actions (cog) -> Recompute Transfers to rebuild the links and quantities from the live data.
- On any input line form, the Pickings field opens the related
stock.pickingrecords with their current state.
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