Skip to content
Cette page existe aussi en français. Voir en français
SAP Tutorials

How to Read MD04 in SAP: Stock/Requirements List Explained

MD04 shows stock, requirements and receipts for one material on a timeline. Learn how to read MD04, decode its exception messages and act on them.

How to Read MD04 in SAP: The Stock/Requirements List Explained

Available quantity goes negative on October 19. The planner calls the supplier in a hurry, and the order she pulls in is not the one causing the problem. She reacted fast; she simply misread the screen. MD04 in SAP, the Stock/Requirements List, lines up stock, requirements and planned receipts for one material in one plant, in date order. Line by line, it recalculates the available quantity: that column tells you whether something will run short, and on which date. The goal here: read a line without getting the date or the quantity wrong, then turn every exception message into a concrete action.

Key takeaways in 30 seconds
  • MD04 shows, for one material in one plant, every element that counts for material requirements planning: stock, sales and forecast requirements, dependent requirements, planned orders, purchase requisitions, purchase orders, production orders.
  • The list is dynamic: it is recalculated every time you open it. MD05 (the MRP list) is a frozen snapshot of the last planning run, and it only exists in classic MRP.
  • The Available Qty column is the one to read first: safety stock is already deducted from it, so a negative figure does not always mean a physical stockout.
  • Exception messages come from the planning run. On a firm receipt, SAP changes nothing by itself: it suggests (bring forward, postpone, cancel) and you take the action.
  • For a receipt, the date shown by default is the availability date, not the delivery day: switch to the goods receipt date (GR date) before calling a supplier.

What MD04 is for, and what it does not show

One material, one plant, one timeline

In S/4HANA as in ECC, the MD04 transaction is the output screen of material requirements planning. The planning run (MRP Live, transaction MD01N in S/4HANA) compares what goes out with what comes in and creates procurement proposals. MD04 shows you the result for a single material in a single plant: a list sorted by date where each line is an MRP element, with its quantity and the resulting available quantity.

It sits where two modules meet. On the PP side, you see planned orders, production orders and the dependent requirements they create for components. On the MM side, you see purchase requisitions, purchase orders and stock. Sales orders, which come from SD, appear as requirements. The same screen therefore serves both the production planner and the buyer.

Prerequisites that are often forgotten when “MD04 is empty”: the material needs its MRP views maintained in the material master (MRP type, lot size, MRP controller, safety stock in the MRP 2 view), and the plant must be planned. Without a planning run, MD04 does show stock and requirements, but no proposals and no exception messages, since those are outputs of the run.

A live snapshot, not the result of the last planning run

Every time you open MD04, SAP rereads the material’s MRP elements and recalculates the list. A purchase order entered ten minutes ago shows up, even if no planning run has happened since. Hence the name dynamic list.

What the list does not show: history (it looks forward), stock detail by storage location and stock type (that is the job of MMBE), or several materials at once (that is MD07). If your plant works with MRP areas, results are read per planning scope: before concluding that a material is short, check which MRP area you are looking at.

Opening MD04 and setting up the view

Nothing below changes configuration: these are personal display settings that you can change at any time.

  1. 1
    Enter the material and the plant

    Start MD04. On the initial screen, Individual Access tab, enter the Material and the Plant, then confirm. The Collective Access tab lets you start from an MRP controller and get the list of their materials.

  2. 2
    Expand the header

    Use Expand Header Details. You get the parameters used to plan the material (MRP type, lot size, lead times, safety stock) without opening the material master.

  3. 3
    Choose which date is shown for receipts

    By default, it is the availability date; a button lets you switch to the goods receipt date (GR date). Note which one is active before you read anything.

  4. 4
    Filter, or switch to period totals

    If the list is long, use the filters to keep only some elements, or switch to Period Totals, by day, week or month, to see at a glance when the available quantity deteriorates.

  5. 5
    Save your preferences

    The Settings button keeps your display preferences (visible columns, layout). They also apply to the MRP list.

Two useful columns are sometimes hidden by default: Start/Release Date and Opening Date. They tell you when a proposal must be released to arrive on time. If you do not see them, add them to the layout.

