| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Manufacturing (mrp) • Discuss (mail) |
| Lines of code | 205 |
| Technical Name |
mrp_smart_reservation |
| License | OPL-1 |
| Versions | 17.0 18.0 |
MRP Smart Reservation
Réservation de stock intelligente et automatique pour vos ordres de fabrication.
Le problème
Par défaut, Odoo réserve le stock pour les ordres de fabrication (OF) selon la règle "premier confirmé, premier servi". Concrètement, un OF planifié dans plusieurs mois peut réserver des composants dont un OF urgent — dû demain — a un besoin immediat. Résultat : retards de production, gestion de crise de dernière minute, et réajustements manuels du stock qui prennent un temps précieux.
La solution : un moteur de priorité automatique
MRP Smart Reservation classe automatiquement chaque ordre de fabrication selon trois niveaux de priorité, affichés directement sous forme de badges colorés dans la liste et sur la fiche de l'OF :
Urgent Dans l'horizon configuré (par défaut 30 jours) — réservé par ordre chronologique.
Distant Au-delà de l'horizon — jamais réservé automatiquement, pour ne pas bloquer le stock des OF urgents.
1. Configurer l'horizon de réservation
Tout commence par un seul réglage : l'horizon de réservation (en jours), accessible depuis Fabrication → Configuration → Paramètres. Tout OF planifié au-delà de cet horizon est considéré "Distant" et ne réservera jamais de stock automatiquement.

2. Vue d'ensemble : priorités visibles d'un coup d'œil
Dans la liste des ordres de fabrication, chaque OF affiche son badge de priorité. Ici, trois OF urgents (échéance proche) et un OF distant (octobre 2026) — le stock est encore disponible pour tous.

3. Un OF urgent, stock disponible
Sur la fiche d'un OF urgent (WH/MO/00012, dû aujourd'hui), le badge "Urgent" est affiché en évidence et le statut des composants est "Disponible" : le stock a bien été réservé pour cet OF prioritaire.

4. Conflit de stock : le module entre en action
Lorsque le stock devient insuffisant pour satisfaire tous les OF confirmés, Smart Reservation rééquilibre automatiquement les réservations : les OF urgents passent en priorité, même si cela signifie que d'autres OF urgents (mais moins prioritaires dans l'ordre chronologique) se retrouvent temporairement "Pas disponible".

5. Réservation partielle sur un OF urgent
Sur WH/MO/00010 (urgent, dû dans 15 jours), le statut des composants passe à "Pas disponible" : seule une partie du stock requis (35 sur 50 unités) a pu être réservée, le reste étant alloué à des OF encore plus prioritaires.

6. Un OF distant qui a besoin de stock en urgence ? Forcez-le
Un client VIP demande une livraison anticipée sur un OF normalement "Distant" (WH/MO/00009, planifié pour octobre) ? Le bouton "Force Reservation" — visible uniquement sur les OF distants — permet de le faire passer manuellement en priorité absolue.

7. Résultat du forçage manuel
Une fois forcé, l'OF affiche le badge "Forced" (rouge), le statut des composants passe à "Disponible" et le stock nécessaire est intégralement réservé. Un bouton "Cancel Forced Reservation" permet de revenir en arrière à tout moment.

8. Rééquilibrer à la demande
Besoin de relancer le moteur de priorité immédiatement, sans attendre le prochain cron ou la prochaine confirmation d'OF ? Sélectionnez vos ordres de fabrication dans la liste et utilisez l'action "Rebalance Smart Reservations".

