Documentation11 min de lecture

Production : MRP multi-niveaux, nomenclatures et rangement des produits finis

Le module OCA `mrp_multi_level` (dépôt `manufacture`, version 18.0.1.4.4, licence LGPL-3) crée 5 modèles et ajoute 158 champs : il remplace les règles de stock d'Odoo par un **calcul des besoins multi-niveaux** par couple produit / zone MRP, qui explose la nomenclature du plus haut niveau vers le plus bas. Ce qu'un vrai MRP apporte face aux règles de réapprovisionnement, et les deux petits modules qui l'accompagnent.

Atelier de production et planification des ordres de fabrication

Odoo Community sait fabriquer : nomenclatures, gammes, ordres de fabrication. Pour le réapprovisionnement, il s'appuie sur des règles de stock — un minimum, un maximum, une quantité à commander par article.

C'est suffisant pour un atelier simple et insuffisant dès qu'il y a plusieurs niveaux de nomenclature, des délais différents par composant et des stocks de sécurité. mrp_multi_level apporte le calcul des besoins classique que l'industrie attend.

Résumé

mrp_multi_level calcule les besoins de réapprovisionnement à partir du stock connu, de la demande, de l'offre et de paramètres définis par couple produit / zone MRP, en explosant la nomenclature du plus haut niveau vers le plus bas. Le résultat se matérialise en ordres planifiés que l'utilisateur confirme pour générer des ordres de fabrication, des achats ou des transferts.

Trois petits modules l'accompagnent : mrp_bom_location indique depuis quel emplacement prélever chaque composant, mrp_bom_component_menu permet de chercher dans quelle nomenclature un composant est utilisé, et mrp_production_putaway_strategy applique enfin les stratégies de rangement aux produits finis d'un ordre de fabrication — ce qu'Odoo ne fait pas nativement.

L'essentiel

  • Calcul des besoins multi-niveaux avec zones MRP, stocks de sécurité et délais — 5 modèles créés, 158 champs, 6 menus, 2 groupes de droits.
  • Ordres planifiés : le résultat du calcul, confirmé par l'utilisateur pour générer fabrication, achat ou transfert.
  • mrp_bom_location : l'emplacement de prélèvement préférentiel sur la nomenclature et ses lignes, repris dans le rapport de structure.
  • mrp_bom_component_menu : zéro champ, zéro modèle, un menu — chercher dans quelles nomenclatures un composant est utilisé.
  • mrp_production_putaway_strategy : zéro champ, et il corrige un oubli d'Odoo — les stratégies de rangement ne s'appliquent pas aux produits finis d'un ordre de fabrication.
  • mrp_multi_level dépend de mrp_warehouse_calendar et de purchase_stock.

Ce que ces modules ajoutent à l'instance

ModuleModèles créésChampsMenusVersionLicence
mrp_multi_level5158618.0.1.4.4LGPL-3
mrp_bom_location02018.0.1.1.2LGPL-3
mrp_bom_component_menu00118.0.1.0.0AGPL-3
mrp_production_putaway_strategy00018.0.1.0.0AGPL-3

Le contraste est total : un domaine fonctionnel entier d'un côté, trois corrections de détail de l'autre — dont deux qui n'ajoutent rien au modèle de données et changent pourtant un comportement.

Règles de stock ou MRP : ce qui change

La différence n'est pas une question de sophistication mais de méthode de calcul.

Règles de stock (Odoo standard)MRP multi-niveaux
Unité de décisionUn article, un seuilUn couple produit / zone MRP
HorizonLe seuil est franchi ou nonLa demande et l'offre sur une période
NomenclatureDéclenche à chaque niveau, indépendammentExplosée du plus haut niveau vers le plus bas
DélaisUn délai par articleDélais pris en compte dans le calcul
Stock de sécuritéLe minimum joue ce rôleParamètre distinct
RésultatUne demande d'achat ou un ordre, immédiatOrdres planifiés à confirmer

La troisième ligne est celle qui justifie le module. Avec des règles de stock, un produit fini à trois niveaux de nomenclature déclenche trois réapprovisionnements indépendants, chacun quand son propre seuil est franchi — donc en décalé, et sans tenir compte du besoin réel du niveau supérieur.

Un MRP part de la demande du produit fini, descend la nomenclature, et calcule à chaque niveau ce qu'il faut et pour quand. C'est la différence entre réagir à un seuil et planifier un besoin.

La dernière ligne compte aussi : le MRP ne lance rien tout seul. Il produit des ordres planifiés, que quelqu'un examine et confirme — ce qui est à la fois un garde-fou et un travail à prévoir dans l'organisation.

