Lesson 1 of 5
The condition technique
12 min
Every price, discount, surcharge and freight charge on an SAP sales order item is a condition. SAP finds those conditions with a reusable mechanism called the condition technique. The same mechanism also drives other determinations in SAP, such as classic output and free goods, so once you understand it for pricing you will recognize it elsewhere.
The idea is simple. Configuration describes what kind of pricing elements exist and where to look for them. Master data, the condition records, holds the actual amounts. When Maria, Contoso Motor Co.'s order-to-cash key user, enters an order for 50 alternators CMC-ALT-100 for Great Lakes Fleet Services, SAP walks through the configuration, looks up the records, and calculates the item net value.
The five components
| Component | What it is | Contoso example |
|---|---|---|
| Pricing procedure | The ordered list of condition types that make up a price calculation, with subtotals and rules | The procedure determined for sales area 1710 / 10 / 00 and Contoso's standard order type |
| Condition type | One pricing element: a price, a discount, a surcharge, freight or tax | The base price (PPR0 in SAP's standard S/4HANA content), a customer discount, a freight surcharge |
| Access sequence | The search strategy for a condition type: which condition tables to check, in which order | For the price: first customer plus material, then material alone |
| Condition table | The combination of key fields a record is stored under | Sales organization, distribution channel, customer, material |
| Condition record | Master data: the actual amount or percentage, valid for a date range | $240.00 per piece for CMC-ALT-100, valid all of this year |
The building blocks of the condition technique.
- Pricing procedureDetermined from the sales area, the document pricing procedure (from the order type) and the customer pricing procedure (from the customer)
- Condition typeSAP takes each condition type in the procedure, step by step
- Access sequenceFor a condition type with an access sequence, SAP runs the accesses in order
- Condition tableEach access builds a key from the document (customer, material, sales area) and checks one table
- Condition recordIf a valid record exists for the pricing date, its amount is used
- Calculated itemValues, subtotals and the net value are calculated and stored on the item
Most specific first
An access sequence usually runs from the most specific key to the most general. For Contoso's price, the first access might look for a customer-specific price for Great Lakes Fleet Services on CMC-ALT-100; the next looks for a general price for CMC-ALT-100 in the sales organization and distribution channel. When an access is flagged exclusive, the search stops at the first record found, so the customer price wins and the general price is never read.
Accesses can also carry requirements: small rules that say "only try this access if…". A typical one checks that the item is relevant for pricing at all. Requirements are a common reason why a record exists but is not used, which you will see in pricing analysis later in this course.
How the pricing procedure is chosen
SAP does not pick a pricing procedure per order by hand. It determines it from three inputs: the sales area, the document pricing procedure assigned to the sales document type, and the customer pricing procedure stored in the customer's sales area data on the business partner. Change any one of those and you may get a different procedure, with different condition types. That is why a test that uses the wrong customer or the wrong order type can "pass" with prices that will never occur in production.
What the procedure controls
A pricing procedure is more than a list. Each line has a step number and settings that control how the line behaves. The ones a key user meets most often are:
- Manual: the condition is only applied if a user enters it; it is not determined automatically.
- Required: the item is incomplete if this condition is missing, which typically blocks follow-on processing.
- Statistical: the value is shown (for example cost) but does not change the net value.
- Subtotal and from/to steps: which lines are added together and what base a percentage applies to.
- Account key: tells finance which revenue or deduction account the value posts to at billing.
Public Edition note: SAP S/4HANA Cloud Public Edition uses the same concepts and the same standard condition types such as PPR0, but you change pricing configuration through the configuration apps rather than the full IMG, and the choice of tables and procedures is narrower.
- Pricing is built from condition types, condition tables, access sequences, condition records and a pricing procedure.
- Access sequences search from specific to general; an exclusive access stops at the first record found.
- The pricing procedure is determined from the sales area, the document pricing procedure and the customer pricing procedure.
- Configuration, master data and the transaction itself are three different places a pricing defect can hide.
Check your understanding · not graded
Lesson check
1. What holds the actual price amount in the condition technique?
2. What does an exclusive access in an access sequence do?
3. Which three inputs determine the pricing procedure?
4. A condition line is flagged statistical. What is the effect?