1. Home
  2. Modules
  3. SAP MM

SAP MM: from purchase requisition to paid invoice

How Materials Management buys, receives, stores and values everything a company uses, and why every move lands in Finance.

Read as

Overview

What MM is, if you have never seen it

SAP Materials Management, MM for short, is the part of SAP that buys, receives, stores, counts and values the materials a company uses: raw materials, spare parts, packaging, office supplies and services. This page explains MM to people who do not work with it every day, follows one purchase from the first request to the paid invoice and lists the transactions that users and consultants actually open.

Every company buys things. What makes MM interesting is that nothing in it stands alone. A purchase order turns into a goods receipt, the goods receipt into stock and an accounting entry, the supplier invoice is checked against both, and the payment run pays it. Each step leaves a document, so years later anyone can follow the trail. That is why finance people meet MM sooner or later, even if they never create a purchase order.

Runs on
  • SAP S/4HANA
  • SAP ECC 6.0
Daily transactionsME21NMIGOMIROMMBE

Use the User | Consultant switch at the top of the page to show or hide the technical layer: tables, Customizing transactions and what happens under the hood.

  • Purchasing

    Requisitions, quotations, contracts and purchase orders, with agreed prices kept in info records and approvals in release strategies. In SAP S/4HANA this area is called Sourcing and Procurement.

    • ME51N
    • ME21N
  • Inventory management

    Every receipt, issue and transfer is a goods movement with a three-digit movement type. Quantities are kept by plant and storage location, and every movement with a value also posts to the general ledger.

    • MIGO
    • MMBE
  • Invoice verification

    The supplier invoice is checked against the purchase order and the goods receipt: the three-way match. Differences above tolerance block the invoice for payment until someone decides.

    • MIRO
    • MRBR
  • Valuation and planning

    Each material carries a standard or moving average price that values its stock. Planning compares stock with requirements and tells purchasing what to reorder, and when.

    • MM03
    • MD04

Who works in MM every day

  • Requesterasks for what is needed, with a requisition
  • Buyerpicks the supplier and places the order
  • Warehouseposts receipts, issues, transfers and counts
  • Plannerruns MRP and watches reorder points
  • AP clerkenters supplier invoices and releases blocks
  • Accountantwatches prices, variances and the GR/IR account

Older than most of its users

1975

SAP’s RM system integrated purchasing, inventory management and invoice verification in 1975, and SAP calls it its second product pillar. Those three functions are still the backbone of MM, half a century later.

Source: SAP company history, 1972–1980

The skeleton

Where things happen, and what is being moved

Two things decide almost everything in MM: the organizational structure, which says where something happens, and the material master, which says what is being moved. Pick a level to see what it means; the Consultant view adds the Customizing transactions and tables.

Organizational level

Logistics and finance

Purchasing

A purchasing organization can buy for one plant, several plants or several company codes. A purchasing group is not assigned to anything.

Client

The whole group, in one system

A client is a self-contained unit of the SAP system, usually one per company group and per system (development, test, production). Everything defined at client level is shared by every company in it: the basic data of the material master, business partners and movement types.

In practice: Material 100-200 exists once in client 100, whichever company buys it.

Under the hood

Client-level material data sits in MARA and MAKT. Clients themselves are administered by Basis (SCC4), not by MM.

  • MARA
  • MAKT
  • SCC4

Customizing transactions and tables for this level are in the Consultant view.

Basics of the SAP organizational structure; client-level tables per the SAP Help Portal.

Company code

The legal entity with its own books

A company code is a company with its own balance sheet and profit and loss statement. Every goods movement with a value ends up in the books of one company code, which is why MM and FI meet here: the materials period and the accounting period are both kept per company code.

In practice: Northwind Brasil Ltda (1000) has its own CNPJ, books and materials period.

Under the hood

Company codes are defined in FI (OX02). MMPV opens the next materials period per company code, and MMRV decides whether the previous one stays open.

  • OX02
  • MMPV
  • MMRV
  • T001

Customizing transactions and tables for this level are in the Consultant view.

Sources: SAP Learning, plants; message M7053.

Plant · valuation area

Where materials are planned, stored and valued

A plant subdivides the company for production, procurement, maintenance and materials planning. It can be a factory, a warehouse or a distribution center. Most of the material master (purchasing, MRP, storage) is kept per plant, and when the valuation area is the plant, each plant values its own stock.

In practice: The São Paulo factory (1100) plans and values its own bearings, separately from the Recife plant.

Under the hood

Plants are defined in OX10 and assigned to a company code in OX18. The valuation level (plant or company code) is set once in OX14. EC02 copies a plant with its dependent tables. Plant data sits in T001W and MARC.

  • OX10
  • OX18
  • OX14
  • EC02
  • T001W

Customizing transactions and tables for this level are in the Consultant view.

Sources: SAP Learning, defining and assigning plants; IMG activity OX14.

Storage location

Where stock physically sits inside a plant

A storage location is a place within a plant where stock is kept: a raw materials store, a finished goods warehouse, a quarantine area. Quantities are tracked per storage location; values are not, because value is kept at the valuation area. Its key must be unique within the plant but can repeat across plants.

In practice: Moving bearings from store 0001 to line-side store 0002 changes quantities only (movement type 311).

Under the hood

Storage locations are defined in OX09 (table T001L). In SAP S/4HANA the stock fields of MARD are calculated from MATDOC through the view NSDM_V_MARD.

  • OX09
  • T001L
  • MARD
  • NSDM_V_MARD

Customizing transactions and tables for this level are in the Consultant view.

Sources: SAP Learning, defining and assigning plants; SAP Community, NSDM.

Purchasing organization

The unit that negotiates with suppliers

A purchasing organization procures for one or more plants and agrees the conditions with suppliers. Several purchasing organizations can serve one plant: a local one, a cross-plant one, a cross-company-code one, or separate ones for materials and services.

In practice: Central purchasing (1000) negotiates bearing prices for every Brazilian plant.

Under the hood

Defined in OX08, assigned to a company code in OX01 and to plants in OX17. Info records are kept per purchasing organization (EINE). Table T024E.

  • OX08
  • OX01
  • OX17
  • T024E

Customizing transactions and tables for this level are in the Consultant view.

Source: SAP Learning, defining and assigning plants.

Purchasing group

The buyer, or the desk

A purchasing group is the buyer or group of buyers responsible for certain materials or purchases. It is printed on purchase orders as the contact and is used to filter work lists and release strategies. It is not assigned to any other organizational unit.

In practice: Group 001 handles packaging; group 002 handles spare parts.

Under the hood

Maintained in OME4 (table T024). Often used as a characteristic in release strategies and in authorizations.

  • OME4
  • T024

Customizing transactions and tables for this level are in the Consultant view.

Source: SAP Learning, purchasing.

One material, many departments

A material master is one record with many views. Each department fills its own, at its own organizational level, which is why creating a new material often takes four or five people. Filter by who fills it.

