Price Conditions
Click Play, then click on the pillars to get further information.
In pricing, conditions such as prices, discounts, surcharges, freight, and taxes, must be determined automatically for business transactions. A condition type is the template or formula for one part of the overall pricing calculation. Condition types define how an individual pricing calculation will take place and serve as the template or pattern for condition records.
The levels at which pricing is most commonly performed are predefined in the SAP standard system.
However, you can define conditions at any key level. Therefore, you can add key levels if required. A standard field catalog containing the fields that are commonly used in pricing is provided within Customizing for this purpose. You can add other fields to the field catalog.

The master data for price conditions is stored in condition records.
Condition records are always defined for a key combination that is assigned to the respective condition type. You can also assign several possible key combinations to a condition type, such as in the standard condition type PR00 ( Price ).
In addition, you can specify a validity period to limit a pricing agreement to a specific period.
Examples:
● Different price lists for different years.
● Discounts that are given only for the duration of a special offer.
You can define the values in a condition record, such as price, surcharge, and discount, according to a scale. There is no limit to the number of scale levels.
You can specify an upper limit and a lower limit for each condition record. If you want to manually change the pricing elements that are determined by the system, you can do so only within these limits.

The condition type determines the category of a condition and describes how the condition is used.
For each condition type, you can control the scale base type and the calculation type.

The table above lists the possible scale base types and calculation types

A pricing procedure is a sequential list of condition types and subtotals that are used to calculate the price at the item and header levels of a document.
All condition types that are permitted for a transaction in pricing are contained in the pricing procedure.
The pricing procedure is determined in Customizing according to the following criteria:
● Sales area
● Sales document (document pricing procedure)
● Sold-to party (customer pricing procedure)
Pricing Procedure Attributes
Customizing for pricing procedures contains a variety of attributes that can influence the processing of individual condition types.
Some of these attributes are as follows:
● Level (STEP)
The level in the pricing procedure determines the sequence in which the system processes and places the conditions in the sales document (where applicable).
● Subtotals
The pricing procedure can contain any number of subtotals. To define subtotals, leave the Condition Type field blank and enter a name for the subtotal in the Description field.
● Condition formula
The condition formula in the pricing procedure allows you to define an alternative base for calculating the condition value and for consolidating conditions for subtotals. The default base is the current value that resulted from processing the previous condition types.
● Requirements
You can specify requirements to determine how the system must use the individual condition types.
● Specific settings
You can mark a condition type in the pricing procedure as a condition that is mandatory, a condition that can only be entered manually (any existing access sequence is ignored in this case), or as a condition that can be used for statistical purposes only.

If you want to retain the input sequence for manual conditions, these conditions must appear at the same level. Use the Counter subkey to enter conditions at the same level in the pricing procedure.

An access sequence defines the search strategy to locate the proper condition record of a specific condition type to which the access sequence is linked. This search strategy defines the sequence in which the system reads the condition records for a condition type. Every condition type that retrieves its data from condition records uses an access sequence.
An access sequence can be assigned to a condition type (except for condition types that are configured as a header condition).
Each access within an access sequence describes the key fields for the desired condition record. Each line or access in an access sequence references a condition table.
A condition table defines the key fields that are used for a condition record.
If an access sequence contains more than one access, the accesses are usually arranged from specific to general in descending order.
An access can also be made depending on the requirements that are assigned in the access sequence.