Lesson 5 of 5
Testing pricing
9 min
Pricing defects reach customers directly and often show up only after invoices go out. They are also very testable: inputs are known, the rules are deterministic, and SAP shows its working in pricing analysis. A good pricing test pack is small, precise and built around boundaries.
Start from expected results
Write the expected price before you run the test. Take the approved price list and discount agreements, pick the scenarios, and calculate the expected condition values and net value for each item in a spreadsheet. If you cannot calculate the expected result, you do not yet understand the requirement, and the test cannot prove anything.
- RequirementApproved price list, customer agreements, promotion rules and freight policy
- Test conditionsValidity dates, scale breaks, exclusions, manual limits, header distribution, currencies
- Expected resultsCalculated per item: each condition value and the net value
- Data checkRecords exist and are valid for the pricing dates in client 100
- ExecutionCreate orders and invoices; capture pricing analysis and net value
- ComparisonActual against expected, line by line; differences become findings
The three big boundary areas
| Area | Test at | What can go wrong |
|---|---|---|
| Validity dates | Last day of the old record, first day of the new one, and an order with a back-dated pricing date | Gap or overlap between records; pricing date not what the business expects |
| Scale breaks | Just below, exactly at, and just above each break (99, 100, 101) | Wrong scale type ("from" vs "to"), wrong unit, group scale base across items |
| Exclusion and priority | Orders where two discounts compete, and where only one applies | Both discounts applied, or the less favorable one wins |
Most pricing defects sit at a boundary.
Other conditions worth testing
- Manual changes: an override inside the limits is accepted, one outside the limits is rejected, and a user without authorization cannot change it at all.
- Header conditions: a header amount on a multi-item order is distributed as designed, and redistributed after an item is rejected.
- Order to billing: the invoice price equals the order price, or differs exactly as copy control intends (for example, re-pricing of taxes or freight).
- Incomplete pricing: when a required condition is missing, the item is flagged incomplete and cannot be billed.
- Account keys: revenue and discounts post to the expected accounts in the billing journal entry.
Evidence that holds up
For each test item, the evidence is the pricing analysis showing which records were found, plus the item conditions and net value compared with the expected values. Record the order and billing document numbers so anyone can re-display them, and note the pricing date. A screenshot of the order total alone proves almost nothing: a correct total can hide two wrong conditions that cancel out.
Pricing also has a migration angle at Contoso. Condition records move from ECC to S/4HANA during conversion or are reloaded, and their validity must line up with the go-live date. Luis, the cutover manager, should own a reconciliation step: count records by condition type before and after, and compare a sample of prices against the source system.
What would you do?
Priya proposes one pricing test: "order 50 alternators for Great Lakes Fleet Services and check the net value is $11,500." Maria asks you whether that is enough to sign off pricing. What do you recommend?
- Calculate expected condition values and net value before you execute.
- Test validity dates, scale breaks and exclusions on both sides of each boundary.
- Check the invoice as well as the order, because billing can re-price.
- Evidence per item: pricing analysis, conditions and net value, pricing date and document numbers.
Check your understanding · not graded
Lesson check
1. Which quantities best test a scale break at 100 pieces?
2. Why is a screenshot of the order total weak pricing evidence?
3. Why should a pricing test also check the invoice?
4. What should be written before executing a pricing test?