Fonctionnement automatique
Le rééquilibrage se déclenche automatiquement dans trois cas :
- À chaque confirmation d'un ordre de fabrication
- À chaque exécution du planificateur Odoo
- Chaque nuit à 1h00 via une tâche planifiée (cron)
Aucune intervention manuelle n'est donc nécessaire au quotidien — le moteur tourne en arrière-plan et garde vos réservations alignées sur les vraies priorités de production.
Pourquoi ce module change la donne
| Sans ce module | Avec MRP Smart Reservation |
|---|---|
| Le stock est réservé selon l'ordre de confirmation des OF | Le stock est réservé selon l'urgence réelle |
| Les OF urgents peuvent être bloqués par des OF lointains | Les OF urgents sont toujours prioritaires |
| Réallocation manuelle du stock, tableaux Excel, gestion de crise | Entièrement automatique, fonctionne en arrière-plan |
| Aucune visibilité sur les conflits de réservation | Badges colorés visibles d'un coup d'œil |
Informations techniques
- Compatibilité : Odoo 18.0, Community & Enterprise
- Dépendances :
mrp,stockuniquement — aucun module supplémentaire requis - Licence : OPL-1
- Installation : aucun nouveau menu, configuration en moins de 2 minutes
Mise en route
- Installer le module
- Aller dans Fabrication → Configuration → Paramètres et définir l'horizon de réservation (par défaut 30 jours)
- C'est terminé — le moteur se déclenche automatiquement dès la prochaine confirmation d'OF ou exécution du planificateur
MRP Smart Reservation
Automatic, priority-based stock reservation for your manufacturing orders.
The problem
By default, Odoo reserves stock for Manufacturing Orders (MOs) on a first-confirmed, first-served basis. This means an MO scheduled months from now can silently reserve components that an urgent MO — due tomorrow — desperately needs. The result: production delays, last-minute firefighting, and manual stock juggling that nobody has time for.
The solution: an automatic priority engine
MRP Smart Reservation automatically classifies every Manufacturing Order into one of three priority levels, shown as color-coded badges directly in the MO list and form view:
Urgent Due within your configured horizon (default: 30 days) — reserved in chronological order.
Distant Beyond the horizon — never reserved automatically, so it cannot block stock needed by urgent orders.
1. Set your reservation horizon
It all starts with one setting: the reservation horizon (in days), found under Manufacturing → Configuration → Settings. Any MO scheduled beyond this horizon is treated as "Distant" and will never automatically reserve stock.

2. Overview: priorities visible at a glance
In the Manufacturing Orders list, every MO shows its priority badge. Here, three urgent MOs (due soon) and one distant MO (October 2026) — stock is still available for all of them.

3. An urgent MO, stock available
On the form of an urgent MO (WH/MO/00012, due today), the "Urgent" badge is prominently displayed and the component status reads "Available": stock has been successfully reserved for this priority order.

4. Stock conflict: the module steps in
When available stock becomes insufficient to satisfy all confirmed MOs, Smart Reservation automatically rebalances reservations: the most urgent MOs take priority, even if that means other urgent — but less prioritized — MOs temporarily become "Not Available".

5. Partial reservation on an urgent MO
On WH/MO/00010 (urgent, due in 15 days), the component status switches to "Not Available": only part of the required stock (35 out of 50 units) could be reserved, the rest having been allocated to even higher-priority MOs.

6. A distant MO suddenly needs stock urgently? Force it
A VIP customer requests an early delivery on an MO normally classified as "Distant" (WH/MO/00009, scheduled for October)? The "Force Reservation" button — visible only on distant MOs — lets you manually bump it to top priority.

7. Result of a manual override
Once forced, the MO displays the "Forced" badge (red), the component status switches to "Available", and the required stock is fully reserved. A "Cancel Forced Reservation" button lets you revert at any time.

8. Rebalance on demand
Need to re-run the priority engine immediately, without waiting for the next cron run or MO confirmation? Select your Manufacturing Orders in the list and use the "Rebalance Smart Reservations" action.

How automation works
Rebalancing is triggered automatically in three cases:
- Every time a Manufacturing Order is confirmed
- After every run of the Odoo scheduler
- Every night at 1:00 AM via a scheduled cron job
No manual intervention is needed day-to-day — the engine runs in the background and keeps your reservations aligned with real production priorities.
Why it matters
| Without this module | With MRP Smart Reservation |
|---|---|
| Stock reserved by whichever MO was confirmed first | Stock reserved based on real urgency |
| Urgent orders delayed by far-future reservations | Urgent orders always prioritized |
| Manual stock reallocation, spreadsheets, firefighting | Fully automatic, runs in the background |
| No visibility into reservation conflicts | Clear color-coded badges show priority at a glance |
Technical details
- Compatible with: Odoo 18.0, Community & Enterprise
- Dependencies:
mrp,stockonly — no extra modules required - License: OPL-1
- Setup: no new menus, ready in under 2 minutes
Getting started
- Install the module
- Go to Manufacturing → Configuration → Settings and set your reservation horizon (default: 30 days)
- That's it — the engine runs automatically from your next MO confirmation or scheduler run
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