Department
ViewFilled byLevelKey fieldsTable
Basic data 1 and 2Master data teamClientMaterial type, base unit of measure, material group, weights, old material numberMARA
ClassificationMaster data teamClientClasses and characteristics, for example for batchesAUSP
PurchasingBuyersPlantPurchasing group, order unit, goods receipt processing time, automatic POMARC
Foreign tradeTrade and taxPlantCommodity code (NCM in Brazil), country of origin, CFOP category in BrazilMARC
Sales: sales org 1 and 2SalesSales org and channelDelivering plant, tax classification, item category groupMVKE
Sales: general/plantSales and logisticsPlantAvailability check, loading group, transportation groupMARC
MRP 1 to 4PlannersPlant or MRP areaMRP type, reorder point, lot size, safety stock, planned delivery timeMARC
Work schedulingProductionPlantProduction scheduler, in-house production time, delivery tolerancesMARC
Plant data / storageWarehousePlant and storage locationStorage conditions, shelf life, storage binMARD
Quality managementQualityPlantInspection setup, QM control keyMARC
Accounting 1 and 2FinanceValuation areaValuation class, price control (S or V), standard or moving average price; material usage and origin in BrazilMBEW
Costing 1 and 2ControllingPlant and valuation areaWith quantity structure, origin group, overhead group, costing lot sizeMBEW

In SAP S/4HANA the storage location MRP fields are gone from the MRP 4 view (MRP areas replace them), the commodity code is maintained with the Fiori app Classify Product, and accounting view prices are kept in every material ledger currency. Sources: SAP Learning, material master simplifications; SAP Community, Brazil material master fields.

The MM process

Follow one purchase through MM

Eight steps, from the moment someone needs something to the moment the supplier is paid. Consultants call it procure-to-pay. Pick a step to see what happens, where you see it and, in the Consultant view, what sits under the hood.

Process step

Step 1 of 8 · What happens

A need appears

Most purchases start as a purchase requisition: an internal request that says what is needed, how much and by when. A person can type it, the MRP run can create it when stock will not cover planned requirements, or a project or maintenance order can generate it. A requisition commits nothing towards the supplier; it only tells purchasing that something is needed.

Who: Planner, requester or the MRP run

Where you see it

Requesters create requisitions in ME51N or the Create Purchase Requisition app and display them in ME53N; planners see the requirement in the stock/requirements list.

  • ME51N
  • ME53N
  • MD04

Under the hood

Requisitions are stored in table EBAN. In SAP S/4HANA the MRP run is MRP Live (MD01N). Planning parameters come from the MRP views of the material master, kept per plant or per MRP area.

  • EBAN
  • MD01N
  • MARC

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Sources: SAP Learning, purchasing and classic stock lists (MD04); SAP Learning, material master simplifications.

Step 2 of 8 · What happens

Purchasing finds the source

Before ordering, the buyer decides where to buy. SAP can propose the supplier from a purchasing info record (the price and conditions agreed with a supplier for a material), a source list (which suppliers are allowed, and when) or a contract. For new purchases, a request for quotation collects offers and a price comparison picks the winner.

Who: Buyer

Where you see it

Buyers maintain info records in ME11, source lists in ME01 and contracts in ME31K, and assign sources to open requisitions in ME57.

  • ME11
  • ME01
  • ME31K
  • ME57

Under the hood

Info records live in EINA (general data) and EINE (per purchasing organization), source lists in EORD, and contracts and scheduling agreements in EKKO and EKPO like orders. Requests for quotation are created in ME41, quotations entered in ME47 and compared in ME49.

  • EINA
  • EINE
  • EORD
  • ME41
  • ME49

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Source: SAP Learning, Business Processes in SAP S/4HANA Sourcing and Procurement.

Step 3 of 8 · What happens

Someone approves it

Purchases above a value, for some material groups or for some cost centers need approval. SAP calls it releasing: a release strategy decides who must approve a requisition or a purchase order, and in which order. A purchase order that still waits for release cannot be output to the supplier.

Who: Managers and budget owners

Where you see it

Approvers release requisitions in ME54N (one) or ME55 (many) and purchase orders in ME29N or ME28. In SAP Fiori, approval tasks arrive in My Inbox.

  • ME54N
  • ME55
  • ME29N
  • ME28
  • My Inbox

Under the hood

Classic release strategies use classification: characteristics (CT04) and classes (CL02) hold the values, such as total value, plant or purchasing group, that select a strategy. SAP S/4HANA also offers flexible workflow for requisitions and purchase orders, set up in Fiori apps.

  • CT04
  • CL02
  • CL24N

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Source: SAP Learning, Business Processes in SAP S/4HANA Sourcing and Procurement.

Step 4 of 8 · What happens

The purchase order goes out

The purchase order is the formal request to the supplier: material, quantity, price, delivery date, plant and storage location. Its item category says what kind of purchase it is, such as standard, consignment, subcontracting, service or stock transfer. Its account assignment category says who pays when the goods are not for stock, for example a cost center or a project.

Who: Buyer

Where you see it

Buyers create and change orders in ME21N and ME22N or in Manage Purchase Orders; anyone can display them in ME23N. ME2N, ME2L and ME2M list orders by number, supplier or material.

  • ME21N
  • ME23N
  • ME2N
  • Manage Purchase Orders

Under the hood

Header, items and schedule lines sit in EKKO, EKPO and EKET, account assignments in EKKN and the order history (every receipt and invoice) in EKBE. Item categories: blank standard, K consignment, L subcontracting, D service, U stock transfer. Account assignment categories include K cost center, F order, P project and A asset.

  • EKKO
  • EKPO
  • EKET
  • EKKN
  • EKBE

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Sources: SAP Help, purchasing applications (Release 4.6 Enjoy); SAP Learning, purchasing.

Step 5 of 8 · What happens

The goods arrive

When the truck arrives, the warehouse posts a goods receipt against the purchase order with movement type 101. Stock goes up in the plant and storage location, the order shows what is still open, and SAP writes two documents at once: a material document for the quantity and an accounting document for the value, debiting stock and crediting the GR/IR clearing account.

Who: Warehouse clerk

Where you see it

Warehouse clerks post in MIGO or the Post Goods Receipt for Purchasing Document app; MB51 and the Material Documents Overview app show what was posted.

  • MIGO
  • MB51
  • Material Documents Overview

Under the hood

In SAP S/4HANA every material document goes into one table, MATDOC; MKPF and MSEG still answer as compatibility views. The accounting entry comes from automatic account determination: key BSX for the stock account and WRX for GR/IR, assigned per valuation class in OBYC. A receipt can go to quality inspection, to blocked stock or, with movement type 103, to non-valuated GR blocked stock.

  • MATDOC
  • OBYC
  • BSX
  • WRX
  • 103

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Sources: SAP Community, NSDM; SAP Learning, account determination; SAP Help, movement types.

Step 6 of 8 · What happens

Stored, moved and counted

Once in stock, material moves: from quality inspection to unrestricted use (321), between storage locations (311), to a cost center (201) or to a production order (261). At least once a year it is counted. A physical inventory document records the count, and the differences are posted as a surplus (701) or a shortage (702), which corrects the books as well.

Who: Warehouse, production and quality

Where you see it

MMBE shows one material across all levels, MB52 the stock of many materials and MB5B the stock on any past date. Counts are entered in MI04 or the Manage Physical Inventory Count app.

  • MMBE
  • MB52
  • MB5B
  • MI04

Under the hood

