Purchase Order
MM / P2Pintermediate

MM Purchase Order Part 2: PO Pricing — Conditions, Info Records and Calculation Schema

Key takeaway

How PO prices are determined: condition technique in purchasing, calculation schema (e. g. RM0000) determined by schema groups, condition types for gross price, discounts, freight and surcharges, info record and contract conditions, price units, and common price errors.

Explanation

📌 KEY POINTS
✅ Purchasing uses the condition technique with a calculation schema (e.g. RM0000).

✅ Schema determined by schema group of purchasing org and supplier (plus document type).

✅ Typical conditions: gross price (PB00/PBXX), discounts (e.g. RA01), freight (e.g. FRA1), surcharges.

✅ Prices come from contracts, info records or manual entry; price unit matters.

⚠️ Wrong price unit or order unit conversion causes prices 10× or 1,000× off.

━━━━━━━━━━━━━━━━━━━━
▶ WHERE WE ARE

Part 1 covered structure. Now pricing.

━━━━━━━━━━━━━━━━━━━━
▶ 1. CALCULATION SCHEMA

  • Sequence of conditions and subtotals (e.g. RM0000).

━━━━━━━━━━━━━━━━━━━━
▶ 2. SCHEMA DETERMINATION

  • Schema group purchasing org + schema group supplier → schema.

━━━━━━━━━━━━━━━━━━━━
▶ 3. CONDITION TYPES

  • PB00 gross price (with records), PBXX manual gross, discounts, freight, surcharges.

━━━━━━━━━━━━━━━━━━━━
▶ 4. SOURCES OF PRICES

  • Contract conditions → info record conditions → last PO → manual.

━━━━━━━━━━━━━━━━━━━━
▶ 5. PRICE UNITS AND UNITS

  • Price per 1/10/100/1000; order unit vs base unit conversions.

━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP

  1. Maintain info record conditions with discount.
  2. Create PO; open pricing analysis.
  3. Change price unit and observe impact.

✅ CHECKPOINT: you can explain every condition line in the PO pricing.

Code example

ABAP Code
===== STEP 1: configuration =====Schema group POrg 0001 + supplier schema group 01 → schema RM0000Conditions: PB00 gross | RA01 discount % | FRA1 freight % | NAVS non-deductible tax (per setup) ===== STEP 2: info record conditions =====ME11/ME12: PB00 12.00 EUR per 1 KG, scale ≥ 1,000 KG 11.50 | RA01 −2% ===== STEP 3: price unit =====Price 12.00 per 1 KG vs 12.00 per 1,000 KG → factor 1,000 difference

Real project scenario

A buyer reported that SAP proposed a price ten times too high. The info record had been migrated with price unit 1 instead of 10. Correcting the price unit in info records and adding a migration validation for price units stopped the errors.

Common mistakes

  • Wrong price units.
  • Manual prices overriding contracts.
  • Missing freight conditions.
  • Outdated info records.
  • Wrong schema groups.

Best practices

  • Validate price units.
  • Use contracts/info records.
  • Model all cost elements as conditions.
  • Review conditions periodically.
  • Use pricing analysis.

Interview angle

Questions: "How is PO pricing determined?", "What is a calculation schema?", "Why is a PO price wrong?"
Strong answer: condition technique, schema determination via schema groups, condition types, price sources precedence, price units and conversions.

Practice this lesson

Quick check

1. SAP proposes a PO price ten times too high. What is the most likely cause?

2. How is the calculation schema for a PO determined?

3. A supplier complains that the PO net price ignores the agreed 2% discount. Where should the discount be maintained?

Interview questions

1. Buyers report wrong PO prices: some ten times too high, some without agreed discounts. How do you analyse PO pricing?

Answer it in your own words first, then compare.

2. In an S/4HANA Public Cloud implementation following clean core principles, output for sales-order-driven procurement (e.g., third-party PO triggered from SD) fails intermittently, and the team wants to avoid a core modification fix. How would you troubleshoot and resolve this within clean core constraints?

Answer it in your own words first, then compare.

Practice more with Interview AI →

Reference-verified: the steps are checked against official SAP documentation and tutorials, and object and field names in the sample code are checked for consistency. The code has not been compiled or run on an SAP system by ERPClimb. Syntax marked release-dependent varies by SAP release, so check it in your own system.

More lessons in this topic

Interview questions on this topic

Related SAP topics