SAP MM Pricing Conditions

SAP MM Pricing ConditionsThis tutorial which is part of our SAP MM course talks about SAP MM Pricing Conditions. You will learn about pricing conditions in SAP MM, calculation schemes, their functions, and how to create a new condition record. We will mention the SAP transactions that are related to this process.

SAP MM pricing conditions are required for determination and calculation of prices in various purchasing documents. Prices can include many different components, such as freight, gross price, net price, taxes, discounts, surcharges, etc. Therefore, SAP ERP provides a functionality of pricing conditions and calculation schemas to fulfil the requirement for calculation of prices in purchase orders, quotations, contracts, and other purchasing documents.

A calculation schema is a structure in SAP that logically combines a number of different pricing conditions that should come appear one after another in a purchasing document. You can configure various calculation schemes and include different SAP MM pricing conditions in them. Then, you can attach a calculation schema to a vendor and when purchasing documents are created with the said vendor, the calculation schema specified in the vendor master record will be pulled to the document. The system will then use the pricing conditions maintained in the calculation schema for price determination.

There are two types of SAP MM pricing conditions:

  • Time dependant
  • Time independent

Time dependant conditions are valid during the time periods maintained in the purchasing documents. Whereas time independent conditions don’t have any time restrictions. Time dependant conditions are maintained in info records and contracts. However, pricing conditions that are maintained in purchase orders are always time independent and follow the delivery dates maintained there.

Time dependant and independent conditions can be maintained at both header and item levels of purchase documents. Header conditions apply to all line items of a purchase document, whereas line item conditions apply line by line.

Pricing conditions can have price scales which can be mapped to the dependency of price on the quantity. For example, for 1-100 quantity purchased there is discount of $2 per piece, for 101-200 the discount is $3 and so on.

Usually, two different calculation schemas are created for every vendor. One for local purchases and one for foreign purchases. The calculation schema for local purchasing usually has less pricing conditions whereas the foreign schema has lots of different conditions attached.

SAP Calculation Schema

Let’s see how to create a calculation schema in SAP. You should start SPRO transaction and navigate to the following path:

Materials Management – Purchasing – Conditions – Define Price Determination Process – Define Calculation Schema

On the screenshot below, you can see SAP MM pricing condition types attached to a calculation schema. You can see percentage and value condition types. Percentage conditions types usually has From field filled. The value in this field defines the step of a calculation schema from which the percentage should be calculated. For example, the condition type ZRA1 needs to be calculated based on the value from step 1 (which is Gross Price).

SAP Calculation Schema
SAP Calculation Schema

Now, let’s understand different components that are necessary to define a calculation schema. We will discuss customizing related to pricing in more details in one of our next tutorials. Here, we will just briefly introduce the key elements of calculation schemas and then focus on SAP MM pricing conditions master data.


Conditions inside a calculation scheme are organized using steps. The SAP system will perform pricing for purchasing documents according to the steps numbers. First, the pricing condition from Step 1 with Counter 1 will be calculated and displayed. Then, Step 1 with Counter 2 and so on. When configuring calculation schemas, it is always advisable to leave spaces between steps’ numbers just in case if you want to add new step later.

Condition Types

Next, the SAP system will look at the condition type specified at a given step. There can be different condition types (e.g., percentage or quantity based). Each condition type will have an access sequence assigned to it.

Condition types are maintained in customizing (SPRO transaction) under the following menu item:

Materials Management – Purchasing – Conditions – Define Price Determination Process – Define Condition Types

List of SAP MM Pricing Condition Types
List of SAP MM Pricing Condition Types
ZWHV Pricing Condition Type
ZWHV Pricing Condition Type

Access Sequence

The access sequence defines how the SAP system will search for SAP MM pricing conditions that match a particular condition type. In the access sequence, you can specify which fields of purchasing documents will be used for searching pricing conditions. For example, company code or vendor.

Access sequences are maintained in customizing (SPRO transaction) under the following menu item:

Materials Management – Purchasing – Conditions – Define Price Determination Process – Define Access Sequences

Overview of Existing Access Sequences
Overview of Existing Access Sequences


Finally, the lowest element of pricing procedure is a pricing condition. A condition is considered to be master data while calculation schemas, condition types, and access sequences are considered to be customizing. To create new conditions, you should use transaction MEK1.

Here you select the condition type to maintain amounts for that condition. Next, you should click Enter button on your keyboard to proceed to the next screen.