Stock is not stored as a number in SAP S/4HANA: MARD and the other stock tables are computed on the fly from MATDOC through CDS views such as NSDM_V_MARD, helped by the condensed table MATDOC_EXTRACT. Physical inventory documents are created in MI01 and differences posted in MI07, which uses GBB with account modifier INV.

  • NSDM_V_MARD
  • MATDOC_EXTRACT
  • MI01
  • MI07

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Sources: SAP Learning, classic stock lists; SAP Community, NSDM; SAP KBA 3614732.

Step 7 of 8 · What happens

The invoice is checked

The supplier invoice is entered with reference to the purchase order. SAP proposes quantities and values from what was received and compares the three documents: what was ordered, what arrived and what is charged. Within tolerance, the invoice posts and the GR/IR account is cleared. Above tolerance it still posts, but blocked for payment, so nobody pays for goods that did not arrive or at a price nobody agreed.

Who: Accounts payable

Where you see it

AP enters invoices in MIRO or the Create Supplier Invoice app, parks them in MIR7, displays them in MIR4 and releases blocked ones in MRBR. MR8M cancels a wrong one.

  • MIRO
  • MIR4
  • MRBR
  • MR8M

Under the hood

Invoice header and items sit in RBKP and RSEG. Tolerance limits such as price variance (PP) and quantity variance (DQ) are set per company code in OMR6. Small differences can be written off to key DIF, and freight planned on the order is cleared on FRE.

  • RBKP
  • RSEG
  • OMR6
  • DIF
  • FRE

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Source: SAP Learning, Invoice Verification in SAP S/4HANA.

Step 8 of 8 · What happens

Paid, and the period closed

The invoice is now an open item on the supplier account, and the payment run pays it like any other. At month end the materials period is moved forward so goods movements post into the new month, and the GR/IR account is analyzed: goods received but not invoiced, and invoiced but not received. Differences that will never close are cleared.

Who: Accounts payable and accountants

Where you see it

Accountants review GR/IR balances with MB5S or the Reconcile GR/IR Accounts app; MR11 clears differences that will never be invoiced or delivered.

  • F110
  • MB5S
  • MR11
  • Reconcile GR/IR Accounts

Under the hood

The next materials period is opened with MMPV, and MMRV allows postings to the previous one. If the period is not shifted, users get message M7053. Period closing also runs the pre-compaction of MATDOC_EXTRACT. Reconcile GR/IR Accounts (F3302) and Monitor GR/IR Account Reconciliation (F3303) can add machine learning proposals with a separate license.

  • MMPV
  • MMRV
  • F3302
  • F3303

Tables, Customizing transactions and technical details for this step are in the Consultant view.

Sources: SAP Learning, GR/IR apps; message M7053; SAP Community, NSDM.

Four documents, one trail

Every purchase leaves the same chain of documents. The purchase order history (EKBE) links them, so from any one of them you can reach the others.

  • InternalPurchase requisitionWhat is needed, how much, by when. Commits nothing.10004711EBAN
  • To the supplierPurchase orderThe commitment: material, price, date, plant.4500018273EKKO/EKPO
  • Quantity + valueMaterial documentThe goods receipt, with its accounting document beside it.5000003921MATDOC
  • What is owedSupplier invoiceChecked against both, then posted to the supplier.5105600118RBKP/RSEG

Document numbers are examples; number ranges differ in every system.

MM meets FI

Every goods movement is also an accounting entry

This is the part finance people care about. Each goods movement with a value, and each supplier invoice, posts to the general ledger by itself through automatic account determination. The movement says what happened, a transaction key says which kind of account, and the valuation class of the material picks the actual G/L account. Pick a key.

Transaction key
BSX

Inventory posting

Every change in valued stock: goods receipts, issues, transfers between valuation areas and inventory differences all hit the stock account of the material’s valuation class.

Example

Goods receipt for a stock purchase order (101)
  • DebitInventory (BSX)
  • CreditGR/IR clearing (WRX)

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

WRX

GR/IR clearing

Credited by the goods receipt for a purchase order and debited by the invoice. Its balance is what was received but not yet invoiced, or invoiced but not yet received.

Example

Supplier invoice in MIRO
  • DebitGR/IR clearing (WRX)
  • CreditSupplier

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

PRD

Price differences

For standard-price materials, any difference between the standard price and the order or invoice price. For moving-average materials, invoice differences that no longer have stock to land on.

Example

Receipt of a standard-price material above its standard
  • DebitInventory (BSX) at standard, plus price differences (PRD)
  • CreditGR/IR clearing (WRX) at the order price

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

GBB

Offsetting entry for inventory posting

The other side of goods issues, scrapping, inventory differences and receipts without a purchase order. One key, many accounts: the account modifier picks which one.

Account modifiers

  • VBRConsumption: issues to cost centers and orders (201, 261)
  • VNGScrapping (551)
  • INVInventory differences (701, 702)
  • BSAInitial entry of stock balances (561)
  • ZOBGoods receipt without a purchase order (501)
  • VAX / VAYGoods issue for a sales delivery (601)

Example

Goods issue to a cost center (201)
  • DebitConsumption (GBB-VBR), charged to the cost center
  • CreditInventory (BSX)

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

UMB

Revaluation gain or loss

Price changes that affect stock already valued in a previous period, and some standard-price postings that cross periods.

Example

Price change that reaches back into the previous period
  • DebitInventory (BSX)
  • CreditRevaluation gain (UMB)

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

KON

Consignment payables

When you take supplier consignment stock into your own stock or consume it, the liability to the supplier arises here. The consignment settlement (MRKO) later moves it to the supplier account.

Example

Consignment stock to own stock (411 K)
  • DebitInventory (BSX)
  • CreditConsignment payables (KON)

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

FRE

Freight clearing

Delivery costs planned in the purchase order are credited here at goods receipt and cleared when the freight invoice is posted.

Example

Goods receipt for an order with planned freight
  • DebitInventory (BSX), goods plus freight
  • CreditGR/IR clearing (WRX) and freight clearing (FRE)

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

AUM

Expense or revenue from stock transfer

Transfer postings between materials or valuation areas that carry different prices, for example material to material (309).

Example

Material to material (309) at different prices
  • DebitInventory of the receiving material (BSX)
  • CreditInventory of the issuing material (BSX); the difference goes to AUM

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

KDM

Exchange rate differences

Foreign-currency orders whose invoice is posted at a different exchange rate than the goods receipt, when the difference is not posted to stock.

Example

Invoice in US dollars at a new rate
  • DebitGR/IR clearing (WRX) at the goods receipt rate
  • CreditSupplier at the invoice rate; the difference goes to KDM

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

DIF

Small differences in invoice verification

Invoice differences below the small-difference tolerance, written off automatically instead of blocking the invoice.

Example

Invoice 0.30 above the expected amount
  • DebitGR/IR clearing (WRX), plus 0.30 to DIF
  • CreditSupplier

Accounts per key are maintained in OBYC; OMWB opens the same settings with a Simulation. Each MM transaction has a fixed value string, such as WE01 for a goods receipt, that lists the keys it uses: value strings cannot be changed, only the accounts behind them.

Sources: SAP Learning, Setting Up Account Determination for Specific Transactions; SAP Help, movement types. The supplier line uses the reconciliation account in the supplier master, not OBYC.

Standard price or moving average? Try it

Starting point: 100 units in stock at 10.00 each, so 1,000.00 of stock. A purchase order for 50 units is received, then the supplier invoice arrives. Change the prices and watch where the differences go.

