Phase 9 — Pricing / Condition Technique
🎯 In plain words
❓ Why it matters
Wrong pricing config = wrong PO values and wrong inventory cost. If freight or duty isn't picked up correctly, the material is undervalued and every downstream figure inherits the error. It also comes up a lot in interviews — the condition technique appears across MM and SD, so understanding it once pays off everywhere.
🛒 The everyday picture — a shopkeeper writing your bill
Watch a Karachi shopkeeper bill a regular customer. He does two different jobs, and SAP splits pricing into exactly the same two jobs:
- Decide what LINES go on the bill — price, minus discount, plus delivery.
- Look up the NUMBER for each line — flipping his notebook: the "special price for regular customer Ali" page first; if Ali's not there, the "standard price for everyone" page.
The actual numbers written on a notebook page ("250,000", "3%") are condition records — maintained via the info record or MEK1.
The case, as the bill SAP builds — iron from Mughal Steel (per tonne)
Each line = a condition type. Each amount was found by flipping that line's notebook pages (tables) in its access-sequence order. The schema decided the line order and did the maths. OMFO chose this bill pad because it's an import vendor. One sentence each — that's the whole condition technique.
🧠 Key concepts you must know
1. The condition-technique chain
This is the order that matters — learn it as a chain:
- Condition tables — which key fields a price depends on (e.g. vendor + material).
- Access sequence — the search strategy: a ranked list of condition tables SAP checks, most specific first, until it finds a price.
- Condition types (M/06) — each ingredient: gross price, a discount, freight, duty…
- Calculation schema (M/08) — the recipe: lists the condition types in sequence and does the maths (the "pricing procedure").
- Schema determination (OMFO) — tells SAP which schema to use, based on the vendor's schema group + purchasing org.
2. The ingredients (condition types)
- Gross price — the starting base price.
- Discounts / surcharges — percentage or absolute, plus or minus.
- Freight & delivery costs — can be planned on the PO and settled later in invoice verification.
- Customs duty — for imports, added as its own condition (see Phase 5).
3. Net vs effective price
- Net price — gross price after discounts/surcharges.
- Effective price — net price including delivery costs, cash discount etc.; the real "all-in" cost.
4. Statistical conditions
A statistical condition is shown in the pricing for information only — it does not change the price actually paid or posted. It's used for things like an expected cash discount or a comparison value, so you can see it without it affecting the total.
🛠️ Do it now — practise alongside
Don't just read — go build it in your IDES. The condition technique only clicks once you've assembled one:
Scenario 21 — Pricing ProcedureThen build a custom condition type in M/06 and add it to the calculation schema in M/08. Create a PO and watch your new condition appear in the price breakdown — that's the whole chain working end to end.
🔗 Connects to
- Phase 4 — Purchasing: pricing is what fills in the price on the PO.
- Phase 8 — Valuation: delivery costs and duty flow from pricing into the material's valuation.
- Phase 5 — Special Procurement: import customs duty is added as a pricing condition.
🎓 Cert focus & quick recall
C_TS452 area ③ (pricing). Expect questions on the order of the condition-technique chain, what an access sequence does, statistical conditions, and where delivery costs/duty fit.
What is the order of the condition-technique chain?
Condition tables → access sequence → condition types (M/06) → calculation schema (M/08) → schema determination (OMFO). Tables define the keys, the access sequence searches them, condition types are the ingredients, the schema adds them up, and determination picks the right schema.
What is an access sequence?
The search strategy for a condition type — a ranked list of condition tables SAP checks from most specific to most general, stopping at the first table that returns a valid condition record.
What is a statistical condition?
A condition displayed for information only — it appears in the pricing breakdown but does not affect the net/effective price that's actually posted (e.g. an expected cash discount).
Where does customs duty fit?
It's added as its own condition type in the calculation schema, typically as a delivery cost for imports, so it loads onto the material's value alongside freight.
What is condition exclusion (exclusion indicator / exclusion groups)?
The rule for when two conditions compete — only one may win; the loser shows on the PO inactive. Two tools: the exclusion indicator on a condition type (classic: a manually typed price PBXX wins over the automatic PB00 — never both), and condition exclusion groups (SPRO → MM → Purchasing → Conditions → Define Condition Exclusion): group similar discounts, attach a comparison rule to the schema — e.g. rule A = best condition, so a 3% loyalty and a 5% bulk discount don't stack; only the 5% applies. ⚠️ Don't confuse with the Exclusive flag in the access sequence — that one just stops the table search at the first record found.
✅ You're ready to move on when…
- You can recite the condition-technique chain in order without looking.
- You can explain what an access sequence does and why "most specific first" matters.
- You've built a custom condition type in M/06 and added it to a schema in M/08.