SAP SD Pricing Procedure – Overview
SAP SD Pricing Procedure is determined (T.Code: OVKK) based on Sales Area (Sales Organization + Distribution Centre + Division) + Customer Pricing Procedure + Document Pricing Procedure. Sales Area is determined in Sales Order Header Level. Customer Pricing Procedure is determined from Customer Master.
Document Pricing Procedure is determined from Sales Document Type / Billing Type (if configured). Once the pricing procedure is determined, Condition records are fetched. If appropriate condition records are found, the price is determined. If Mandatory pricing condition is missing, system will through an error message.
Definitions of Fields in Pricing Procedure,
SAP SD Pricing Procedure Step by Step Guide
Step : This indicates the number of step-in the procedure.
Counter: This is used to show a second ministep
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.
Description: This forms the description of the condition type.
Form: This is used to define the progression of the calculation and range of subtotals
To: This is used to define the progression of the calculation and range of subtotals
Manual: This function enables to allow the condition type to be entered manually also apart from automatic pickup.
Mandatory: This function identifies the conditions that are mandatory in the pricing procedure. The sales price is a mandatory condition type.
Statistics: This can be used to represent the cost price of the material sold, generally used for study statistical impacts of price.
Print: The activation of this function will enable the printing of the values and conditions to the document.
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.
Requirement 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.
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.
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.
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.
PR00- ERL
K007/KA00- ERS.
KF00- ERF………….& so On.
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.
How To Add New Fields To Field Catalog
For adding field into Field catalog:
I shall give an example. But you should first identify the field for ProfitCenter (Design ID) and then do as follows:
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.
For more information, see Transaction SPRO via the path ‘Sales and Distribution -> System Modifications -> Create New Fields (Using Condition
Technique) -> New Fields for Pricing’ and Note 21040.
For creating a condition Table:
1) There are almost all the regularly used Conditon Table predefined in the system from 001 to 500. See what best you can use the Standard Tables to avoid further errors.
2) In case you should define the new condtion Table,
a) Goto TCode: V/03
b) Give a Table any number from 501-999
Press executes and reach to next screen.
c) Check up whether the field you are looking is already added in Field catalogue.
d) Double click on the fields you want to make a Table. one by one. Note that the sequence here is important in higher hierarchical to lower..
Example: Sales Org, DC, Division, Customer and then Material etc..,
e) After selecting, click on the Technical View buttin (redone) and reach to next screen.
7) Check which key should be in header and which key should be footer. Use check and uncheck functionalities there.
8) Once you are through with all the above steps..click on generate button.
Check the Table is generated or not.
You can check it at V/04 or V/05 or in SE11.
Can Sales Order and Billing Have Different Pricing
Yes, can have 2 different pricing procedures
1. One for Sales Order
2. Another at the Billing
Let us take an example:
Generally in the Parma industry this procedure is adopted becuase all the goods are batch price based.
1. In the Pharma Industry whenever the goods are manufactured it will done in a batch to keep track and price is fixed, I mean there will be a Batch Master which has a certain price fixed for it. This Batch Master will have certain number of batches . These batches will have the number series generated wither by internal or external generation depending upon the client requirement.
2. So till all the batches are produced as per that particular Batch Master will have the same price. Like that there will n number of batches will different different prices.
3. So when you are preapring Sales Order you be only putting the tenative price for the goods that are sold.
4. Then at the time of delivery we will be picking up the goods from different batches basing on the required delivery quantity and finally we do the PGI.
5. This is called Delivery Based Pricing becuase your price for the goods will be determined at the time of the delivery as the goods picked up from the different batches which have different prices. ( Mind it there will very less difference in the prices).
6. So at the time of Billing the Pricing Procedure behaves differently depending upon the differnent batches that are picked basing on the batch determination.
7. So the prices which are detemined from different batches will be the actual prices at which the goods are billed to the customer along with other condition that are applied as required.
Reasons For Making Any Pricing Procedure in SAP.
1. Why we are maintaining separate pricing procedure for inter company sales and business process.
2. What is the different between standard and inter company pricing procedure and what type condition type we are using in this intercompany.
There are two simple reasons for making any Pricing Procedure in SAP SD Modules.
1) Business Reason. What are the pricing aspects or strategies you want to apply for the client requirement in order to sell their goods or render services, is all about the reason for various pricing procedures.
Eg: Domestic sales pricing procedure,
– Export Pricing Procedure,
– A rebate pricing procedure or
– A High Discount oriented pricing Procedures.
– A repair pricing procedures.
You have your own conditions intended to few transactions only. Put all this conditions as a set defining your own Procedures. It may even include special requirements and formulas applied for such Pricing Procedures.
2) A special pricing procedures, in order to facilitate added functionality of SAP pricing architecture, we must define new pricing procedure. SAP Standard programmer checks these special Indicators in-order to do some required functions.
As a example 1, you need to have a Pricing procedure for condition supplement in order to use the condition supplements. The condition supplement pricing procedure must be given in the condition type definitions (v/06) of the Pricing Condition where you need to supplement, without which SAP SD Condition Supplements functionality doesn’t work.
As a example 2, you need to have a Pricing procedure for Inter Company Billing Conditions (IV01 & IV02) in order to be active for Inter Company Billing specific transactions. Thus make sure that, the procedure wouldn’t apply for non-Inter company transactions.
Eg: KA0000 for Condition Supplement for KA00
– PR0000 for Condition Supplement for PR00
– ICAA01 for Inter-Company Billing
Here I would like to remind about a important field in pricing.
In V/08 of defining a new Pricing Procedure, in main screen, you have a field called TSPP (Transaction Specific Pricing Procedure). This has to be ticked on for Inter company Billings.
The SAP help reads for this field as Under:
Transaction-specific pricing procedure
Pricing procedure transaction-specific indicator
Before Release 4.0A, no special pricing procedures were used for inter company billing and rebate credit memos, programs were just set accordingly to deal with these situations. As of Release 4.0A you are offered greater flexibility in the form of the option to define special pricing procedures for inter company billing and rebate credit memos. For reasons of future compatibility, you will still be able to use the old program specifications. For this reason, you must set this indicator if you want to create a special pricing procedure. This is to prevent the program settings being used.
This indicator is also used as of Release 4.0A to predetermine the condition class and the statistical condition indicator when copying from a reference document.
Example:
You copy prices from a shipment document to the billing document. The prices should lead to a surcharge in the billing document. This is guaranteed by the re determination of the condition class in the pricing procedure.
Same case with Standard Pricing procedure or Inter Company Pricing Procedure.
This configuration is done when user request for new pricing condition type other than the standard ones provided by the system.
Screen to tcode VA01 – Create New Sales Order for customers
– Double Click the Item
– Then Click the Conditions Tabstrips
Define Condition types
V/05 – Condition Table for V/07
e.g. a business may no longer wants to have a sales discount based on the sales organization, customer group, and material, but decided that the discount should be based on the sales organization, customer group and material group.
V/06 – Create new condition types by copying a similar conditions type and changing it according to your needs.
- Double click on the condition type to change the control options
V/07 – Access Sequences for condition type
V/08 – Pricing Procedures for condition types.
The pricing procedure is also used in the account determination. This determines the general ledger accounts to which prices, discounts and taxes must be posted.
- Click on the Pricing Procedures e.g. PR0000 – Condition Supplements for PR00
- Click Control – e.g. Tick Mdt if you want the condition type to be mandatory
- OV34 – Define account key
- OV35 – Assign account key
- Actky – Revenue account
- Accrls – Accruals account
OVKK – Determine which Pricing Procedures to use for which Condition Type.
Price with additional decimals
You can add additional decimals for a currency through a work around method.
Set up a currency let’s say instead of USD call it US$ ( OY03 ) and define the number of decimal places ( OY04 ) to be 3 or more depending on your requirement.
Maintain the exchange rate for between US$ and USD to be 1 to 1 ( OBBS and OB08 ).
Create pricing condition records for those customers requiring 3 decimal places using Current US$ instead of USD.
That will give you 3 decimal places for your prices. However, one thing you will have to watch out for is rounding.
You can try transaction OB90, define rounding rule for currency. Here you define the rounding rule for your customer’s currency.
Control Pricing Conditions based on Order Type
4.6x
e.g. You create an order type ZP00 for QT – Quotation and does not wish it to be used in OR – Standard Order.
Follows this steps :-
IMG – Sales and Distribution -> Basic Functions -> Pricing Control -> Define and Assign Pricing Procedures
Define document pricing procedure
e.g. Q – Quotation
Assign document pricing procedures to order types
e.g. Assign Q to Order Type QT – Quotation
Maintain pricing procedures
e.g. Copy Standard Pricing Procedure to e.g. ZQT (all the pricing conditions list will only be allowed in order type QT – Quotation
Define Pricing Procedure Determination
e.g. Copy and assign Document Pricing Q and Pricing Procedure ZQT accordingly
Users will receive Message no. V1 206 “Condition ZP00 is missing in pricing procedure A V ZQT“.
Create a New Pricing Conditions Key Combination
4.6x
In VK12, click the Key Combination button. You can see a list of available key combination for your price master.
Now, let create a new key combination e.g. Customer + Sales Document + Material
IMG – Sales and Distribution -> Basic Functions -> Pricing Control -> Define Condition Tables -> Create condition tables
e.g. 900
Selected fields
Sales organization
Distribution channel
Customer
Sales document
Material
Click Generate to activate it
IMG – Sales and Distribution -> Basic Functions -> Pricing Control -> Define Condition Tables -> Define Access Sequences -> Maintain Access Sequences
Select PR00 – Price
Click Accesses
Click New entries
AcNo Tab Exclusive
50 90 X – Tick
Save your entries
IMG – Sales and Distribution -> Basic Functions -> Pricing Control -> Define Condition Tables -> Defince Access Sequences -> Optimize accesses
Copy an existing PR00 and substitute the AcNo with 50
Finally, goto VK12 and key in the new price master for PR00.
Next, goto VA02 and test out the material. If it didn’t work check the pricing date in the header details. Is the pricing date within the validity period?
Also See: SAP SD Configuration Steps