Reading a line: date, MRP element, quantity, available quantity

Each line of the stock/requirements list reads from left to right: a date, an MRP element (what kind of line it is), the MRP element data (purchase order, order or reservation number), a possible Rescheduling Date, an exception code, the received or required quantity, and finally the available quantity.

Reading one MD04 line in four looks Diagram of one line of the stock/requirements list with its English column labels: Date, MRP element, MRP element data, Rescheduling date, Exception, Rec./reqd qty, Available qty. Fictional example: purchase order dated Oct 23, suggested date Oct 19, exception 10, quantity 30, available 10. Four pointers: the date is an availability date, the element is firm or a proposal, the suggested date and the exception code tell you the action, the available quantity already includes safety stock. Reading one MD04 line, left to right Our own diagram, column labels in English as on screen DateOct 23MRP elementPurchaseorderMRP elementdataPO numberand itemReschedulingdateOct 19Exception10Rec./reqdqty30Availableqty10 1. The dateAvailability dateby default, not theday the truckarrives.2. MRP elementFirm: purchase orproduction order.Proposal: plannedorder, purchaserequisition.3. Date + exceptionThe suggested action:10 = bring forward,15 = postpone.SAP moves nothingon its own.4. Available qtySafety stock isalready deducted.Find the first minus,not the final total. Example: silica purchase order from the Glass+ case below (fictional data).
One line of the stock/requirements list: four columns to check before you decide anything.
MRP elementWhat it isEffect on available qty
StockStock available for planning, on the first lineStarting point
SafeStSafety stock from the material masterIssue (deducted automatically)
IndReqPlanned independent requirement (PIR), the sales or production forecastIssue
Sales orderRequirement from an SD sales orderIssue
Dependent requirementComponent requirement created by the order of a higher-level materialIssue
ReservationPlanned issue that has been reserved (for example for an order)Issue
PlOrd.Planned order, a proposal from the planning runReceipt
PurRqsPurchase requisitionReceipt
Purchase orderPurchase order item, a firm receiptReceipt
Production orderReleased or created production order, a firm receiptReceipt
The most common MRP elements in the stock/requirements list and their effect on the available quantity.
An abbreviation you do not recognize?

If an abbreviation means nothing to you, do not guess: the magnifying glass at the start of the line (Additional Data for MRP Element) opens the element detail, with the source document.

Receipts: stock, scheduled receipts, planned orders

Not all receipts carry the same weight. A purchase order or a production order is firm: the planning run no longer changes it. A planned order or a purchase requisition is a proposal: the next run can move it, change it or delete it. Reading MD04 without making that distinction means counting on receipts that may be gone tomorrow morning.

From the magnifying glass of a planned order, you can also convert it on the spot: into a production order for a manufactured material, into a purchase requisition for a purchased one. This is interactive conversion, handy for an urgent case without leaving the list. From there, the purchase requisition follows the standard procurement cycle.

Issues: customer requirements, dependent requirements, reservations

For a component, most issues are dependent requirements. They are created when a planned order for the finished product is created: SAP explodes the bill of materials and places a requirement on each component, on the date the shop floor will need it. The planned order relies on a production version to know which BOM to use. The consequence: an odd dependent requirement in MD04 is rarely fixed in MD04. You need to go back to the finished product’s order, then to its master data.

The available quantity column: where to look first

The Available Qty column gives, line after line, what would be left if everything went to plan. Safety stock is already taken out from the second line: with 40 tonnes in stock and 10 tonnes of safety stock, the list shows 30 tonnes available before any issue. Your reflex: go down the column and spot the first line where the figure turns negative. That date is what matters, not the total at the bottom of the list.

Requirement date or availability date: the classic mix-up

For a receipt, the date shown by default is the availability date: the day the goods can be used, including goods receipt processing time. It is not the day the truck arrives. If you call a supplier with the MD04 date without switching to the goods receipt date, you may be asking them to deliver a day too early or a day too late.

MD04 exception messages: what to do with each alert