Où le trouver dans Odoo

MenuCe qu'on y fait
Fabrication ▸ MRPL'écran principal du calcul
Fabrication ▸ Planification ▸ Run MRP Multi LevelLancer le calcul
Fabrication ▸ Planification ▸ Planned OrdersLes ordres planifiés à examiner et confirmer
Fabrication ▸ Planification ▸ MRP InventoryLa vue du stock telle que le MRP la voit
Fabrication ▸ Configuration ▸ MRP AreasLes zones MRP — la notion centrale du module

La notion de zone MRP est celle qu'il faut comprendre avant tout paramétrage : les paramètres de réapprovisionnement — stock de sécurité, délais, quantités — se définissent par couple produit / zone, et non par article seul. Une même référence peut donc avoir des règles différentes selon le site logistique.

C'est ce qui rend le module adapté à une industrie multi-sites, et ce qui le rend inutilement complexe pour un atelier unique.

Les trois modules de nomenclature et de rangement

mrp_bom_location : depuis quel emplacement prélever

Deux champs : un emplacement sur la nomenclature et un sur ses lignes de composants, pour indiquer depuis quel emplacement les composants doivent préférentiellement être prélevés.

L'information est reprise dans la liste, le formulaire, la recherche des nomenclatures, ainsi que dans le rapport et l'aperçu interactif de structure. C'est ce dernier point qui en fait un outil d'atelier : la structure imprimée indique où aller chercher chaque pièce.

Sur un atelier à plusieurs zones de stockage, c'est la différence entre un opérateur qui sait et un opérateur qui demande.

mrp_bom_component_menu : où ce composant est-il utilisé ?

Zéro champ, zéro modèle, un menu : Fabrication ▸ Produits ▸ Composants de nomenclature.

Il permet de chercher, à travers toutes les nomenclatures existantes, dans laquelle ou lesquelles un composant précis est utilisé — sans ouvrir chaque nomenclature une par une.

Le cas qui le justifie : un composant est en rupture, ou son prix a doublé, ou le fournisseur l'arrête. La première question est « qu'est-ce que ça impacte ? ». Sans ce module, la réponse demande de parcourir le catalogue.

mrp_production_putaway_strategy : un oubli d'Odoo corrigé

Zéro champ ajouté, un modèle étendu, et une correction de comportement que la description énonce clairement :

Sans lui, les stratégies de rangement configurées sur les emplacements ne s'appliquent qu'aux mouvements de stock classiques — réceptions, transferts — et non à l'emplacement de destination des produits finis d'un ordre de fabrication.

Conséquence concrète : vous avez configuré des règles de rangement pour que chaque produit aille dans sa zone, elles fonctionnent pour les réceptions, et les produits sortis de production atterrissent tous au même endroit — l'emplacement de stock par défaut.

C'est le genre d'incohérence qu'on met des mois à attribuer à sa cause, parce que les règles de rangement « fonctionnent » par ailleurs.

Quand un MRP se justifie, et quand il ne se justifie pas

SituationVerdict
Atelier unique, nomenclatures à un niveauLes règles de stock suffisent — le MRP ajoute de la complexité sans gain
Nomenclatures à plusieurs niveauxLe MRP commence à payer
Plusieurs sites avec des paramètres différentsLes zones MRP sont la bonne réponse
Délais d'approvisionnement longs et variablesLe MRP, parce qu'il les intègre au calcul
Personne pour examiner les ordres planifiésNe pas l'installer : les ordres s'accumuleront sans être confirmés

La dernière ligne est la plus importante et la moins technique. Un MRP produit des propositions ; si personne n'a le temps de les examiner chaque semaine, il ne produit rien d'utile — juste un écran de plus.

C'est le même constat que pour les nomenclatures elles-mêmes : la justesse du MRP dépend entièrement de celle des nomenclatures. Voir l'industrie et la production avec Odoo, qui explique pourquoi la nomenclature officielle et celle de l'atelier diffèrent presque toujours.

Limites connues

  • mrp_multi_level dépend de mrp_warehouse_calendar et de purchase_stock : le calendrier d'entrepôt est une dépendance structurante, à paramétrer avant toute exécution du calcul.
  • Les ordres planifiés ne se confirment pas tout seuls : c'est une sécurité, et une charge de travail récurrente à attribuer.
  • Les zones MRP ajoutent une dimension à tous les paramètres de réapprovisionnement : sur un site unique, cette dimension est une complexité sans contrepartie.
  • 158 champs : le paramétrage par couple produit / zone demande un travail de données initial substantiel, qu'il faut chiffrer.

