Skip to end of metadata
Go to start of metadata

Define Pricing Procedure

  • A pricing procedure is a procedure wherein you control the execution of condition types in a sequence you would like. It not only executes the condition types but also controls the execution of condition types by the use of requirements, Alt.Cty. Alt.CBV, account key.
  • In other words, the Pricing procedure is a systematic and sequential use of condition types to arrive at the right value of the product.
    To determine the pricing procedure SALES AREA (Sales Organization + Distribution Channel + Division) + CUSTOMER PRICING PROCEDURE (from Customer master) + DOCUMENT PRICING PROCEDURE (from Sales Doc type)
    To view a select the pricing procedure in SPRO which is the standard and copy it and create our own pricing procedure.
  • Highlight it and double click the Control icon on the LHS screen.
  • We can see that there are 16 columns in the pricing procedure, these are going to be used by the system to control the condition types.
  • A detailed description of each column is given below:

1. Step:

  • The number determines the sequence of the conditions within a procedure.
  • It indicates the position of the condition type in the pricing procedure.
  • Ex.: 10, 15 etc.

2. Counter:

  • The system uses the counter to count the steps and also it can be used to count mini-steps of the same condition types. So that number of steps can be reduced in the pricing procedure and hence enhancing the system performance.
  • Access number of the conditions within a step in the pricing procedure.
  • During automatic pricing, the system takes into account the sequence specified by the counter.

3. Condition Type:

  • It represents the pricing elements in the pricing procedure as a base price, discount, freight and tax.
  • The condition type is used for different functions. In pricing, for example, the condition type lets you differentiate between different kinds of discount; in output determination, between different output types such as order confirmation or delivery note; in batch determination, between different strategy types.
  • Ex.: PR00 - Price, K004 - Material Discount, K005 - Customer/Material Discount, K007 - Customer Discount.

4. Description:

  • System copies description of condition type from its description (V/06).

5. From and 6. To:

    1. From This can be used as a base to the condition type for calculating further value.

    2. From and To The range between the steps from and to can be used to specify the range between the same condition types. So that depending upon the condition type, the system deducts or adds the total value of those condition types from a specific common source.

7. Manual:

  • This indicator specifies whether the specific condition type can be determined manually during sales order processing.
  • If we check the box then the entry is going to be manual, if we uncheck it, it is going to be automatic.
  • For Base Price and Taxes, the entry should be automatic.
  • For Discounts and freight, The entry should be manual.
  • If we check the box, in VA01 when we go to conditions at the header/item level, the condition type will not be listed. If we require we will have to manually enter it.
  • If we uncheck the box, in VA01 when we go to conditions at the header/item level, the condition type will be listed.

8. Mandatory:

  • This indicator specifies that a particular condition type is mandatory in the pricing procedure.
  • If we check the box, then in VA01 at the header/item level in the conditions tab, if we delete the value in the condition type and try to save the document then the system will not allow us to do it and throws an error.
  • If we uncheck the box, then in VA01 at the header/item level in the conditions tab, if we delete the value in the condition type and try to save the document then the system will allow us to save it, without giving any error.
  • The mandatory check box should be checked in condition types which are compulsorily required in the pricing procedure. Ex.: PR00, MWST.
  • If the condition type is checked with the mandatory option, then the value should be maintained for that condition type, otherwise, the system will not allow the user to process the document.

9. Statistical:

  • This indicator if it is activated will not allow the value of the condition type to be taken into net value calculation.
  • It is used only for information purposes only.
  • This indicator causes a surcharge or discount to be set in the document statistically (that is, without altering the value).
  • This is commonly used for condition types
    • SKTO - Cash Discount
    • VPRS - Cost (Moving average price/Standard Price).

10. Print:

  • The value of this field specifies whether a line item can be printed or not in the sales document and at what level it is to be printed.

11. Subtotal:

  • The value of this field determines where the values of subtotals are to be captured i.e. in which table and which field.
  • Controls whether and in which fields condition amounts or subtotals (for example, a customer discount or the cost of a material) are stored.
  • If the same fields are used to store different condition amounts, the system totals the individual amounts.
  • These condition amounts or subtotals are used as a starting point for further calculations. You may, for example, want a subtotal of all the discounts included in the pricing of a sales order.

12. Requirement:

  • It is a routine that is written by an ABAP consultant according to the business requirement.
  • By defining Requirement in condition technique we can restrict the access of condition type.
  • To understand the concept, we will take the example of Rebates. Rebates are to be included during the billing document processing and not in the sales document processing. As rebates are given on the delivered quantity and not on the ordered quantity (in case of the cut-off period for rebates).
  • For rebates we use the condition types BO01 to BO05, and in the Requirement column we give the value 24 which is "Only in Billing Document".
  • This Requirement will ensure that these condition types will appear only during the billing document processing.
  • If new requirements are to be defined we follow the procedure given below.
    • Go to T.Code: VOFM. - Maintain Requirements & Formulas
    • Click on the "Requirements" in the top menu and then click on "pricing".
    • We have a list of requirements, we can ask the ABAP consultants to create new requirements based on the client requests.
    • And we assign the application type like V - Sales/Distribution etc.

