# Contract, MMBE and PPV Reports in SAP MM

> Source: https://netray.co/erp-help/contract-report-in-sap-mm-me2m-me2n-mmbe-ppv
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

Use ME2M or ME2N with a contract document type to list outline agreements, MMBE for the stock overview of a material, and a report on the price difference account for purchase price variance. For anything beyond these, build a custom report with SQ01, SE16N or a CDS view.

## Kind

how-to

## System

sap

## Erp

SAP ERP / S/4HANA

## Module

MM Purchasing Reports

## Query

contract report in sap mm

## Alternate Queries

- sap mm custom reports
- sap mmbe report usage
- sap ppv report
- purchase price variance report sap

## Applies To

SAP ECC 6.0 and S/4HANA, MM purchasing contracts (WK value contract, MK quantity contract)

## Steps

### How to run the common MM reports

**Items:**

- For contracts by material run ME2M. Set the document type to MK or WK, or choose the scope of list that covers contracts, then execute.
- For contracts by document number or vendor use ME2N or ME2L. Add columns for target quantity, released quantity and validity dates from the layout.
- For stock use MMBE: enter material and plant and read the stock by plant, storage location, batch and special stock.
- For purchase price variance, report postings on the price difference account (OBYC key PRD) with FBL3N, or compare PO price with invoice price in ME80FN or ME81N.
- Save each layout and variant so the report can be rerun, and schedule it in SM36 where a periodic output is needed.
- If standard lists do not fit, use SQ01 with an InfoSet over EKKO, EKPO and EKAB, or a CDS-based custom analytical query on S/4HANA.

## Sections

### Contract reports: where the data is

**Body:**

Contracts are purchasing documents in EKKO and EKPO. Contract type is the document category K. Value contracts use document type WK, quantity contracts MK. Validity dates are EKKO-KDATB and EKKO-KDATE, and the target value is EKKO-KTWRT.

Release orders against a contract are recorded in EKAB, so the consumed value or quantity can be reported. ME2N and ME2M show this directly when the right selection scope is used.

On S/4HANA, the Fiori app Monitor Purchase Contract Items is the supported analytical entry for the same question, with filters for expiring contracts and low release rates.

### MMBE and how to read it

**Body:**

- MMBE is the stock overview. It shows unrestricted stock, quality inspection, blocked stock, stock in transfer and special stocks, in a tree by company code, plant, storage location and batch.
- It does not show planned receipts. For those use MD04, the stock and requirements list. For stock valuation use MB52 or MBEW, since MMBE focuses on quantities.
- In S/4HANA, MMBE is still available, and the Fiori app Stock - Multiple Materials gives a list view for many materials at once.

### Purchase price variance and custom reports

**Body:**

PPV arises when the invoice or PO price differs from the standard price of a material valued at standard price. At goods receipt the difference posts to the price difference account (key PRD), and at invoice verification the difference between the invoice and the PO posts there as well.

FBL3N on that account, filtered by period, gives line items you can drill into by material and PO. For summarised reports, export to a spreadsheet or use SQ01 with an InfoSet joining BSEG or ACDOCA to EKBE.

For custom MM reports prefer a query built from supported views. SE16N is for display only and is not advised for production use, and ABAP reports need development and a transport.

**Code:**

- -- Open contract value consumed (illustrative)
SELECT k.ebeln, k.lifnr, k.kdatb, k.kdate, k.ktwrt
FROM ekko k
WHERE k.bstyp = 'K' AND k.kdate >= CURRENT_DATE

## Pitfalls

- ME2M defaults to purchase orders. Contracts only appear when the document type or scope is set to include them.
- Expired contracts still show unless you filter on validity end.
- MMBE shows current stock only. For history use MB5B.
- PPV on materials with moving average price is spread through the price, so the PRD account stays small by design.
- SE16N access in production is often locked down. Do not rely on it for business users.

## Ai Angle

An assistant over your SAP data can combine contract, release and invoice data to answer 'which contracts expire in 90 days with less than half the value used' or 'which materials created the largest PPV last quarter', showing the query it ran. It reads only and respects SAP roles, and in an on-prem deployment the data stays inside your network.

## Faq

### Which transaction shows purchase contracts?

**Answer:** ME2M for contracts by material, ME2N for contracts by document number, and ME2L for contracts by vendor. Set the document type or scope so that contracts are included.

### What does MMBE show?

**Answer:** It shows current stock quantities for a material by plant, storage location and batch, including quality inspection and blocked stock. It does not show planned receipts.

### How do I report purchase price variance?

**Answer:** Report line items on the price difference account (OBYC key PRD) in FBL3N, then drill down to the PO and material. The cause is a difference between standard price and PO or invoice price.

### Can I build my own MM report without ABAP?

**Answer:** Yes, with SQ01 and an InfoSet from SQ02, or with SQVI for personal use. On S/4HANA you can also build custom analytical queries in Fiori.

## Search terms

contract report in sap mm, sap me2m contracts, sap me2n report, sap mmbe report, sap ppv report, purchase price variance sap, sap mm custom reports, sap outline agreement report

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
