MD04 : lire la liste stocks/besoins SAP sans se tromper
Le disponible passe en négatif au 19 octobre, la planificatrice appelle le fournisseur en urgence, et la commande qu’elle fait avancer n’est pas celle qui posait problème. La planificatrice a été réactive ; elle a simplement mal lu l’écran. MD04 SAP, la liste stocks/besoins (Stock/Requirements List en connexion anglaise), aligne pour un article et une division le stock, les besoins et les réceptions prévues, dans l’ordre chronologique. Ligne après ligne, elle recalcule la quantité disponible : c’est cette colonne qui dit s’il va manquer quelque chose, et à quelle date. Le but ici : lire une ligne sans se tromper de date ni de quantité, puis transformer chaque message d’exception en geste concret.
MD04affiche, pour un article dans une division, tous les éléments qui comptent pour le calcul des besoins : stock, besoins clients et prévisionnels, besoins dépendants, ordres planifiés, demandes d’achat, commandes, ordres de fabrication.- La liste est dynamique : elle est recalculée à chaque ouverture.
MD05(la liste MRP) est une photo figée au dernier calcul, et elle n’existe qu’en MRP classique. - La colonne Available Qty est la seule à lire en premier : le stock de sécurité y est déjà déduit, donc un chiffre négatif ne veut pas toujours dire rupture physique.
- Les messages d’exception viennent du calcul des besoins. Sur une réception ferme, SAP ne bouge rien lui-même : il propose (avancer, reporter, annuler) et c’est toi qui agis.
- Pour une réception, la date affichée par défaut est la date de disponibilité, pas le jour de livraison : bascule sur la date d’entrée de marchandise (GR date) avant d’appeler un fournisseur.
À quoi sert MD04, et ce qu’elle ne montre pas
Un article, une division, une ligne de temps
Dans S/4HANA comme dans ECC, la transaction MD04 SAP est l’écran de sortie du calcul des besoins. Le calcul (MRP Live, transaction MD01N en S/4HANA) compare ce qui sort à ce qui entre et crée des propositions d’approvisionnement. MD04 te montre le résultat pour un seul article dans une seule division : une liste triée par date où chaque ligne est un élément MRP, avec sa quantité et le disponible qui en découle.
Elle se situe à la jonction de deux modules. Côté PP, tu y vois les ordres planifiés, les ordres de fabrication et les besoins dépendants qu’ils génèrent sur les composants. Côté MM, tu y vois les demandes d’achat, les commandes fournisseur et le stock. Les commandes clients, qui viennent de SD, y apparaissent comme des besoins. Le même écran sert donc au planificateur de production et à l’approvisionneur.
Prérequis transverses, souvent oubliés quand « MD04 est vide » : l’article doit avoir des vues MRP renseignées dans sa fiche (type de planification, taille de lot, gestionnaire MRP, stock de sécurité dans la vue MRP 2), et la division doit être planifiée. Sans calcul des besoins, MD04 affiche bien le stock et les besoins, mais aucune proposition et aucun message d’exception, puisque ce sont des produits du calcul.
Une photo du moment, pas le résultat du dernier calcul des besoins
Chaque fois que tu ouvres MD04, SAP relit les éléments MRP de l’article et recalcule la liste. Une commande saisie il y a dix minutes y apparaît, même si aucun calcul des besoins n’a tourné depuis. D’où le nom de liste dynamique.
Ce que la liste ne montre pas : l’historique (elle regarde vers l’avant), le détail du stock par magasin et par statut (c’est le rôle de MMBE), ni la vue sur plusieurs articles à la fois (c’est MD07). Si ta division travaille avec des MRP Area, les résultats se lisent par périmètre de planification : avant de conclure qu’un article manque, vérifie de quel périmètre il s’agit.
Ouvrir MD04 et régler la vue
Rien de ce qui suit ne modifie le paramétrage : ce sont des réglages d’affichage, personnels, que tu peux changer à tout moment.
-
1Saisis l’article et la division
Lance
MD04. Sur l’écran initial, onglet Individual Access, saisis l’article (Material) et la division (Plant), puis valide. L’onglet Collective Access permet de partir d’un gestionnaire MRP et d’obtenir la liste de ses articles. -
2Déplie l’en-tête
Utilise Expand Header Details. Tu y retrouves les paramètres utilisés pour planifier l’article (type de planification, taille de lot, délais, stock de sécurité) sans ouvrir la fiche article.
-
3Choisis la date affichée pour les réceptions
Par défaut, c’est la date de disponibilité ; un bouton permet de basculer sur la date d’entrée de marchandise (GR date). Retiens laquelle est active avant de lire quoi que ce soit.
-
4Filtre ou passe en totaux par période
Si la liste est longue, utilise les filtres pour ne garder que certains éléments, ou passe en totaux par période (Period Totals), par jour, semaine ou mois, pour voir d’un coup d’œil quand le disponible se dégrade.
-
5Enregistre tes préférences
Le bouton Settings garde tes préférences d’affichage (colonnes visibles, présentation). Elles valent aussi pour la liste MRP.


