Sales and Distribution Pricing in SAP
Short Description
Sales and Distribution Pricing in SAP...
Description
Sales and Distribution Pricing By: Vandana Sharma SAP ECC/CRM Technical Consultant This document describes Pricing Concept in SD which follows condition technique approach. It describes pricing components and their configuration in SAP and how pricing data is stored in SAP table and new fields are added to Pricing Field Catalog.
Pricing The term pricing is used to describe the calculation of prices (for external use by customers or vendors) and costs (for internal purposes, such as cost accounting). To arrive pricing for a sales order line item there will be multiple components which are represented by condition types.
Pricing Elements • • • • •
Pricing Procedure Condition Type Access Sequence Access or Condition Table Condition Record
Pricing Procedure: It is group of condition types in a particular sequence.
Path: SPRO -> IMG -> Sales and Distribution - > Basic Functions -> Pricing - > Pricing Control -> Maintain pricing procedures
Definitions of Fields in Pricing Procedure a) STEP This indicates the number of the steps in the procedure. For example, the first condition type should be Step 10; the second condition type should be Step 20, and so on. It is possible to number the steps in intervals of 1, but this can make changing the procedure in the future very difficult. b) COUNTER This is used to show a second mini- step within an actual step. c) CONDITION TYPE This is the most important component in the pricing procedure. The rates are picked up from this element, on the basis of the properties described. d) DESCRIPTION This forms the description of the condition type. e) FROM This is used to define the progression of the calculation and range of subtotals f) TO This is used to define the progression of the calculation and range of subtotals. From and To are used in two circumstances: (I)
To define the range for a subtotal For example, if you want to add up all the condition types from step 10 to 50, you would enter 10 and 50 in the Fro and To columns respectively.
(II)
To define the basis for a calculation For example, if a discount is defined as a percentage, you need to indicate which step must be used as the basis for the calculation. If the calculation must be performed from Step 100, you would enter 100 in the Fro field.
g) MANUAL This function enables to allow the condition type to be entered manually also apart from automatic pickup. h) MANDATORY This function identifies the conditions that are mandatory in the pricing procedure. The sales price is a mandatory condition type.
i)
STATISTICS This can be used to represent the cost price of the material sold, generally used for study statistical impacts of price
j)
PRINT The activation of this function will enable the printing of the values and conditions to the document.
k) SUBTOTAL A key is assigned from the drop down menu; this can be used by the system in other area like Sis for reporting purpose also l) REQUIRMENT KEY This function is used to assign a requirement to the condition type. This requirement can be used to exclude the system from accessing the condition type and trying to determine the value. This can be used to specify that the condition type should only be accessed if the customer has a low risk credit. m) ALTERNATE CALCULATION TYPE This function allows you use a formula as an alternative in finding the value of the condition type, instead of standard condition technique. this can be used to calculate complex tax structures. n) ALTERNATE CONDITION BASE VALUE. The alternative condition base value is a formula assigned to a condition type in order to promote an alternative base value for the calculation of a value. o) ACCOUNTS KEY The account keys form part of account determination. These keys are used here to define the posting of the revenue generated to respective account heads& to subsequent assignment to GL accounts. p) ACCRUAL KEY. The accrual keys form part of account determination. These keys are used here to define the posting of the revenue generated to respective account heads& to subsequent assignment to GL accounts and payment to respective parties.
The Combination of following determines Pricing Procedure.
a) b) c) d)
Sales Organization Distributional Channel Division Document Pricing Procedure: Sales Document Type (VBAK-AUART) is assigned Doc Pricing Procedure.
e) Customer Pricing Procedure: Customer is assigned Customer Pricing Procedure in sales view.
Condition Type It is a representation of different pricing components involved e.g. You can define different condition types for each kind of price, discount or surcharge that occurs in your business transactions. Condition Type is linked to an access sequence. Path: SPRO-> IMG -> Sales and Distribution -> Basic Functions -> Pricing -> Pricing Control -> Define Condition Types -> Define Condition Types
Condition Type PR00 is part of Pricing Procedure PR0000
Access Sequence Access Sequence is a combination of Condition Table in a logical order to obtain a condition record. It is assigned to Condition Type.
Path: SPRO -> IMG -> Sales and Distribution -> Basic Functions -> Pricing -> Pricing Control -> Define Access Sequences -> Maintain Access Sequences
An access sequence is a search strategy that the system uses to find valid data for a particular condition type. It determines the sequence in which the system searches for data. The access sequence consists of one or more accesses or condition table. The sequence of the accesses establishes which condition records have priority over others. The accesses tell the system where to look first, second, and so on, until it finds a valid condition record.
Condition Table: A condition table defines the combination of fields (the key) that identifies an individual condition record. A condition record is how the system stores the specific condition data that you enter in the system as condition records. Condition Tables are assigned in Access Sequence in a particular sequence. Condition tables are named as AXXX where XXX is 3 digit table numbers.
Path: SPRO -> IMG -> Sales and Distribution -> Basic Functions -> Pricing -> Pricing Control -> Define Condition Tables -> Maintain Access Sequences -> Accesses -> Fields Sales and Distribution Pricing
Condition Record: It is record or data stored in Condition Table. Condition records allow to store and retrieve pricing data in the system. All the pricing elements of daily business - the prices, discounts, and surcharges for freight and taxes - that we want to use for automatic pricing must be stored in the system as condition records. We can define as many condition records as we want for the different pricing elements for any validity period. Condition Record is retrieved from condition table using following condition technique.
Access Sequence search condition record from most specific to the most general.
Information About Fields The fields that you choose to make up the key are called the selected fields. The fields from which you can make your selection are called the allowed fields.
Field Catalog (Allowed Fields) When you select fields for the key, you must choose the fields from the list of allowed fields.
Steps to add new fields to Pricing Field Catalog (Extending Field Catalog) For example if you want to use field PSTYV (‘Sales document item category’) that is included in structure KOMP (‘Pricing Communication Item’) as a key for a condition table. When you create a condition table (Transaction V/03), however, the system does not propose the field in the field catalog.
Prerequisites: For technical reasons, field PSTYV was included in structure KOMP, however, not in structure KOMG (‘Allowed Fields for Condition Structures’). To solve the problem, proceed as follows: 1. Call up the ABAP Dictionary (Transaction SE11) and create data type ZZPSTYV. Choose PSTYV as a domain. As a short text, you can use, for example, ‘ZZ – sales document item category’ and as a field label, you can use the field labels of PSTYV. Save, check and activate your entries. 2. Call up structure KOMPAZ in the ABAP Dictionary (Transaction SE11) in the change mode and make the following entry: Component Component type ZZPSTYV ZZPSTYV Save, check and activate the change you made. 3. Note: Because of the change in structure KOMPAZ, field ZZPSTYV is now known in structures KOMG and KOMP because structure KOMPAZ is included in both structures. 4. Call up Transaction SPRO. Navigate to ‘Sales and Distribution -> Basic Functions -> Pricing > Pricing Control’ and execute ‘Define Condition Tables’. Choose ‘Conditions: Allowed fields’ and include ZZPSTYV as a new entry. 5. Note: Now you can use field ZZPSTYV as a key field when you create a condition table Axxx. 6. Supply the new field you defined by including the following source code line in USEREXIT_PRICING_PREPARE_TKOMP: MOVE xxxx-PSTYV TO TKOMP-ZZPSTYV.
In order processing you find the user exit in Include MV45AFZZ, and in billing document processing you find it in Include RV60AFZZ. Consider that you can also use this note as a help if you want to use other customer-specific fields as key fields in a condition table. For header fields, use structure KOMKAZ instead of structure KOMPAZ and USEREXIT_PRICING_PREPARE_TKOMK instead of USEREXIT_PRICING_PREPARE_TKOMP.
An example to how SAP calculates Pricing for one of Sales Line item and which table stores pricing data. Sales Area: 0001/01/01 Document Type: OR gives Doc Pricing Procedures as A Customer: 1000 gives Customer Pricing Procedure as 1 Combination of above 5 values determines Pricing Procedure as RVAA01
There are 4 condition types for line item 10(Material 1962). To arrive how pricing for condition type PR00 is calculated 1) Get Access Sequence for Condition Type PR00
2) For Access Sequence PR02 Get Condition Tables as below.
.
3) Execute Transaction VK13 (Display Condition Records) for each of the above table in sequence until record is found.
Condition Record from Condition Table 305 is shown as below. Since Condition record is found in first condition table itself, there is no need to go into further condition tables.
Alternatively Same data found as above can be retrieved from tables also. Once Condition table is known get KNUMH (Condition record number) from Condition Table AXXX. Pass KNUMH to KONP to get KBETR (Rate), KONWA (Rate Unit), KPEIN (Condition pricing unit) and KMEIN (Condition unit)
Pricing Tables: KONH Conditions (Header) KONP Conditions (Item) KONV Conditions (Transaction Data) T683V Pricing Procedures: Determination in Sales Docs. T683S Pricing Procedure: Data (Get list of Condition Type assigned to Pricing Procedure) T685 Conditions: Types (Get Access Seq. for Cond. Type) T682I Conditions: Access Sequences (Get Cond. Table for Access Seq.)
View more...
Comments