An exception message is an alert set by the planning run on a specific element, when a situation needs the planner’s attention. The code appears in the Exception column; double-clicking it shows its text at the bottom of the screen. For rescheduling messages, the date SAP suggests is in the Rescheduling Date column.

CodeText on screenWhat SAP is flaggingThe action that follows
10Bring process forwardA firm receipt arrives too late to cover a requirementAsk the supplier or the shop floor to pull it in to the suggested date, then change the purchase order or the order
15Postpone processA firm receipt arrives earlier than neededNegotiate a later date to avoid stock arriving too early
20Cancel processA firm receipt is no longer needed: the requirement has dropped or disappearedCheck with the buyer or the shop floor, then reduce or cancel
30Plan process according to scheduleThe lead time is too long to cover the requirement in timeLook for an emergency solution and check that the lead time in the material master is right
06Start date in the pastA proposal should already have been releasedConvert it without waiting, or reschedule it if the requirement allows
07Finish date in the pastThe finish or receipt date has passedHandle it first: a real delay, or a receipt never posted in the system?
96Stock fallen below safety stock levelAvailable quantity drops below safety stockCheck whether the next receipt covers it; if not, bring it forward or order
25Excess stockCoverage exceeds the maximum set in the coverage profileSlow down the upcoming receipts
50No BOM existsNo bill of materials found for the material to be producedFix the master data before anything else
98Abnormal end of requirements planningThe planning run stopped for this materialFind the master data at fault, then run planning again
The most common MD04 exception messages and the action that follows each one.

Messages are grouped into configurable groups, and their text can be adapted in your company’s customizing: if a text differs in your system, go by the code.

Bring forward, postpone, cancel: the three most frequent actions

Codes 10, 15 and 20 apply to firm receipts: purchase orders, production orders, firmed proposals. It is precisely because they are firm that the planning run does not move them itself. It sets a suggested date and waits for a person to act. On a non-firm proposal, by contrast, the run adjusts date and quantity directly the next time it runs. A 10 or a 15 that comes back every morning on the same purchase order therefore means nobody has dealt with it, not that SAP is wrong.

For the order of processing, one simple rule is enough: first what prevents planning (98, 50), then what is already late (07, 06), next the rescheduling messages (10, 15, 20, 30), and finally the stock level alerts (96, 25). Purely informational messages, such as 01 (Newly created order proposal), usually need no action.

Why MD04 and MD05 do not always show the same messages

Messages are created during the planning run. The MRP list (MD05) freezes them at the time of the run. MD04, on the other hand, recalculates the elements each time it opens, and some messages cannot be generated there, such as those about newly planned elements. Likewise, informational messages and abnormal-end messages are viewed in the collective MRP list (MD06), not in MD07. If the data has changed a lot since the last run, run planning again for the material before deciding on a message.

Walking through a case: from stock gap to decision

A fictional case at the Valencia plant of the Glass+ glass group (plant 1230). Marta Vidal, purchasing key user, opens MD04 for silica, material GP-SILICE, a purchased raw material. It is consumed by the production of float glass GP-FLOAT: each planned order for glass creates a dependent requirement on silica. Safety stock: 10 tonnes. All data is invented for the example.

DateMRP elementRescheduling DateExceptionQuantity (t)Available Qty (t)
Oct 12Stock4040
Oct 12SafeSt-1030
Oct 15Dependent requirement (GP-FLOAT planned order)-255
Oct 19Dependent requirement (GP-FLOAT planned order)-25-20
Oct 23Purchase order, silica supplierOct 19103010
Nov 9Purchase order, silica supplierNov 20153040
Nov 20Dependent requirement (GP-FLOAT planned order)-3010
Stock/requirements list for material GP-SILICE, plant 1230, before the decision (fictional data).
  1. 1
    Spot the first negative available quantity

    Here, -20 tonnes on Oct 19. Careful, safety stock is already deducted: physically, 10 tonnes would be missing, and the other 10 would come out of safety stock. The problem is real, but half as serious as the figure suggests.

  2. 2
    Read the messages

    The Oct 23 purchase order carries a 10 with a suggested date of Oct 19. The Nov 9 one carries a 15 with a suggested date of Nov 20. SAP is not asking for a new purchase order: it is asking you to move the two that already exist.

  3. 3
    Open the element

    The magnifying glass on the Oct 23 purchase order gives the PO number and the supplier. Switch the display to the goods receipt date before calling, so you talk to the supplier about their delivery day and not about the internal availability date.

  4. 4
    Decide

    Marta gets an earlier delivery for the first purchase order and a later one for the second. She changes the dates in both purchase orders. She is the one who acts in the purchase order: MD04 changes nothing on its own.

  5. 5
    Check after refreshing

    The recalculated list should no longer show any negative available quantity, and messages 10 and 15 should disappear at the next planning run.