Price control

Example: order price 12.00, invoice price 12.50, all 150 units still in stock when the invoice arrives. Switch the price control to compare.

Goods receipt, 50 units (101)
AccountDebitCredit
Inventory BSX500.00
Price differences PRD100.00
GR/IR clearing WRX600.00
Supplier invoice, 50 units (MIRO)
AccountDebitCredit
GR/IR clearing WRX600.00
Price differences PRD25.00
Supplier (reconciliation account)625.00
  • Price after receipt10.00
  • Price after invoice10.00
  • Price differences125.00

With standard price the stock always stays at 10.00. Every difference, at goods receipt and at invoice, goes to price differences, where controlling can see it.

Goods receipt, 50 units (101)
AccountDebitCredit
Inventory BSX600.00
GR/IR clearing WRX600.00
Supplier invoice, 50 units (MIRO)
AccountDebitCredit
GR/IR clearing WRX600.00
Inventory BSX25.00
Supplier (reconciliation account)625.00
  • Price after receipt10.67
  • Price after invoice10.83
  • Price differences0.00

With moving average the goods receipt changes the price at once, and the invoice difference goes onto the stock, changing the price again.

Simplified: one order line, no taxes, no freight, one currency. In SAP S/4HANA the material ledger also records these differences per material, and actual costing, where it is active, revalues stock and consumption with them at period end. See Material ledger.

Movement types

The three-digit language of the warehouse

Every goods movement carries a movement type. SAP Help defines it as the three-digit key that tells the system how to update quantities, which stock and consumption accounts to post and which fields to show on the screen. Learn twenty of them and most of MM starts to make sense.

Rule of thumb: the reversal is the next number. 101 is reversed by 102, 261 by 262.

Movement type

Receipts

Issues

Transfers

Physical inventory

101Goods receipt for a purchase order

Stock
Up in unrestricted, quality inspection or blocked stock, as the order and material say.
Accounting
Debit inventory (BSX), credit GR/IR (WRX). For an order with account assignment, the debit goes to the consumption account of the order instead.
Reversal
102
Posted in
MIGO, Post Goods Receipt for Purchasing Document

The most posted movement type in most systems. The order history (EKBE) keeps every 101 and 102 per order item.

103Goods receipt into GR blocked stock

Stock
Into GR blocked stock: received but not yet accepted.
Accounting
None. The stock is not valued yet.
Reversal
104
Posted in
MIGO

Used when goods must be checked before they count as yours. Movement type 105 then releases them into valued stock.

105Release from GR blocked stock

Stock
From GR blocked stock into valued stock.
Accounting
Debit inventory (BSX), credit GR/IR (WRX).
Reversal
106
Posted in
MIGO

The accounting entry of a two-step receipt happens here, not at 103.

122Return delivery to the supplier

Stock
Down, with reference to the original receipt.
Accounting
Reverses the receipt: credit inventory (BSX), debit GR/IR (WRX).
Reversal
123
Posted in
MIGO, Return Delivery

Unlike 102, a return says the goods physically went back. Reasons for movement are kept, and MBGR lists them.

501Goods receipt without a purchase order

Stock
Up in unrestricted stock.
Accounting
Debit inventory (BSX), credit the offsetting account GBB with modifier ZOB.
Reversal
502
Posted in
MIGO

Handy for exceptions; if it becomes routine, someone is buying outside purchasing.

561Initial entry of stock balances

Stock
Up, to load opening stock at go-live.
Accounting
Debit inventory (BSX), credit GBB with modifier BSA, usually a migration clearing account.
Reversal
562
Posted in
MIGO, or migration tools

The migration clearing account must end at zero once the opening balances from FI are loaded.

201Goods issue to a cost center

Stock
Down in unrestricted stock.
Accounting
Debit consumption (GBB-VBR) on the cost center, credit inventory (BSX).
Reversal
202
Posted in
MIGO

Typical for maintenance materials, office supplies and samples.

261Goods issue to an order

Stock
Down in unrestricted stock.
Accounting
Debit consumption (GBB-VBR) on the production or maintenance order, credit inventory (BSX).
Reversal
262
Posted in
MIGO, or automatically by backflush and order confirmation

In production it is rarely typed by hand: confirmations post it.

551Withdrawal for scrapping

Stock
Down in unrestricted stock.
Accounting
Debit scrapping (GBB-VNG), credit inventory (BSX).
Reversal
552
Posted in
MIGO

Variants 553 and 555 scrap from quality inspection and blocked stock.

601Goods issue for a sales delivery

Stock
Down in unrestricted stock.
Accounting
Debit cost of goods sold (GBB-VAX or VAY), credit inventory (BSX).
Reversal
602
Posted in
Posted from the outbound delivery (VL02N)

The sales side (SD) creates it; MM records the movement and FI the cost.

311Transfer between storage locations

Stock
Moves within the same plant, in one step.
Accounting
None: same plant, same valuation area.
Reversal
312
Posted in
MIGO

The classic example of a goods movement with a material document but no accounting document.

301Transfer between plants in one step

Stock
Down in the issuing plant, up in the receiving plant.
Accounting
Credit inventory in the issuing plant, debit inventory in the receiving plant; price differences go to a difference account.
Reversal
302
Posted in
MIGO

For transfers with a delivery and a shipping process, companies use stock transport orders instead.

309Transfer posting material to material

Stock
Down for one material, up for another.
Accounting
Inventory of both materials (BSX); if their prices differ, the difference goes to AUM.
Reversal
310
Posted in
MIGO

Used when a material is renumbered or goods were received under the wrong material.

321Release from quality inspection

Stock
From quality inspection to unrestricted use.
Accounting
None: the stock was already valued.
Reversal
322
Posted in
MIGO, or the QM usage decision

With QM active, the usage decision posts it for you.

343Transfer from blocked to unrestricted

Stock
From blocked to unrestricted use.
Accounting
None.
Reversal
344
Posted in
MIGO

344, its reversal, is also how many warehouses block stock.

411 KSupplier consignment to own stock

Stock
From special stock K (the supplier’s) to your own stock.
Accounting
Debit inventory (BSX), credit consignment payables (KON): now you owe the supplier.
Reversal
412 K
Posted in
MIGO

The liability is settled later with the consignment settlement, MRKO.

541Transfer to stock with subcontractor

Stock
To special stock O at the subcontractor.
Accounting
None: it is still your stock.
Reversal
542
Posted in
MIGO, or from the subcontracting order

MBLB shows what each subcontractor holds.

641Goods issue to stock in transit

Stock
Down in the issuing plant, up in stock in transit of the receiving plant.
Accounting
The value moves with the stock to the receiving plant.
Reversal
642
Posted in
Posted from the delivery of a stock transport order

MB5T shows what is in transit; the receiving plant posts 101 when it arrives.

701Physical inventory: surplus

Stock
Up in unrestricted stock.
Accounting
Debit inventory (BSX), credit inventory differences (GBB-INV).
Reversal
Opposite: 702
Posted in
MI07, or the physical inventory apps

Posted from the physical inventory document, never typed directly.

702Physical inventory: shortage

Stock
Down in unrestricted stock.
Accounting
Debit inventory differences (GBB-INV), credit inventory (BSX).
Reversal
Opposite: 701
Posted in
MI07, or the physical inventory apps