14. Alt.Cty - Condition formula for alternative calculation type:

  • It is again a Routine that is written by ABAP Consultant.
  • It is an alternative formula for the condition type that can be used instead of standard formulas.
  • For example, let us take the Profit Margin which can be both + / -, so here this routine will help us in generating the value which can be either + or -. Profit margin is not a condition type so it cannot be classified as +ve or -ve in the V/06.
  • Ex.: 950 0 Profit Margin 11.
  • So we assign 11 - Profit Margin.
  • If new routines are to be defined we follow the procedure given below.
    • Go to T.Code: VOFM. - Maintain Requirements & Formulas
    • Click on the "Formulas" and then on the "Condition Values".
    • We have a list of routines, we can ask the ABAP consultants to create new routines based on the client requests.
    • And we assign the application type.

15. Alt.CBV - Alternative formula for condition base value:

  • The formula for determining the condition basis as an alternative to the standard.
  • It is again a Routine that is written by ABAP Consultant.
  • It is used as a basis to calculate the value of the condition type instead of using it from the "FROM" column.
  • Ex.: Freight - KF00.
  • Freight is calculated based on weight, volume etc. and not on the base price. In pricing, there is no entry of weight from which the value can be referred as we do for discounts using base price. We have to get the value from the Material master.
  • In this column, we can mention the value as 12 - Gross Weight or 13 - Net Weight.
  • During pricing, the system will consider the value that is mentioned in this column and determine the freight based on this value.
  • Suppose we have Net weight: 100 kgs and Gross Weight: 150 kgs. And if we mention 13 in this column then the Freight condition KF00 will be calculated using the weight as 100 kgs.

16. Act.Ky - Account Key/ Accrls - Accruals:

  • The values of the Sales Revenues, Sales Deductions, Freight Revenues, Tax Revenues, and Rebate Accruals etc. are going to be posted in the respective G/L accounts in Fi Module.
  • In order to do this, we assign account keys/ accruals to the different condition types based on their classification. The classification is shown below.
    • ERB Rebate sales deduct.
    • ERF Freight revenue
    • ERL Revenue
    • ERS Sales deductions
    • ERU Rebate accruals
  • For Ex.,
    • For all Price condition types like PR00 etc., we assign ERL - Revenue.
    • For all Discount condition types like K004, K005 etc. we assign ERS - Sales Deductions.
    • For all Freight condition types KF00 etc. we assign ERF - Freight Revenues.
    • For all Rebates condition types BO01 to BO05 we assign in Account key ERB - Rebates Sales deductions and for Accruals ERU - Rebate Accruals.
  • These account keys and accruals are in turn assigned to respective G/L accounts. So the system posts respective values in respective G/L accounts in Fi-Co Module.
  • This is also one of the areas of SD - Fi Integration. SD consultants assign the account keys and Fi Consultants assign the respective G/L accounts in T.Code: VKOA.


  1. Unknown User (n5xw6dt)

    Nicely explained..! thanx a lot

  2. Unknown User (icohmbs)

    Good one...thank you..

  3. Anonymous


    An excellent article with lots of added details. It really help new comers like us.

    Keep up good work.



  4. Former Member

    Pretty helpful. Thanks. 

  5. Former Member


    Very nice Descriptions. tkx

  6. Former Member

    Very useful document. Thanks (smile)

  7. Nice explanation.

    Though i have my doubts on the purpose of Counter.

    If possible, Pl explain with example like in this case what would be the difference if instead of using RA01 RA00 and RC00 within a single step and different counter, we would have used the normal way of having it by different steps and 0 counter.


    Aayush Jain

  8. thanks a lot .. but still I could not understand difference between Acct key and Accruals key. Can anybody explain?

    1. Former Member

      Account keys are used to map to G/L for all normal prices+ discounts+ freights etc.

      Accrual keys are used to accrue/accumulate values for Rebates which are paid/ settled retroactively.

  9. Thanks for the information...

    Do you know how to remove the invisible flag from the field AccKey & Accruals?  Both fields are flagged as invisible for pricing procedures for Shipment (Usage = A, Application F).  We don't know if this is a standard configuration or there is something else that needs to be set for Shipments.   For pricing procedures for Purchasing (Usage=A, Application M), we can remove/assign the invisible flag for the same fields. 

    Thanks in advance for your help.


  10. Many thanks. A very good explanation

  11. Nice explanation with examples.

    And very clear differentiation  between the fields " Requirement, Alt. Cal.Type & Alt.Base Type in Pricing Procedure.

  12. very good document..clear all concept

  13. Thank you for knowledge sharing..... it's important for beginners to understand this concept in the way you explained....