After the decision, the purchase order arrives on Oct 19 and available quantity no longer drops below 5 tonnes. The second purchase order, moved to Nov 20, covers the requirement on the same day without tying up 30 tonnes of silica for eleven days. The mistake avoided is the one from the introduction: chasing the wrong purchase order in a hurry, or creating a third one when two were enough.

GP-SILICE available quantity before and after the decision Timeline of the available quantity of the fictional material GP-SILICE, plant 1230, from Oct 12 to Nov 20. Before the decision, available quantity goes from 30 to 5 tonnes on Oct 15, drops to -20 tonnes on Oct 19, climbs back to 10 on Oct 23, to 40 on Nov 9 and falls back to 10 on Nov 20. After the decision, the first purchase order is brought forward to Oct 19 and the second postponed to Nov 20: available quantity no longer drops below 5 tonnes and stays at 10 tonnes from Oct 19 to Nov 20. GP-SILICE available qty: before and after Before decision After decision Available qty in tonnes, fictional data 40302010-200-10 Physical stockout below -10 t Oct 12Oct 15Oct 19Oct 23Nov 9Nov 20 30 t tied up for 11 days, avoided 40 t in stock, 10 t of safety stock already deducted 5 t First negative available qty: -20 t on Oct 19 10 t taken from safety stock, 10 t of physical shortage Message 10: Oct 23 PObrought forward to Oct 19 Message 15: Nov 9 PO postponed to Nov 20 After decision: never below 5 t available
The GP-SILICE case on a timeline: bringing the first purchase order forward and postponing the second is enough, with no extra order (fictional data).

MD04 vs MD05, MD07 or MMBE: which screen for which question?

ScreenThe question it answersWhen to open it
MD04, Stock/Requirements ListWill this material run short, and when?To make a decision on one material, with the current situation
MD05, MRP ListWhat did the last planning run calculate?Classic MRP only, to compare with the current situation
MD07, collectiveWhich materials in my portfolio need action?In the morning, to sort your materials by urgency (red, yellow, green lights)
MMBE, Stock OverviewHow much do I have in stock right now, and where?For current stock detail by storage location, with no projection over time
Four related screens, four different questions.

One thing to watch in S/4HANA: MRP Live does not create MRP lists. If all your materials are planned with MRP Live, MD05 has nothing to show you and MD04 becomes your only reference. MD06 plays the same collective role for the MRP list as MD07 does for the stock/requirements list.

In the Fiori launchpad, searching for “Monitor Stock/Requirements List” opens the same list. To manage many materials, the Monitor Material Coverage (Net and Individual Segments) and Manage Material Coverage apps list materials that are short according to a shortage definition and suggest solutions. Finally, to simulate medium-term load rather than read today’s situation, pMRP is the tool to look at.

Reading mistakes that cost a lot

  • Reading the wrong date. The availability date is not the delivery date. Switch to the goods receipt date before calling a supplier.
  • Reading MD05 while thinking it is MD04. The MRP list is frozen at the last run: a purchase order entered since then is not in it. To make a decision, open MD04.
  • Forgetting safety stock. It is deducted from the second line. An available quantity of -5 can mean “I am eating into my safety stock”, not “the line is going to stop”.
  • Looking at the wrong scope. With MRP areas, a material can look short in one area while the stock sits in another. Check which one you are reading.
  • Mixing up planning and promising. MD04 is for planning procurement. Promising a date to a customer is the job of the availability check (ATP), which follows its own rules.