Deux colonnes utiles sont parfois masquées par défaut : Start/Release Date et Opening Date. Elles indiquent quand une proposition doit être lancée pour arriver à temps. Si elles n’apparaissent pas chez toi, ajoute-les dans la mise en page.
Lire une ligne : date, élément MRP, quantité, disponible
Chaque ligne de la liste stocks/besoins se lit de gauche à droite : une date, un élément MRP (la nature de la ligne), les données de l’élément (numéro de commande, d’ordre, de réservation), une éventuelle date de replanification (Rescheduling Date), un code d’exception, la quantité reçue ou requise, et enfin la quantité disponible.

| Élément MRP | Ce que c’est | Effet sur le disponible |
|---|---|---|
| Stock | Le stock disponible pour la planification, en première ligne | Point de départ |
| SafeSt | Le stock de sécurité de la fiche article | Sortie (déduit d’office) |
| IndReq | Besoin indépendant prévisionnel (PIR), la prévision de ventes ou de production | Sortie |
| Commande client | Besoin issu d’une commande SD | Sortie |
| Besoin dépendant | Besoin d’un composant créé par l’ordre d’un article de niveau supérieur | Sortie |
| Réservation | Sortie prévue réservée (par exemple pour un ordre) | Sortie |
| PlOrd. | Ordre planifié, proposition du calcul des besoins | Entrée |
| PurRqs | Demande d’achat | Entrée |
| Commande d’achat | Poste de commande fournisseur, réception ferme | Entrée |
| Ordre de fabrication | Ordre de production lancé ou créé, réception ferme | Entrée |
Si une abréviation ne te parle pas, ne devine pas : la loupe en début de ligne (Additional Data for MRP Element) ouvre le détail de l’élément, avec le document d’origine.
Les entrées : stock, réceptions prévues, ordres planifiés
Toutes les entrées n’ont pas le même poids. Une commande d’achat ou un ordre de fabrication sont fermes : le calcul des besoins ne les modifie plus. Un ordre planifié ou une demande d’achat sont des propositions : le prochain calcul peut les déplacer, les modifier ou les supprimer. Lire MD04 sans faire cette distinction, c’est compter sur des réceptions qui peuvent disparaître demain matin.
Depuis la loupe d’un ordre planifié, tu peux aussi le convertir sur place : en ordre de fabrication pour un article fabriqué, en demande d’achat pour un article acheté. C’est la conversion interactive, pratique pour traiter un cas urgent sans quitter la liste. Pour la suite côté achats, la demande d’achat suit le cycle d’approvisionnement classique.
Les sorties : besoins clients, besoins dépendants, réservations
Pour un composant, la plupart des sorties sont des besoins dépendants. Ils naissent quand un ordre planifié du produit fini est créé : SAP éclate la nomenclature et pose un besoin sur chaque composant, à la date où l’atelier en aura besoin. L’ordre planifié s’appuie sur une version de production pour savoir quelle nomenclature utiliser. Conséquence : un besoin dépendant aberrant dans MD04 se corrige rarement dans MD04. Il faut remonter à l’ordre du produit fini, puis à ses données de base.
La colonne disponible : où regarder en premier
La colonne Available Qty donne, ligne après ligne, ce qui resterait si tout se passait comme prévu. Le stock de sécurité y est déjà retiré dès la deuxième ligne : avec 40 tonnes en stock et 10 tonnes de stock de sécurité, la liste affiche 30 tonnes disponibles avant toute sortie. Ton réflexe : descendre la colonne et repérer la première ligne où le chiffre devient négatif. C’est la date qui compte, pas le total en bas de liste.
Date de besoin ou date de disponibilité : la confusion classique
Pour une réception, la date affichée par défaut est la date de disponibilité : le jour où la marchandise sera utilisable, temps de traitement après réception compris. Ce n’est pas le jour où le camion arrive. Si tu appelles un fournisseur avec la date de MD04 sans avoir basculé sur la date d’entrée de marchandise, tu lui demandes peut-être de livrer un jour trop tôt ou un jour trop tard.
Messages d’exception : que faire de chaque alerte ?
Un message d’exception est une alerte posée par le calcul des besoins sur un élément précis, quand une situation mérite l’œil du planificateur. Le code s’affiche dans la colonne Exception ; un double-clic sur le code affiche son libellé en bas d’écran. Pour les messages de replanification, la date proposée par SAP figure dans la colonne Rescheduling Date.
| Code | Libellé à l’écran | Ce que SAP signale | Le geste qui suit |
|---|---|---|---|
| 10 | Bring process forward | Une réception ferme arrive trop tard pour couvrir un besoin | Demander au fournisseur ou à l’atelier d’avancer à la date proposée, puis modifier la commande ou l’ordre |
| 15 | Postpone process | Une réception ferme arrive plus tôt que nécessaire | Négocier un report pour éviter du stock trop tôt |
| 20 | Cancel process | Une réception ferme ne sert plus : le besoin a baissé ou disparu | Vérifier avec l’acheteur ou l’atelier, puis réduire ou annuler |
| 30 | Plan process according to schedule | Le délai d’approvisionnement est trop long pour couvrir le besoin à temps | Chercher une solution d’urgence et vérifier que le délai de la fiche article est juste |
| 06 | Start date in the past | Une proposition aurait déjà dû être lancée | La convertir sans attendre, ou la replanifier si le besoin le permet |
| 07 | Finish date in the past | La date de fin ou de réception est dépassée | Traiter en priorité : retard réel ou réception oubliée dans le système ? |
| 96 | Stock fallen below safety stock level | Le disponible passe sous le stock de sécurité | Vérifier si la prochaine réception couvre ; sinon, avancer ou commander |
| 25 | Excess stock | La couverture dépasse le maximum prévu par le profil de couverture | Freiner les réceptions à venir |
| 50 | No BOM exists | Aucune nomenclature trouvée pour l’article à fabriquer | Corriger la donnée de base avant toute autre chose |
| 98 | Abnormal end of requirements planning | Le calcul s’est arrêté pour cet article | Trouver la donnée de base en cause, puis relancer le calcul |
Les messages sont regroupés en groupes paramétrables, et leur texte peut être adapté dans le customizing de ton entreprise : si un libellé diffère chez toi, fie-toi au code.
Avancer, reporter, annuler : les trois gestes les plus fréquents
Les codes 10, 15 et 20 concernent des réceptions fermes : commandes d’achat, ordres de fabrication, propositions fermées. C’est précisément parce qu’elles sont fermes que le calcul ne les déplace pas lui-même. Il pose une date conseillée et attend qu’un humain agisse. Sur une proposition non ferme, au contraire, le calcul ajuste directement date et quantité au passage suivant. Un 10 ou un 15 qui revient chaque matin sur la même commande signifie donc que personne ne l’a traité, pas que SAP se trompe.
Pour l’ordre de traitement, une règle simple suffit : d’abord ce qui empêche de planifier (98, 50), puis ce qui est déjà en retard (07, 06), ensuite les replanifications (10, 15, 20, 30), enfin les alertes de niveau de stock (96, 25). Les messages purement informatifs, comme 01 (Newly created order proposal), ne demandent en général aucune action.
Pourquoi MD04 et MD05 n’affichent pas toujours les mêmes messages
Les messages naissent pendant le calcul des besoins. La liste MRP (MD05) les fige au moment du calcul. MD04, elle, recalcule les éléments à chaque ouverture, et certains messages ne peuvent pas y être produits, comme ceux qui concernent des éléments nouvellement planifiés. De même, les messages informatifs et ceux d’arrêt anormal se consultent dans la liste MRP collective (MD06), pas dans MD07. Si les données ont beaucoup bougé depuis le dernier calcul, relance le calcul pour l’article avant de trancher sur un message.
Suivre un cas : du trou de stock à la décision
Cas fictif, sur l’usine de Valencia du groupe verrier Glass+ (division 1230). Marta Vidal, key user achats, ouvre MD04 pour la silice, article GP-SILICE, une matière première achetée. Elle est consommée par la fabrication du verre flotté GP-FLOAT : chaque ordre planifié de verre crée un besoin dépendant sur la silice. Stock de sécurité : 10 tonnes. Toutes les données sont inventées pour l’exemple.
| Date | Élément MRP | Rescheduling Date | Exception | Quantité (t) | Available Qty (t) |
|---|---|---|---|---|---|
| 12/10 | Stock | 40 | 40 | ||
| 12/10 | SafeSt | -10 | 30 | ||
| 15/10 | Besoin dépendant (ordre planifié GP-FLOAT) | -25 | 5 | ||
| 19/10 | Besoin dépendant (ordre planifié GP-FLOAT) | -25 | -20 | ||
| 23/10 | Commande d’achat, fournisseur de silice | 19/10 | 10 | 30 | 10 |
| 09/11 | Commande d’achat, fournisseur de silice | 20/11 | 15 | 30 | 40 |
| 20/11 | Besoin dépendant (ordre planifié GP-FLOAT) | -30 | 10 |
-
1Repérer le premier disponible négatif
Ici, -20 tonnes au 19/10. Attention, le stock de sécurité est déjà déduit : physiquement, il manquerait 10 tonnes, et les 10 autres seraient prises sur la sécurité. Le problème est réel, mais deux fois moins grave que le chiffre ne le laisse croire.
-
2Lire les messages
La commande du 23/10 porte un 10 avec une date proposée au 19/10. Celle du 09/11 porte un 15 avec une date proposée au 20/11. SAP ne demande pas une nouvelle commande : il demande de déplacer les deux qui existent.
-
3Ouvrir l’élément
La loupe sur la commande du 23/10 donne le numéro de commande et le fournisseur. Bascule l’affichage sur la date d’entrée de marchandise avant d’appeler, pour parler au fournisseur de son jour de livraison et non de la date de disponibilité interne.
-
4Décider
Marta obtient une livraison avancée pour la première commande et un report pour la seconde. Elle modifie les dates dans les deux commandes. C’est elle qui agit dans la commande :
MD04ne change rien toute seule. -
5Vérifier après rafraîchissement
La liste recalculée ne doit plus montrer de disponible négatif, et les messages 10 et 15 doivent disparaître au prochain calcul des besoins.
Après décision, la commande arrive au 19/10 et le disponible ne descend plus sous 5 tonnes. La seconde commande, déplacée au 20/11, couvre le besoin du même jour sans immobiliser 30 tonnes de silice pendant onze jours. L’erreur évitée est celle de l’introduction : relancer en urgence la mauvaise commande, ou en créer une troisième alors que deux suffisaient.
MD04, MD05, MD07 ou MMBE : quel écran pour quelle question ?
| Écran | La question à laquelle il répond | Quand l’ouvrir |
|---|---|---|
MD04, Stock/Requirements List | Va-t-il manquer cet article, et quand ? | Pour décider sur un article, avec la situation à jour |
MD05, MRP List | Qu’a calculé le dernier calcul des besoins ? | En MRP classique uniquement, pour comparer avec la situation actuelle |
MD07, collective | Quels articles de mon portefeuille demandent une action ? | Le matin, pour trier ses articles par urgence (feux rouge, jaune, vert) |
MMBE, Stock Overview | Combien ai-je en stock maintenant, et où ? | Pour le détail du stock actuel par magasin, sans projection dans le temps |
Point d’attention en S/4HANA : MRP Live ne crée pas de liste MRP. Si tous tes articles sont planifiés avec MRP Live, MD05 n’a rien à te montrer et MD04 devient ta seule référence. MD06 joue pour la liste MRP le même rôle collectif que MD07 pour la liste stocks/besoins.
Dans le Fiori launchpad, une recherche « Monitor Stock/Requirements List » ouvre la même liste. Pour piloter beaucoup d’articles, les apps Monitor Material Coverage (Net and Individual Segments) et Manage Material Coverage listent les articles en rupture selon une définition de pénurie et proposent des solutions. Enfin, pour simuler la charge à moyen terme plutôt que lire la situation du jour, c’est pMRP qu’il faut regarder.
Les erreurs de lecture qui coûtent cher
- Lire la mauvaise date. La date de disponibilité n’est pas la date de livraison. Bascule sur la date d’entrée de marchandise avant d’appeler un fournisseur.
- Lire MD05 en croyant lire MD04. La liste MRP est figée au dernier calcul : une commande saisie depuis n’y figure pas. Pour décider, ouvre
MD04. - Oublier le stock de sécurité. Il est déduit dès la deuxième ligne. Un disponible à -5 peut signifier « je mange ma sécurité », pas « l’atelier s’arrête ».
- Regarder le mauvais périmètre. Avec des MRP Area, un article peut sembler manquer dans un périmètre alors que le stock est ailleurs. Vérifie lequel tu lis.
- Confondre planifier et promettre.
MD04sert à planifier les approvisionnements. Promettre une date à un client relève du contrôle de disponibilité (ATP), qui suit ses propres règles.
Expliquer MD04 en entretien
La question arrive souvent ainsi : « Comment tu sais qu’un article va manquer ? ».
« J’ouvre MD04 pour l’article et la division. C’est une liste dynamique, recalculée à l’ouverture, qui aligne stock, besoins et réceptions par date et calcule le disponible ligne à ligne, stock de sécurité déduit. Je cherche la première ligne négative, puis je lis le message d’exception : sur une commande ferme, un 10 me dit d’avancer, un 15 de reporter, un 20 d’annuler, avec une date proposée. Je n’utilise MD05 qu’en MRP classique, pour comparer avec le dernier calcul. »
Tu montreras que tu as pratiqué si tu ajoutes la différence entre date de disponibilité et date de réception. D’autres questions du même type t’attendent dans les questions d’entretien consultant SAP.
Questions fréquentes
À quoi sert la transaction MD04 dans SAP ?
MD04 affiche la liste stocks/besoins d’un article dans une division : le stock, les besoins et les réceptions prévues, triés par date, avec la quantité disponible recalculée à chaque ligne. Elle sert au planificateur et à l’approvisionneur pour voir s’il va manquer quelque chose, quand, et quelle réception déplacer.
Quelle différence entre MD04 et MD05 ?
MD04 est dynamique : elle relit les éléments MRP à chaque ouverture et montre la situation actuelle. MD05, la liste MRP, est une photo figée au moment du dernier calcul des besoins. Elle n’existe qu’en MRP classique : MRP Live, en S/4HANA, ne crée pas de liste MRP.
Que veut dire un message d’exception dans MD04 ?
C’est une alerte posée par le calcul des besoins sur un élément précis. Les plus fréquents concernent les réceptions fermes : 10 pour avancer, 15 pour reporter, 20 pour annuler, avec une date proposée dans la colonne Rescheduling Date. SAP propose, le planificateur décide et modifie lui-même la commande ou l’ordre.
Pourquoi le disponible est-il négatif dans MD04 ?
Parce qu’à cette date, les sorties prévues dépassent le stock et les réceptions attendues. Le stock de sécurité est déjà déduit dans la colonne Available Qty : un chiffre négatif peut donc correspondre à une sécurité entamée plutôt qu’à une rupture physique. Lis la première ligne où le disponible bascule, c’est elle qui donne la date du problème.
MD04 ou MMBE pour voir le stock ?
MMBE montre le stock à l’instant, détaillé par magasin et par statut. MD04 projette ce stock dans le temps en y ajoutant besoins et réceptions. Pour savoir combien tu as, ouvre MMBE ; pour savoir combien il te restera le 19 du mois, ouvre MD04.
Comment voir plusieurs articles à la fois ?
MD07 donne un accès collectif à la liste stocks/besoins, par exemple pour tous les articles d’un gestionnaire MRP, avec des feux qui signalent l’urgence. En S/4HANA, les apps Fiori Monitor Material Coverage et Manage Material Coverage permettent aussi de suivre les ruptures sur un portefeuille d’articles.
Le geste à prendre demain matin
Lire MD04 sans se tromper tient en peu de gestes : savoir quelle date est affichée, descendre la colonne disponible jusqu’à la première ligne négative, puis traduire le message d’exception en action sur une réception ferme. Le reste de l’écran sert à vérifier ce que ces trois gestes t’ont montré. Pour replacer cet écran dans toute la chaîne de planification, le parcours gratuit de SAP Learning sur la planification de production S/4HANA consacre une unité à l’évaluation des résultats. Dans ton système de test, prends un article que tu connais, ouvre sa liste stocks/besoins et cherche un 10 ou un 15 : explique-toi à voix haute quelle commande il faudrait déplacer, et à quelle date. Et si c’est toute une équipe de planificateurs qui doit apprendre à lire cet écran de la même façon, une formation SAP en entreprise permet de poser ces réflexes ensemble.