Shortages above a limit often need approval before MI07 posts them.

Stock types: can I use it?

  • UnrestrictedFree to use, issue and sell.
  • Quality insp.Waiting for a quality decision; valued, not yet usable.
  • BlockedValued but not usable, for example damaged goods.
  • GR blockedReceived but not accepted yet; not valued (103).
  • In transitLeft one plant, not yet received in the other.

Special stocks: whose is it?

  • KSupplier consignment: in your warehouse, still the supplier’s until you use it.
  • OWith subcontractor: yours, at the supplier, to be processed.
  • ESales order stock: reserved for one customer order.
  • QProject stock: belongs to a WBS element.
  • WConsignment at customer: yours, at the customer, until they use it.

Stock tables: MKOL (special stocks from supplier), MSLB (with supplier), MSKA (sales order), MSPR (project), MSKU (with customer). In SAP S/4HANA they are computed from MATDOC like MARD.

Sources: SAP Help, What Is a Movement Type?; SAP Learning, classic stock lists and account determination; SAP Community, SAP S/4HANA inventory management tables (NSDM).

Quick test

Which movement type would you use?

Eight things that happen in a warehouse every week. Guess the movement type first, then open the card. Projects can add their own movement types, but these are the standard ones everybody knows.

  • A pallet arrives for a purchase order and goes straight to the shelfShow the answer
    101

    Goods receipt for a purchase order. Stock goes up and the order shows the quantity as delivered.

    Accounting: debit BSX, credit WRX

  • Yesterday’s receipt was posted against the wrong orderShow the answer
    102

    Cancel it in MIGO: SAP posts 102 against the 101 as a new material document. Nothing is deleted, both stay.

    Accounting: the opposite of the 101

  • Twenty boxes arrived damaged and go back to the supplierShow the answer
    122

    A return delivery refers to the original receipt and records the reason. Unlike 102, it says the goods physically went back.

    Accounting: credit BSX, debit WRX

  • Maintenance takes ten filters for a cost centerShow the answer
    201

    Goods issue to a cost center: stock goes down, consumption goes up on that cost center.

    Accounting: debit GBB-VBR, credit BSX

  • Production takes resin for a process orderShow the answer
    261

    Goods issue to an order. In real life it is often posted by backflush when the order is confirmed.

    Accounting: debit GBB-VBR, credit BSX

  • Stock moves from the main store to the line-side store, same plantShow the answer
    311

    Storage location to storage location in one step. Quantity moves, value does not.

    Accounting: no accounting document

  • Quality approves a lot that was waiting for inspectionShow the answer
    321

    Quality inspection to unrestricted use. With QM active, the usage decision posts it automatically.

    Accounting: no accounting document

  • Go-live: loading the opening stock from the old systemShow the answer
    561

    Initial entry of stock balances. The offset goes to a migration clearing account that must end at zero.

    Accounting: debit BSX, credit GBB-BSA

Reference

The MM transactions people actually use

Most MM transactions start with ME (purchasing), MB or MI (inventory and physical inventory), MR or MIR (invoice verification) and MM (material master). Start here shows the ones worth bookmarking; the other tabs split the rest between users and consultants, plus the Fiori apps and the tables behind them. Type a code or a word to search all of them.

Show