Explaining MD04 in an interview

The question often comes like this: “How do you know a material is going to run short?”.

A thirty-second answer

“I open MD04 for the material and the plant. It is a dynamic list, recalculated when it opens, that lines up stock, requirements and receipts by date and calculates the available quantity line by line, with safety stock deducted. I look for the first negative line, then I read the exception message: on a firm purchase order, a 10 tells me to bring it forward, a 15 to postpone it, a 20 to cancel it, with a suggested date. I only use MD05 in classic MRP, to compare with the last planning run.”

You will show you have hands-on practice if you add the difference between the availability date and the goods receipt date. More questions of the same kind are waiting for you in our SAP consultant interview questions.

Frequently asked questions

What is the MD04 transaction used for in SAP?

MD04 displays the stock/requirements list of a material in a plant: stock, requirements and planned receipts, sorted by date, with the available quantity recalculated on every line. Planners and buyers use it to see whether something will run short, when, and which receipt to move.

What is the difference between MD04 and MD05?

MD04 is dynamic: it rereads the MRP elements every time it opens and shows the current situation. MD05, the MRP list, is a snapshot frozen at the time of the last planning run. It only exists in classic MRP: MRP Live, in S/4HANA, does not create MRP lists.

What does an exception message mean in MD04?

It is an alert set by the planning run on a specific element. The most frequent ones concern firm receipts: 10 to bring forward, 15 to postpone, 20 to cancel, with a suggested date in the Rescheduling Date column. SAP suggests, the planner decides and changes the purchase order or the order personally.

Why is the available quantity negative in MD04?

Because on that date, planned issues exceed stock and expected receipts. Safety stock is already deducted in the Available Qty column, so a negative figure can mean safety stock is being used rather than a physical stockout. Read the first line where the available quantity flips: that line gives you the date of the problem.

MD04 or MMBE to check stock?

MMBE shows stock right now, broken down by storage location and stock type. MD04 projects that stock over time by adding requirements and receipts. To know how much you have, open MMBE; to know how much you will have left on the 19th of the month, open MD04.

How can I see several materials at once?

MD07 gives collective access to the stock/requirements list, for example for all the materials of an MRP controller, with traffic lights that flag urgency. In S/4HANA, the Fiori apps Monitor Material Coverage and Manage Material Coverage also let you track shortages across a portfolio of materials.

What to do tomorrow morning

Reading MD04 correctly comes down to a few moves: know which date is displayed, go down the available quantity column to the first negative line, then turn the exception message into an action on a firm receipt. The rest of the screen is there to confirm what those three moves showed you. To place this screen in the whole planning chain, the free SAP Learning course on S/4HANA production planning has a unit on evaluating planning results. In your test system, take a material you know, open its stock/requirements list and look for a 10 or a 15: explain out loud which purchase order should move, and to which date. And if a whole team of planners needs to learn to read this screen the same way, SAP training for your company helps build those reflexes together.

Share

Keep reading

SAP Tutorials

SAP Account Determination: How OBYC Picks the G/L Account

SAP Account Determination (OBYC): From Goods Movement to G/L Posting You post a goods receipt in MIGO. You enter a material, a quantity, a purchase order. At no point does...

Michael Antoine Michael A. 17 min read
SAP Tutorials

SAP Document Flow: Trace an Invoice Back to Its Order (VBFA)

SAP Document Flow: Trace an Invoice Back to Its Order (VBFA) It is 9:10 in the morning. A customer is disputing an invoice and wants your answer before noon. You...

Michael Antoine Michael A. 12 min read
SAP Tutorials

SAP Object Locked by Another User: What It Means (SM12)

SAP Object Locked by Another User: What It Means (SM12) An object locked by another SAP user and an object you have no rights on feel exactly the same: everything...

Michael Antoine Michael A. 15 min read
SAP Tutorials

SAP availability check (ATP): sales order not confirmed

SAP availability check (ATP): why your sales order is not confirmed The stock is right there on your screen, the sales rep is calling, and the confirmed quantity on the...

Michael Antoine Michael A. 15 min read