Initial Screen of MEK1 Transaction to Select Condition Type
Initial Screen of MEK1 Transaction to Select Condition Type

On the next screen you should provide input in the required fields. The fields will be different for different condition types. In our example, you should populate Material, Plant, Purchase Organization, Vendor, Discount Percentage, and Validity fields.

Main Screen to Create New Pricing Conditions
Main Screen to Create New Pricing Conditions

Now, let’s see how price scales functionality that we mentioned in the beginning of this tutorial works. Please highlight your line item and click on Scales button.

Main Screen to Create New Pricing Conditions (with Highlighted Item)
Main Screen to Create New Pricing Conditions (with Highlighted Item)

The SAP system will show Scales screen. Here, you should apply your scales, i.e. 1-100 pieces give 2% discount, 101-200 give 3% discount, 201+ give 4% discount.

Scales Screen of SAP MM Pricing Condition
Scales Screen of SAP MM Pricing Condition

Finally, click on Save button and you will get a message confirming that the condition record was saved.

A New Pricing Condition was Successfully Created
A New Pricing Condition was Successfully Created

Did you like this SAP MM tutorial? Have any questions or comments? We would love to hear your feedback in the comments section below. It’d be a big help for us, and hopefully it’s something we can address for you in improvement of our free SAP MM tutorials.

Navigation Links

Go to next lesson: SAP Mass Maintenance (MASS Transaction)

Go to previous lesson: SAP Purchasing Info Record

Go to overview of the course: SAP MM Training

17 thoughts on “SAP MM Pricing Conditions”

  1. You perhaps need to make it clear how you apply different condition records for different pricing elements I.e on say a gross price you add a discount or on the purchasing price etc….

    1. Thank you for the suggestion! Do you mean adding explanation about applying different condition records in purchasing documents (e.g., a purchase order) or in customizing?

    1. Net price usually means price without tax. Gross price usually means price with tax. Many companies need to add VAT (Value Added Tax) and other types of taxes to their prices.

      The main components of prices are net price, discounts, surcharges, taxes, and freight.

      1. Hi Cleo,
        I have a question regarding the net price for the PO is Non Editable based on the Tax code. Could you please let me know where this configuration is controlled.

  2. Dear Afshad Irani
    Thanks for the lesson, it’s very useful.
    I have question, i like to create a condition , only as a price list. the fields i like to populate are: vendor, plant, material. If i like to see the price of the material on the Purchases, how i should connect it to the schem, and if i don’t like to see it on the Purchases, and use it only as a price list, there are reports to see condition data?
    Thank ahead.


    1. To get the price of the material populated in purchase orders, you will need to add your condition type to the calculation schema. If you don’t want your condition to be in purchasing documents, then you should remove it from the calculation schema. You can also make it a ‘statistical’ condition. Then, it will be shown in purchasing documents but won’t impact price calculation. There are different standard reports for conditions in SAP. You can try transactions like MEKA, MEKB, MEKC, etc.

  3. SAP MM Pricing Condition
    How to Set the price conditions for following type of example ?
    Activity Height Rate/Tonne
    Job Type A If Height up 20 Mtr. 5639
    Job Type A 20-40 Mtr. 6202
    Job Type A Above 40 Mtr. 6484

    (Same Job executing at different scale of Height thane Price change ( Rate is Per Tonne)


  4. Thank you. it is very usefull. So my question is it possible to explain to me what is a statistical condition type. and is there any way to display via a table the contracts that contain posts with scales?

  5. Statistical condition types will just display in the pricing procedure. They will not be applied anywhere to calculate the pricing.

    Manual condition types are those which has to be entered manually. They don’t have any access sequence to be proposed automatically. You will not maintain any condition records for manual condition types as they don’t have any access sequence.

  6. The transaction MEK1 create also the inforecord during the creation of prices or there is the possibilities to create the inforecord during condition price creation ?

  7. Hi,
    If the same material code with scale pricing(20TO-22TO=£700 per 1TO, >22TO=£545 per 1TO) is added in purchasing agreement and then a PO is raised with the same material code being ordered at 22TO over 2-3 lines but with different delivery dates – the PO will calculate the total order quantity and essentially give the cheaper price. Is there a way to stop that from happening ?

    Many thanks

Leave a Reply

Do you have a question and want it to be answered ASAP? Post it on our FORUM here --> SAP FORUM!

Your email address will not be published. Required fields are marked *