Code or appForWhat it doesWho opens itSource
ME21NUserCreate a purchase order. ME22N changes it and ME23N displays it.BuyersSAP Help, Release 4.6 Enjoy
ME51NUserCreate a purchase requisition. ME52N changes it and ME53N displays it.Requesters, plannersSAP Help, Release 4.6 Enjoy
MIGOUserPost any goods movement: receipt, issue, transfer, return or reversal. In SAP S/4HANA it replaces MB1A, MB1B, MB1C and MB01.WarehouseMessage M7499
MIROUserEnter a supplier invoice with reference to the purchase order and check it against the goods receipt.Accounts payableSAP Learning, invoice verification
MMBEUserStock overview: one material across all plants, storage locations and stock types.EveryoneSAP Learning, stock lists
MB51UserMaterial document list: every goods movement, filterable by material, movement type, user and date.EveryoneSAP Learning, stock lists
MM03UserDisplay a material master, view by view. MM01 creates it and MM02 changes it.EveryoneSAP Learning, material master
ME2NUserPurchase orders by number; ME2L by supplier and ME2M by material. Selection parameter WE101 keeps only orders still open for goods receipt.BuyersSelection parameters
MB5BUserStock on a posting date: opening and closing stock and the movements in between.Inventory, finance, auditorsSAP Learning, stock lists
MB52UserWarehouse stock of many materials, with quantities and values; can show only negative stocks.Inventory controllersSAP Learning, stock lists
MD04UserStock/requirements list: current stock and all requirements of one material in one plant.Planners, buyersSAP Learning, stock lists
ME54NUserRelease (approve) one purchase requisition. ME55 releases several at once.ApproversSAP Learning, purchasing
ME29NUserRelease a purchase order. ME28 releases several at once.ApproversSAP Learning, purchasing
ME57UserAssign sources to open requisitions and turn them into purchase orders.BuyersSAP Learning, purchasing
ME11UserCreate a purchasing info record: the price and conditions agreed with a supplier for a material. ME13 displays it.BuyersSAP Learning, purchasing
ME01UserMaintain the source list: which suppliers may supply a material, and when.BuyersSAP Learning, purchasing
ME31KUserCreate a contract. ME31L creates a scheduling agreement.BuyersSAP Learning, purchasing
ME41UserCreate a request for quotation. ME47 records the quotation and ME49 compares prices.BuyersSAP Learning, purchasing
MIR4UserDisplay a supplier invoice posted in MIRO.Accounts payableSAP Learning, invoice verification
MIR7UserPark a supplier invoice to complete or approve it later.Accounts payableSAP Learning, invoice verification
MRBRUserRelease invoices blocked for payment.Accounts payableSAP Learning, invoice verification
MR8MUserCancel a posted supplier invoice.Accounts payableSAP Learning, invoice verification
MB53UserPlant stock availability of one material across plants.Sales, buyersSAP Learning, stock lists
MB5TUserStock in transit between plants, from stock transport orders.Inventory controllersSAP Learning, stock lists
MBLBUserStock held at subcontractors.Buyers, inventorySAP Learning, stock lists
MBSMUserCancelled material documents with their originals.Inventory, auditorsSAP Learning, stock lists
MBGRUserMaterial documents that carry a reason for movement, such as returns.Inventory, qualitySAP Learning, stock lists
MI01UserCreate a physical inventory document. MI04 enters the count and MI07 posts the differences.WarehouseSAP KBA 3614732
MB5SUserList of GR/IR balances per purchase order.AccountantsSAP Learning, invoice verification
MR11UserGR/IR account maintenance: clears differences that will never be invoiced or delivered.AccountantsSAP Learning, invoice verification
MR51UserAccounting documents for a material.AccountantsSAP Learning, stock lists
SPROConsultantCustomizing. MM lives under Materials Management; account determination under Valuation and Account Assignment.ConsultantsSAP Learning, account determination
OBYCConsultantAutomatic account determination: G/L accounts per transaction key, valuation class and account modifier.MM and FI consultantsSAP Learning, account determination
OMWBConsultantThe same settings as OBYC, plus the Simulation that shows which account a movement would hit.MM and FI consultantsSAP Learning, account determination
OMJJConsultantMovement type configuration.ConsultantsSAP Help, movement types
MMPVConsultantOpen the next materials posting period. MMRV allows postings to the previous period.Consultants, key usersMessage M7053
OX10ConsultantDefine plants. OX09 defines storage locations and OX08 purchasing organizations.ConsultantsSAP Learning, plants
OX18ConsultantAssign plant to company code. OX01 assigns a purchasing organization to a company code and OX17 to a plant.ConsultantsSAP Learning, plants
OX14ConsultantValuation level: plant or company code.ConsultantsIMG activity OX14
EC02ConsultantCopy, delete and check a plant, including the plant-dependent tables.ConsultantsSAP Learning, plants
OME4ConsultantPurchasing groups: the buyers or desks shown on documents.ConsultantsSAP Learning, purchasing
OMS2ConsultantMaterial types: views, number range and price control per type.ConsultantsSAP Learning, material master
MMNRConsultantNumber ranges for material master records.ConsultantsSAP Learning, material master
FLETSConsultantActivate the extended material number fields (40 characters) in SAP S/4HANA. OMSL sets the output format.ConsultantsSAP Learning, material master
OMR6ConsultantTolerance limits for invoice verification, per company code: price variance (PP), quantity variance (DQ) and others.ConsultantsSAP Learning, invoice verification
CT04ConsultantCharacteristics, used with classes (CL02) to build release strategies.ConsultantsSAP Learning, purchasing
OMWCConsultantSplit valuation: valuation categories and types, so one material can carry several prices, such as domestic and imported.ConsultantsSAP Learning, plants
MB80ConsultantChecks the DDL files behind the MATDOC compatibility views (SAP Note 2542130).Consultants, developersSAP Community (NSDM)
Manage Purchase OrdersFiori appCreate, change, copy and follow purchase orders.BuyersSAP Learning, purchasing
Create Purchase RequisitionFiori appSelf-service requisition from a catalog or free text.RequestersSAP Learning, purchasing
Manage Purchase RequisitionsFiori appFind, change and follow requisitions.Buyers, requestersSAP Learning, purchasing
Post Goods Receipt for Purchasing DocumentFiori appPost a goods receipt against a purchase order (app F0843).WarehouseSAP KBA 2381460
Material Documents OverviewFiori appRecently posted material documents; the Material Document app opens one and can reverse the movement.WarehouseSAP Learning, analytical apps
Stock – Single MaterialFiori appStock of one material, with barcode scanning, safety stock comparison and 11 months of history.Warehouse, plannersSAP Learning, analytical apps
Stock – Multiple MaterialsFiori appStock quantities and values of many materials on a reporting date, exportable to a spreadsheet.Inventory managersSAP Learning, analytical apps
Slow or Non-Moving MaterialsFiori appMaterials with stock but no consumption over a period: candidates for scrapping or transfer.Inventory managersSAP Learning, analytical apps
Dead Stock AnalysisFiori appMaterials whose stock value grew over a period despite consumption.Inventory managersSAP Learning, analytical apps
Goods Movement AnalysisFiori appGoods movements by dimension and key figure, down to the material document item.Inventory managersSAP Learning, analytical apps
Monitor Purchase Order ItemsFiori appOverdue purchase order items and items waiting for approval.BuyersSAP Learning, analytical apps
Manage Physical Inventory CountFiori appEnter counts for physical inventory documents.WarehouseSAP KBA 3614732
Reconcile GR/IR AccountsFiori appWorklist of order items where receipt and invoice differ, with smart facts, status, root cause and write-off (F3302).AccountantsSAP Learning, GR/IR apps
Monitor GR/IR Account ReconciliationFiori appKPI overview of open GR/IR items (F3303).Finance managersSAP Learning, GR/IR apps
MATDOCTableMaterial documents, header and items, in SAP S/4HANA. Insert-only; stock is computed from it.ConsultantsSAP Community (NSDM)
MKPF / MSEGTableECC material document header and items; compatibility views on MATDOC in SAP S/4HANA.ConsultantsSAP Community (NSDM)
MATDOC_EXTRACTTableCondensed extract of MATDOC used to compute stock quickly; compacted at period close.ConsultantsSAP Community (NSDM)
MARATableMaterial master, client level: basic data.ConsultantsSAP Help Portal
MARCTableMaterial master, plant level: purchasing, MRP, foreign trade (NCM in Brazil).ConsultantsSAP Community (Brazil)
MARDTableStorage location data; in SAP S/4HANA its stock fields come from MATDOC through NSDM_V_MARD.ConsultantsSAP Community (NSDM)
MBEWTableMaterial valuation: price control, prices, valuation class; material usage and origin in Brazil.ConsultantsSAP Community (Brazil)
EBANTablePurchase requisitions.ConsultantsSAP Help Portal
EKKO / EKPOTablePurchasing document header and items: orders, contracts, scheduling agreements, requests for quotation.ConsultantsSAP Help Portal
EKETTablePurchase order schedule lines (delivery dates).ConsultantsSAP Help Portal
EKBETablePurchase order history: every goods receipt and invoice per item.ConsultantsSAP Help Portal
EKKNTableAccount assignment of purchase order items.ConsultantsSAP Help Portal
EINA / EINETablePurchasing info records: general data and data per purchasing organization.ConsultantsSAP Help Portal
EORDTableSource list.ConsultantsSAP Help Portal
RBKP / RSEGTableSupplier invoice header and items (MIRO).ConsultantsSAP Help Portal
T156TableMovement types.ConsultantsSAP Help Portal
T030TableAutomatic account determination, as maintained in OBYC.ConsultantsSAP Help Portal
MKOL / MSLB / MSKATableSpecial stocks: supplier consignment, with subcontractor, sales order stock.ConsultantsSAP Help Portal

Transactions work in SAP ECC 6.0 and SAP S/4HANA unless noted. Projects can restrict them through roles, and some Fiori apps depend on the release, so check your own system before you write them into a manual.

SAP S/4HANA

What changed when MM moved to SAP S/4HANA

The business process is the same: requisition, order, receipt, invoice. What changed is underneath, plus a few things users notice on day one. With mainstream maintenance for SAP ECC 6.0 ending at the close of 2027, this list is the MM part of many conversion projects.

If you remember one thingIn SAP S/4HANA, stock is not a number stored in a table. It is calculated every time from the material documents.

TopicSAP ECCSAP S/4HANA
Material documentsMKPF (header) and MSEG (items), plus totals tables such as MARD that stored stock quantitiesOne insert-only table, MATDOC. Stock is computed on the fly; the old tables answer through compatibility views. SAP Note 2206980.
Posting goods movementsMB1A, MB1B, MB1C, MB01, MB0A, MB11, MB31 and others, beside MIGOMIGO only. The MB transactions answer with message M7499, Transaction is obsolete (SAP Note 1804812).
SuppliersVendor master in XK01, MK01 and FK01Business partner, transaction BP; the XK and MK transactions point to it.
Material number18 charactersUp to 40 characters, switched off by default; activated per system with FLETS and OMSL.
ValuationMaterial ledger optionalMaterial ledger mandatory, with prices in every valuation currency. Actual costing stays optional.
PlanningStorage location MRP in the MRP 4 viewStorage location MRP removed; MRP areas instead. The MRP run is MRP Live (MD01N).
Foreign trade dataCommodity code typed in the material masterMaintained with the Fiori app Classify Product.
GR/IRMB5S and MR11, analysis in spreadsheetsReconcile GR/IR Accounts and Monitor GR/IR Account Reconciliation, with optional machine learning proposals (separate license).
Stock reportingMB51, MB52, MMBE, MB5BSame transactions, plus Fiori apps such as Stock – Multiple Materials, Slow or Non-Moving Materials and Dead Stock Analysis.
AINoneJoule assistants for spend management announced in May 2026, among them requisition, sourcing, buying, receiving and invoicing assistants.

