SD Pricing Part 10: Enterprise Pricing Architecture — Governance, Extensibility and S/4HANA Migration
Architect's view of pricing: a small set of pricing procedures, a condition type catalogue with owners, price hierarchy design, extensibility (field catalog, routines, BAdIs) under governance, integration with CRM/CPQ and rebates, and what changes in S/4HANA (PRCD ELEMENTS, settlement management for rebates, field length).
Explanation
📌 KEY POINTS
✅ Pricing architecture = few procedures, a catalogue of condition types with owners, a clear price hierarchy, and governed extensions.
✅ Record ownership and data processes (price approval, upload, validity) matter as much as configuration.
✅ Extensions (new fields, routines, BAdIs) must be registered, reviewed and performance-tested.
✅ S/4HANA changes: document conditions in PRCD_ELEMENTS (not KONV), SD rebates replaced by condition contracts in settlement management, extended field lengths.
⚠️ Legacy pricing migrated 1:1 carries years of unused condition types, tables and routines into the new system.
━━━━━━━━━━━━━━━━━━━━
▶ WHERE WE ARE
Parts 1–9 covered the technique end to end. This part is the enterprise design view.
━━━━━━━━━━━━━━━━━━━━
▶ 1. PROCEDURE STRATEGY
- Few procedures: domestic, export, intercompany, special (e.g. rebate-relevant or free goods variants).
- Country differences via condition types/records, not separate procedures, where possible.
━━━━━━━━━━━━━━━━━━━━
▶ 2. CONDITION TYPE CATALOGUE
- Each type: purpose, class, calculation, access sequence, owner, account key.
- Clear price hierarchy (contract price > customer price > list price > base price).
━━━━━━━━━━━━━━━━━━━━
▶ 3. EXTENSIBILITY GOVERNANCE
- Field catalog extensions only with business case.
- Routine register (VOFM 9xx) and BAdI inventory with performance tests.
- Prefer standard features before code.
━━━━━━━━━━━━━━━━━━━━
▶ 4. INTEGRATION
- CRM/CPQ or e-commerce pricing: decide system of record and synchronization (API, IDoc).
- Rebates: S/4HANA uses condition contract settlement (Settlement Management).
- Analytics: pricing elements from PRCD_ELEMENTS via CDS views.
━━━━━━━━━━━━━━━━━━━━
▶ 5. MIGRATION
- Inventory legacy procedures, condition types, tables, routines, usage.
- Rationalize; migrate only valid, future-relevant condition records.
- Convert rebate agreements to condition contracts.
- Regression test pricing with real order samples before cutover.
━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP
- Build the condition type catalogue and price hierarchy.
- Reduce procedures to the needed set.
- Register extensions; retire unused ones.
- Define record ownership and processes.
- Plan migration with rationalization and sample-based regression.
✅ CHECKPOINT: any price on any order can be explained from the catalogue and hierarchy without reading code.
Code example
===== STEP 1: condition type catalogue (excerpt) =====CTyp | Purpose | Class | Calc | AccSeq | Owner | ActKyZPR0 | net price agreement | B | C | ZPR0 | pricing team | ERLZD01 | customer discount | A | A | ZD01 | sales ops | ERSZFR1 | freight surcharge | A | B | ZFR1 | logistics | ERFVPRS | cost (statistical) | B | C | – | controlling | – ===== STEP 2: S/4HANA specifics =====Document conditions : PRCD_ELEMENTS (replaces KONV)Rebates : condition contracts (WCOCO) + settlement management instead of SD rebate agreementsAnalytics : CDS views on pricing elements / embedded analytics ===== STEP 3: migration inventory =====Legacy procedures 23 → target 5 | condition types 140 → 38 | custom tables 210 → 45 | routines 60 → 12Real project scenario
A global manufacturer entered its S/4HANA migration with 23 pricing procedures, 140 condition types and 60 custom routines accumulated over 15 years. The architect ran a usage analysis on two years of documents: 60% of condition types had no values in recent orders. The target design had 5 procedures and 38 condition types with a catalogue and owners; rebate agreements were converted to condition contracts. Pricing regression tests with 5,000 real orders from each country confirmed identical net values within tolerance before cutover.
Common mistakes
- Migrating legacy pricing 1:1.
- Creating procedures per country instead of per business pattern.
- Extensions without registry or performance tests.
- No owner for condition records.
- Ignoring rebate conversion to condition contracts in S/4HANA.
Best practices
- Keep few procedures and a documented condition type catalogue.
- Define a price hierarchy with business.
- Govern extensions like code.
- Assign record ownership and data processes.
- Rationalize and regression-test pricing during migration.
Interview angle
Questions: "How would you design pricing for a global template?", "What changes in pricing with S/4HANA?", "How do you migrate pricing?"
Strong answer: few procedures, condition type catalogue with owners, price hierarchy, governed extensions; S/4HANA PRCD_ELEMENTS, condition contract settlement instead of SD rebates, CDS analytics; migration with usage-based rationalization, record cleanup and sample-based regression testing.
Practice this lesson
Quick check
1. How are SD rebate agreements handled in S/4HANA?
2. A global template has 23 pricing procedures, many differing only slightly by country. What is the architect's recommended direction?
3. In S/4HANA, where are document pricing conditions stored?
Interview questions
1. A global rollout is experiencing inconsistent pricing results across countries using a single shared pricing procedure, with some countries seeing incorrect tax conditions applying alongside manual discounts. As the architect, how would you redesign the pricing procedure structure to resolve this?
Answer it in your own words first, then compare.
2. A consumer goods company runs one S/4HANA template in 18 countries with 20+ pricing procedures and many local condition types. How do you redesign pricing?
Answer it in your own words first, then compare.
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
- SD Pricing Part 1: The Condition Technique — How SAP Prices a Sales Document
- SD Pricing Part 2: Condition Tables and Access Sequences — How SAP Finds a Price
- SD Pricing Part 3: Condition Types and the Pricing Procedure
- SD Pricing Part 4: Condition Records, Scales and Validity Management
- SD Pricing Part 5: Header Conditions, Statistical Conditions and Subtotals
- SD Pricing Part 6: Condition Exclusion, Group Conditions and Scales in Depth
- SD Pricing Part 7: Pricing Routines — Requirements, Alternative Calculation Types and Base Values
- SD Pricing Part 8: Manual Pricing, Price Updates and Change Governance