La dernière est la raison pour laquelle nous ne déployons jamais un MRP sur l'ensemble du catalogue d'un coup : on commence par les familles qui font le chiffre, et on étend.

Identité technique

ModuleVersionLicenceDépend de
mrp_multi_level18.0.1.4.4LGPL-3mrp, mrp_warehouse_calendar, purchase_stock
mrp_bom_location18.0.1.1.2LGPL-3mrp
mrp_bom_component_menu18.0.1.0.0AGPL-3mrp
mrp_production_putaway_strategy18.0.1.0.0AGPL-3mrp

Les quatre viennent du dépôt OCA manufacture, branche 18.0, qui compte 54 modules documentés. Ils font partie de notre pack industrie (72 modules), au-delà du socle commun.

Questions fréquentes

Quelle différence entre les règles de stock d'Odoo et un MRP ?

Les règles de stock réagissent à un seuil, article par article, indépendamment à chaque niveau de nomenclature. Un MRP part de la demande du produit fini, explose la nomenclature du plus haut niveau vers le plus bas, intègre les délais et les stocks de sécurité, et produit des ordres planifiés par couple produit / zone MRP.

Le MRP lance-t-il les achats et les fabrications automatiquement ?

Non : il produit des ordres planifiés que l'utilisateur confirme pour générer des ordres de fabrication, des achats ou des transferts. C'est une sécurité, et c'est aussi une charge de travail récurrente — sans personne pour les examiner, les ordres s'accumulent sans effet.

Qu'est-ce qu'une zone MRP ?

C'est la notion centrale du module : les paramètres de réapprovisionnement — stock de sécurité, délais, quantités — se définissent par couple produit / zone, pas par article seul. Une même référence peut donc avoir des règles différentes selon le site. Sur un site unique, cette dimension est une complexité sans contrepartie.

Pourquoi mes produits finis ne suivent-ils pas les règles de rangement ?

Parce que les stratégies de rangement d'Odoo ne s'appliquent nativement qu'aux mouvements de stock classiques — réceptions, transferts — et non à la destination des produits finis d'un ordre de fabrication. mrp_production_putaway_strategy corrige cet oubli, sans ajouter aucun champ.

Comment savoir dans quelles nomenclatures un composant est utilisé ?

Avec mrp_bom_component_menu, qui ajoute un menu dédié permettant de chercher à travers toutes les nomenclatures existantes. Zéro champ, zéro modèle — et la réponse immédiate à « qu'est-ce que ça impacte ? » quand un composant est en rupture ou arrêté par son fournisseur.

Se faire accompagner

Un MRP ne vaut que ce que valent les nomenclatures qui l'alimentent, et la nomenclature officielle diffère presque toujours de celle de l'atelier. C'est la raison numéro un d'échec d'un projet industriel : un calcul juste sur des données fausses produit des ordres que personne ne suit.

Nous commençons donc par un atelier nomenclatures — faire valider chaque nomenclature par l'atelier, pas par le bureau d'études — puis nous déployons le MRP sur les familles qui font le chiffre avant d'étendre. Voir les prestations d'Atalios Consulting et notre méthode. Demander un rappel.

Pour aller plus loin

En résumé

Un calcul des besoins qui explose la nomenclature du haut vers le bas, par couple produit / zone, et produit des ordres planifiés à confirmer. Trois petits modules l'accompagnent, dont deux qui n'ajoutent aucun champ : l'emplacement de prélèvement sur la nomenclature, la recherche de composant, et le rangement enfin appliqué aux produits finis. Parlons de votre production.

Documentation OCAIndustrieProduction

Partager

Fiches connexes

Relevés bancaires et pièces comptables sur un bureau
Relevé sur une instance Odoo 18 Community, le module OCA `account_reconcile_oca` (dépôt `account-reconcile`, version 18.0.1.1.14, licence AGPL-3) ajoute 2 modèles, 87 champs et 17 vues : il remplace le lettrage limité de la Community par deux écrans dédiés, bancaire et par compte. Ce qu'il ajoute à l'instance, où le trouver, ses quatre cas d'usage et ses limites connues.
Lire la suite
Documentation OCA, Comptabilité
Relevé bancaire et suivi des opérations sur un bureau
Odoo a retiré l'import de relevés bancaires de son édition Community à partir de la version 14 : les 3 modules OCA `account_statement_import_file` (18.0.1.0.3, LGPL-3), `_camt` et `_ofx` le rétablissent, avec la détection des transactions déjà importées. Comment ils s'articulent, ce que CAMT apporte de plus qu'OFX, et le piège du fichier sans IBAN.
Lire la suite
Documentation OCA, Comptabilité