Sources: SAP Community, inventory management tables (NSDM); message M7499; SAP Learning, material master simplifications and GR/IR Fiori apps; SAP News, May 2026; SAPinsider on SAP support deadlines.

Brazil

MM in Brazil: every material carries a tax ID

In Brazil a purchase is never just a purchase. Each item needs the data that decides its taxes and its CFOP, and every inbound shipment comes with an electronic nota fiscal that must match the order. That is why Brazilian MM consultants spend so much of their time with tax people.

  • Material master

    Tax data lives in the material

    The NCM code (MARC-STEUC, foreign trade view) drives the IPI rate. The material CFOP category (MARC-INDUS), the material usage (MBEW-MTUSE) and the material origin (MBEW-MTORG) feed the CFOP determination when the nota fiscal is created.

    Source: SAP Community, Material Master Brazil Localization
  • Origin 0 to 8

    Nine origins, one digit

    Material origin says whether goods are national or foreign and how much imported content they carry, from 0 (national) to 8 (national, imported content above 70%). It shows on the Brazil tab of the purchase order item, and split valuation and stock transfer scenarios have their own known pitfalls.

    Source: SAP Community, Material Origin (MATORG)
  • Invoice · NF-e

    MIRO meets the nota fiscal

    The supplier’s invoice is an NF-e, an XML authorized by the tax authority before the goods leave. Purchasing must match it to the order and the receipt with the right tax code and CFOP. Posting in MIRO also writes SAP’s nota fiscal document, shown in J1B3N, and SAP’s inbound NF-e solution (SAP GRC NF-e, today SAP DRC) receives and checks the XML.

    Related: SAP e-reporting in Brazil

Documented, but little known

18 tips for users and consultants

Each tip comes from SAP documentation, an SAP knowledge base article or a published source, linked under the tip.

Audience
  • 01Users

    Stock on any past date

    MB5B shows the stock at the start and end of a period, the receipts and issues in between and the material documents behind them. It is the report auditors ask for at year end.

    • MB5B
    Source: SAP Learning, classic stock lists
  • 02Users

    Show only the negative ones

    MB52 can be limited to negative stocks, a quick way to find where postings went wrong when negative stock is allowed.

    • MB52
    Source: SAP Learning, classic stock lists
  • 03Users

    Find the reversals

    MBSM lists cancelled material documents together with the originals, but only reversals made with the Cancel function. MBGR lists the movements that carry a reason for movement.

    • MBSM
    • MBGR
    Source: SAP Learning, classic stock lists
  • 04Users

    Open orders without filters

    In ME2N, ME2L and ME2M the selection parameter WE101 keeps only orders still open for goods receipt. Customizing holds the full list of selection parameters.

    • ME2N
    • WE101
    Source: list reporting selection parameters
  • 05Users

    Reverse from the app

    In SAP Fiori, the Material Document app shows a single material document and lets you reverse the goods movement from there.

    • Material Document
    Source: SAP Learning, analytical apps
  • 06Users

    Find money sitting on shelves

    Slow or Non-Moving Materials lists stock with no consumption over a period, and Dead Stock Analysis finds materials whose stock value keeps growing. Both are good starting points for scrapping or transfers.

    • Slow or Non-Moving Materials
    • Dead Stock Analysis
    Source: SAP Learning, analytical apps
  • 07Users

    Error M7053 is usually the date

    The posting date is outside the two open materials periods. Check the date first. One documented trap: in Manage Physical Inventory Count the count date of uncounted items defaults to today, which blocks counts for last month.

    • M7053
    • MMPV
    Source: SAP KBA 3614732
  • 08Users

    Stock on your phone

    Stock – Single Material supports barcode scanning, compares stock with the safety stock and shows 11 months of history.

    • Stock – Single Material
    Source: SAP Learning, analytical apps
  • 09Consultants

    Simulate before you post

    Account determination cannot be simulated in the application. OMWB has a Simulation that shows every factor and the account each key would hit, and can check that the accounts exist in the chart of accounts.

    • OMWB
    • OBYC
    Source: SAP Learning, account determination
  • 10Consultants

    You assign accounts, not logic

    Each MM transaction has a fixed value string, such as WE01 for a goods receipt, listing the transaction keys it uses. Value strings and their keys cannot be changed; Customizing only decides the G/L accounts.

    • WE01
    • OBYC
    Source: SAP Learning, account determination
  • 11Consultants

    MARD is a view now

    In SAP S/4HANA a SELECT on MARD is redirected to the CDS stack behind NSDM_V_MARD, which reads master data from MARD and adds stock from MATDOC_EXTRACT. Code that needs only master data can read V_MARD_MD.

    • NSDM_V_MARD
    • V_MARD_MD
    Source: SAP Community, NSDM
  • 12Consultants

    Period close also compacts stock

    MMPV runs the pre-compaction of MATDOC_EXTRACT automatically, and report NSDM_MTDCSA_PRECOMP runs it on demand.

    • MMPV
    • NSDM_MTDCSA_PRECOMP
    Source: SAP Community, NSDM
  • 13Consultants

    Old recordings on MB1A will break

    The MB goods movement transactions are obsolete in SAP S/4HANA and answer with message M7499 (SAP Note 1804812). Interfaces and batch input built on them must move to MIGO-based logic before go-live.

    • M7499
    • Note 1804812
    Source: message M7499
  • 14Consultants

    M8147 without a GR/IR line

    MIRO can raise Account determination for entry … WRX … not possible even for orders without a valuated goods receipt. SAP covers the case in a knowledge base article.

    • M8147
    • KBA 1802639
    Source: SAP KBA 1802639
  • 15Consultants

    Consignment between plants

    Transferring supplier consignment stock between plants with a stock transport order can fail with M7021, Deficit of SL unrestricted-use, even though the stock is there.

    • M7021
    • KBA 1619355
    Source: SAP KBA 1619355
  • 16Consultants

    40 characters is a decision

    The long material number is off after an upgrade and in new installations. It is switched on per system, FLETS for the fields and OMSL for the format, and affects every system the material number travels to.

    • FLETS
    • OMSL
    Source: SAP Learning, material master simplifications
  • 17Consultants

    Machine learning for GR/IR

    Reconcile GR/IR Accounts can propose the next step, priority and root cause from past decisions. It needs a separate subscription license.

    • F3302
    • F3303
    Source: SAP Learning, GR/IR apps
  • 18Consultants

    Check the views behind MATDOC

    Transaction MB80, delivered with SAP Note 2542130, helps check the DDL files behind the MATDOC compatibility views when a stock report misbehaves.

    • MB80
    • Note 2542130
    Source: SAP Community, NSDM

