SAP MM price determination: pricing procedure, condition types and fixing wrong PO prices
sap mm price determination
Also searched as
- sap mm pricing procedure
- pricing sap mm
- sap RM0000 calculation schema
- wrong price in purchase order ME21N
Short answer
In SAP MM the purchase price comes from condition records, read in the order set by the calculation schema (standard RM0000), which the system assigns using the purchasing organization, vendor schema group and plant. PB00 is the gross price condition type. A wrong price in ME21N is usually a missing or outdated info record or condition, or the wrong schema.
Applies to: SAP ECC 6.0 and S/4HANA on-premise
Trace and fix a wrong purchase price
- 1In ME21N or ME22N open the item and go to the Conditions tab. Read each line: condition type, amount, currency, per quantity and the calculated value.
- 2Use the analysis option in the conditions screen to see which condition record was found and which access sequence step supplied it.
- 3Check the info record in ME13 (display purchasing info record) for the vendor and material: validity dates and the PB00 condition amount.
- 4If the price should come from a contract or scheduling agreement, check ME33K or ME33L and that the item references it.
- 5Check which schema was determined: schema group of the vendor (in the vendor purchasing view), schema group of the purchasing organization and the schema determination table.
- 6Correct the condition in ME12 (change info record) or MEK2 (change conditions), or enter a manual price in the item if policy allows. Use the new pricing option in the item to re-determine the price.
- 7Re-check the item net price and verify no vendor discount or surcharge condition is also applied by mistake.
How purchasing pricing is structured
Purchasing pricing has four parts: condition types, access sequences, the calculation schema and schema determination. A condition type represents a price element, such as PB00 for the gross price, discounts and surcharges, freight and tax. An access sequence tells the system where to look for a condition record for that type. The calculation schema orders the condition types and says how each is calculated, and schema determination picks which schema applies.
The standard schema is RM0000, which includes PB00 (gross price), discount and surcharge types, freight types and taxes. Condition records are stored in info records, contracts, scheduling agreements and as general conditions. When you save a purchase order the system reads them in the access sequence order and writes the result into the item conditions.
Where it is configured
The path in the IMG is Materials Management > Purchasing > Conditions > Define Price Determination Process. There you maintain condition types, access sequences, the calculation schema, schema groups for vendors and purchasing organizations, and the schema determination assignments.
Changes affect every purchase document that determines a price in future. Test in a sandbox, transport the change and only use a copy of the standard schema (for example ZM0000) when you need new condition types; do not edit RM0000 in place.
IMG: MM > Purchasing > Conditions > Define Price Determination Process
- Define Condition Types (PB00, PBXX, RA01, FRB1, ...)
- Define Access Sequences
- Define Calculation Schema (standard RM0000)
- Define Schema Group: Vendor / Purchasing Organization
- Define Schema Determination
Common reasons a PO price is wrong
The vendor price in the info record has expired, so the system falls back to an older record or none at all and shows price zero. A quantity scale does not match the order quantity. A currency exchange rate differs from expectation. A general condition record exists that overrides the info record because the access sequence reads it first. Or the item was changed manually and was not re-determined.
In ME21N the Conditions tab shows each condition with a manual flag. If a manually changed line is marked, the next pricing refresh will not overwrite it, so people can unknowingly keep an old figure. When prices differ between the order and the invoice, MIRO will block the invoice for price variance, which is covered in the related page.
Info records, contracts and conditions
The info record holds the vendor-material price per purchasing organization and, optionally, per plant. Contracts and scheduling agreements hold their own conditions and take precedence when the item references them. Use ME11 or ME12 for info records and MEK1 or MEK2 for general conditions. Keep validity dates continuous; a gap of a single day is the most common cause of a zero price.
Try it here, free
SAP SD Pricing Condition Price Calculator
Walk a sales order line through a typical SD pricing procedure and see net value, invoice total and margin. Sweep the customer discount to see margin erosion.
Common pitfalls
- !Editing the delivered RM0000 schema directly instead of copying it.
- !Leaving a gap in validity dates between two condition records.
- !Overriding a price manually and forgetting the flag, so a later correct record is ignored.
- !Maintaining the price in the info record for the wrong purchasing organization or plant level.
- !Ignoring scale quantities that do not cover the order quantity.
How an ERP-grounded AI assistant handles this
Price questions combine master data, condition tables and PO history. A grounded assistant can take a PO number, show which condition record was found for the item, list the info record validity and contract references, and explain which step of the schema produced the final value. It reads from your SAP system on-prem, and any price correction remains a controlled change made by purchasing.
Frequently asked questions
What is the standard purchasing pricing procedure in SAP MM?
The standard calculation schema is RM0000. It orders the purchasing condition types such as PB00 gross price, discounts, surcharges, freight and tax. Schema determination decides which schema applies using the purchasing organization and the vendor schema group.
What is condition type PB00?
PB00 is the standard gross price condition type for purchasing. Its record is usually stored in the purchasing info record and read by an access sequence when a purchase order item is created.
Why does my purchase order show a zero price?
Most often there is no valid condition record for the date, vendor, material and organization. Check the info record validity in ME13, any contract reference and the conditions tab analysis, then maintain the missing record.
How do I update prices on existing purchase orders?
Open the item in ME22N, change the delivery or pricing date if needed and use the new pricing function so conditions are re-determined. Items with manual condition lines are not overwritten, so remove the manual flag first.
Related
SAP Pricing Error: Condition Record Missing for PR00 in a Sales Order
The error means the pricing procedure expected a price condition such as PR00, found no valid record for the key, and the condition was flagged mandatory. Use the pricing analysis in the order item to see which access failed, then create the record with VK11, or fix the pricing procedure determination if the wrong procedure was selected.
How-toSAP MIRO: invoice blocked for price variance, and how to release it in MRBR
MIRO blocks an invoice for payment when its price or quantity differs from the PO or goods receipt by more than the tolerance limits defined in OMR6. The invoice posts, but it carries a payment block reason (R for price) until someone releases it in MRBR or corrects the underlying data. Release only after confirming which side is wrong.
How-toLanded cost in SAP MM: planned and unplanned delivery costs
SAP MM handles landed cost through delivery cost conditions. Planned delivery costs are conditions on the purchase order (flagged as delivery costs) that are accrued at goods receipt and settled with the freight invoice. Unplanned delivery costs are entered in MIRO when the invoice arrives. How they hit inventory value depends on the price control of the material.
How-toSAP ME21N: why the release strategy is not determined on a purchase order
When a purchase order saves without a release strategy, no strategy in the release group matched the PO's characteristic values. Compare the PO header values (value, document type, purchasing group, plant) against the value ranges in the strategy classification (CL24N), and check that the release group and code are active for the PO document type.
Error fixSAP M7 021: Deficit of SL Stock Quantity
M7 021 fires during a goods issue, delivery, or confirmation when SAP checks the unrestricted-use (SL) stock for the exact plant, storage location and batch combination and finds less than what you are trying to post out. Fix the entry (batch, storage location, quantity) first; only enable negative stock or downgrade the message to a warning if the business genuinely needs to post ahead of a receipt.
Error fixSAP IDoc Status 51: Application Document Not Posted
Status 51 tells you the IDoc reached the application layer and failed to post, but the status text itself is not the error - the real cause sits in the status record's long text or the linked application log. Fix the underlying data or configuration, then reprocess the IDoc through BD87 rather than editing the status.
AI for ERPAI for SAP S/4HANA, Running On-Prem or in Your Private Cloud
Run AI on SAP S/4HANA without sending ERP data to a public API. On-prem and private-cloud architecture, CDS views, OData, and honest deployment trade-offs.
Stuck on SAP ECC / S/4HANA?
Talk to engineers who work inside SAP ECC / S/4HANA every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- SAP SD Pricing Condition Price CalculatorWalk a sales order line through a typical SD pricing procedure and see net value, invoice total and margin. Sweep the customer discount to see margin erosion.
- SAP Pricing Procedure Design WorksheetAn editable worksheet to lay out a pricing procedure step by step, test the net value with example numbers and export it to Excel for the blueprint.
- SAP Variant Condition Pricing WorksheetPlan variant condition surcharges per characteristic value before you load them into SAP pricing, and total the configured price for test cases.
ERP fixes and how-tos
- Pricing Procedure in SAP MM, with a Worked PO ExampleHow the SAP MM purchasing pricing procedure works: condition types, calculation schema, schema determination, a worked PO and how freight is captured.
- SAP MM Pricing Procedure Configuration (Calculation Schema, M/08)Configure the SAP MM pricing procedure (calculation schema): condition types, M/08, schema groups and determination, MEK1 condition records and account keys.
- How to Create a Purchase Order in SAP MM (ME21N)Step-by-step purchase order creation in SAP MM with ME21N: manual PO, PO from requisition, account assignment, release and the order-to-invoice flow.