Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 5

Condition records, validity and scales

11 min

If configuration is the engine, condition records are the fuel. They are maintained by the business, change often, and are the single most common reason a pricing test fails. This lesson covers how records are maintained, how validity periods and scales work, and why dates matter so much.

Where records are maintained

In SAP GUI the classic transactions are VK11 (create), VK12 (change) and VK13 (display), started with a condition type and then a choice of key combination, which is the condition table. In the Fiori launchpad, the Manage Prices - Sales app lets a pricing specialist search, create and change sales condition records in a list, maintain scales, and export to and import from a spreadsheet. Many S/4HANA projects use the app for day-to-day maintenance and keep the GUI transactions for specialists.

FieldMeaningContoso example
Condition typeWhich pricing element the record belongs toPPR0 base price
Key fieldsValues for the fields of the chosen condition tableSales org 1710, distribution channel 10, material CMC-ALT-100
Amount and unitPrice or percentage, currency, per quantity and unit$240.00 per 1 piece
Valid from / valid toThe date range in which the record can be foundJanuary 1 to December 31
ScaleOptional tiers by quantity, value, weight and so on1 piece $240.00; from 100 pieces $228.00
Upper and lower limitOptional bounds for manual changes to the conditionDiscount may be changed between 0% and 10%
Deletion indicatorMarks the record as no longer to be usedSet when an old customer price is retired

A sales price condition record. Field labels vary slightly between the GUI and the app.

Validity periods and the pricing date

Every record has a valid-from and valid-to date. When SAP prices an item, it looks for records valid on the item's pricing date. The pricing date is proposed when the order is created, usually from the document date or the requested delivery date depending on the sales document type, and it can be changed on the order. The pricing date, not today's date and not the delivery date, is what counts.

  1. Dec 31Old price endsRecord A: CMC-ALT-100 at $235.00, valid to December 31
  2. Jan 1New price startsRecord B: $240.00, valid from January 1. When a new record overlaps an old one, SAP shortens the old record's validity.
  3. Jan 3Order enteredMaria enters an order with pricing date January 3; SAP finds record B and prices at $240.00
  4. Jan 3Back-dated orderAn order with pricing date December 30, agreed in writing last year, finds record A at $235.00
  5. Mar 1PromotionRecord C, a customer discount valid March 1 to March 31, is found only for orders priced inside that window
The pricing date decides which record is found. Dates are fictional.
The Sign-Off Table · thesignofftable.com/academy/sap-sd-203

Scales

A scale gives different amounts for different quantities or values on one record. Contoso sells CMC-ALT-100 at $240.00 per piece, dropping to $228.00 from 100 pieces and $220.00 from 500 pieces. The scale type decides whether each tier is a "from" quantity (the usual case) or a "to" quantity. Two details matter for testing: the exact boundary (does 100 pieces get the lower price?) and the scale base, which may be the item quantity or, for a group condition, the total across several items.

Order quantityScale tier reachedExpected price per pieceExpected net value
99From 1$240.00$23,760.00
100From 100$228.00$22,800.00
101From 100$228.00$23,028.00
500From 500$220.00$110,000.00
Expected results for a "from" scale, calculated before the test. Notice that 99 pieces cost more in total than 100.
The Sign-Off Table · thesignofftable.com/academy/sap-sd-203

The last row is not a trick. With "from" scales, buying one more piece can lower the total, and customers notice. If the business does not want that effect, the fix is a different scale design or a graduated scale, which charges each tier separately. That is a pricing design decision for the process owner, not a defect, but a good test makes the effect visible.

Mass changes and price reports

Prices change in bulk at least once a year. Records can be changed in mass through the app's spreadsheet import or the GUI's condition maintenance transactions, and existing records can be listed with standard price reports. On a project, treat a mass price update like a small release: extract before, load, extract after, and compare a sample against the approved price list.

What would you do?

Priya's team runs a regression of 40 order-to-cash scripts in client 100. Twelve fail with "price missing" on CMC-ALT-100, all created today. Yesterday the same scripts passed. What is the most likely cause to check first?

Key points
  • Condition records hold amounts, key fields, validity dates, optional scales and limits.
  • Maintain them with VK11/VK12/VK13 or the Manage Prices - Sales app.
  • SAP finds records valid on the item's pricing date, not on the date you run the test.
  • Scales have boundaries; calculate expected results at, just below and just above each break.

Check your understanding · not graded

Lesson check

  1. 1. Which date decides which condition record is found for an order item?

  2. 2. Which Fiori app is used to maintain sales prices as condition records?

  3. 3. With a "from" scale of $240 from 1 and $228 from 100, what price applies to 100 pieces?

  4. 4. Why do pricing tests often fail right after data migration?