Myths

Things people get wrong about MM

  • MythMM is just purchasing.

    FactPurchasing is one of three pillars. SAP integrated purchasing, inventory management and invoice verification in its RM system in 1975, and MM also values stock and plans reorders.

  • MythReversing a goods receipt deletes it.

    FactNothing is deleted. A reversal is a new material document, for example 102 against 101, and both stay. MBSM lists the pairs.

  • MythEvery transfer creates an accounting document.

    FactOnly when value moves. A 311 between storage locations of the same plant changes quantities only, so there is nothing for finance to post.

  • MythThe GR/IR account should be zero at month end.

    FactIt carries real timing differences: goods received but not invoiced, and invoices for goods not yet received. What matters is that every balance is explained and old ones are cleared.

  • MythSAP S/4HANA dropped MKPF and MSEG.

    FactThey live on as compatibility views on MATDOC, so old reports and custom code that read them still work.

  • MythStandard price means no variances.

    FactVariances still happen; they just do not change the stock price. They go to price differences (PRD), at goods receipt and again at invoice.

  • MythThe vendor master is gone in SAP S/4HANA.

    FactSupplier data is still there. It is maintained through the business partner, transaction BP, instead of XK01 and MK01.

  • MythMIGO is a new transaction.

    FactMIGO arrived with R/3 Release 4.6 for goods receipts and took over the other goods movements from 4.6C. What is new in SAP S/4HANA is that it is the only option.

Evolution

From RM in 1975 to Joule assistants

MM is one of SAP’s oldest functions. Its tables and its screens changed many times, but the purchase order, the goods receipt and the invoice check are still the backbone. Gold dots mark the turning points.

  1. 1974Thermal-Werke and SchottDevelopment of purchasing software starts at Thermal-Werke, and the glass maker Schott becomes the first company to implement it later that year.
  2. 1975RMRM, SAP’s new materials management system and its second product pillar, integrates purchasing, inventory management and invoice verification.
  3. 1979SAP R/2SAP R/2 is launched. Its materials management area, RM, includes purchasing (RM-PUR), inventory management and more.
  4. 1992SAP R/3SAP R/3 is released, and Materials Management becomes the MM module most consultants learned.
  5. 4.6The Enjoy releasePurchase orders and requisitions are completely revamped with ME21N and ME51N, and MIGO posts goods receipts in a single screen.
  6. 4.6CMIGO growsMIGO takes over the other goods movements, while the old MB transactions stay fully functional beside it.
  7. 2006SAP ERP 6.0SAP ERP 6.0, better known as ECC 6.0, is released; enhancement packages keep it current for years.
  8. 2015SAP S/4HANAOne material document table, stock calculated on the fly, MIGO as the only goods movement transaction and the business partner for suppliers.
  9. LaterFiori and machine learningGR/IR reconciliation moves into Fiori apps that can learn from past decisions; inventory analysis gets apps for slow-moving and dead stock.
  10. 2026May, SAP SapphireSAP announces Joule assistants for spend management, from requisition and sourcing to receiving and invoicing.
  11. 2027End of the yearMainstream maintenance for SAP ECC 6.0 ends; extended maintenance runs to the end of 2030 at a premium.

What MM is called

SystemName
SAP R/2RM (materials management)
SAP R/3 and ECCMM module
SAP S/4HANASourcing and Procurement, Inventory Management

Consultants still say MM. SAP Learning groups the S/4HANA content as Sourcing and Procurement.

Threes worth knowing

  • 3core functions since 1975: purchasing, inventory management, invoice verification
  • 3digits in every movement type
  • 3documents matched before an invoice is paid
  • 40characters a material number can have in SAP S/4HANA, once switched on

The questions people ask most

What is SAP MM, in simple words?

The part of SAP that buys, receives, stores, counts and values materials. Purchasing places the orders, inventory management records every movement of stock and invoice verification checks what suppliers charge. Each step creates a document, and every movement with a value also posts to the general ledger.

What is the difference between a purchase requisition and a purchase order?

A requisition is internal: someone, or the MRP run, says what is needed. It commits nothing. A purchase order is external: it goes to the supplier and becomes the reference for the goods receipt and the invoice. Requisitions become orders in ME21N, through ME57, or automatically.

What is the GR/IR account, and why does it never seem to clear?

GR/IR (goods receipt/invoice receipt) is a clearing account: the goods receipt credits it and the invoice debits it. A balance means one side is missing: goods received but not invoiced, or invoiced but not received. Differences that will never close, such as a short delivery the supplier will not invoice, are cleared with MR11, and Reconcile GR/IR Accounts helps analyze the rest.

Standard price or moving average price?

With standard price (S), stock always carries the same price and every difference goes to price differences, which suits manufactured materials and cost control. With moving average (V), receipts and invoices change the price, which suits purchased and traded goods. Try both in the simulator in the MM meets FI section.

How do I reverse a goods receipt?

In MIGO choose Cancellation and enter the material document. SAP posts 102 against the 101, and both documents stay. If the goods physically go back to the supplier, use a return delivery (122) instead. Check the purchase order history first, so you reverse the right document.

Why do I get “Posting only possible in periods …” (M7053)?

The posting date is outside the two open materials periods of the company code. Check the date first. If it is correct, the period has to be shifted with MMPV, usually at month end. MMRV controls whether the previous period stays open.

What does “Deficit of SL unrestricted-use” (M7021) mean?

You are taking more out of a storage location than its unrestricted stock. Check MMBE: the stock may be in another storage location, in quality inspection, in a different batch or not received yet. SAP also documents special cases, such as consignment transfers between plants (KBA 1619355).

How do I see the stock on a past date?

MB5B, Stocks for Posting Date, shows opening and closing stock and the movements in between. In SAP Fiori, Stock – Multiple Materials works with a reporting date, and Analyze Stock in Date Range covers a period.

What does a movement type control?

According to SAP Help, the movement type is the three-digit key that decides how quantities are updated, which stock and consumption accounts are posted and which fields appear on the screen. 101 receives for a purchase order, 201 issues to a cost center and 321 releases from quality inspection.

What is the difference between consignment and subcontracting?

In consignment (special stock K) the supplier’s material sits in your warehouse and stays theirs until you use it; then you owe them. In subcontracting (special stock O) your material sits at the supplier, who processes it and sends it back with an invoice for the work.

How does MM post to FI without anyone typing accounts?

Through automatic account determination. Each movement uses a fixed set of transaction keys, such as BSX for stock, WRX for GR/IR, PRD for price differences and GBB for offsetting entries, and OBYC assigns a G/L account to each key per chart of accounts and valuation class. OMWB simulates the result.

Why can’t my purchase order be sent to the supplier?

Often because it is not released yet. If a release strategy applies, the order needs every approval before it can be output. Check the release strategy tab in ME23N and release it in ME29N, or look for the approval task in My Inbox.

Is it still called MM in SAP S/4HANA?

Consultants still say MM, and the main transactions are the same. SAP groups the area as Sourcing and Procurement, with inventory management beside it. Underneath, the big changes are the MATDOC table, MIGO as the only goods movement transaction, business partners for suppliers and the mandatory material ledger.

References

Checked in November 2026. SAP Notes and knowledge base articles need an SAP for Me login. Transaction and app names can differ between releases; check them in your own system.

Reference group