Six Steps to configure S4 HANA Pricing
- Step 1-Create Condition Table
SAP Standard Condition tables will be used in this guide
- Step 2-Create Access Sequence
SAP Standard Access Sequence will be used in this guide
- Step 3-Define condition type
All necessary Condition types like “Price” will be configured & reviewed field by field in this guide.
- Step 4-Define Pricing Procedure
Pricing procedure PPIN01 (PPIN Pricing Procedure) will be configured in this guide.
- Step 5-Define Pricing Procedure Determination
Below are the steps to configure the determination of our pricing procedure.
5.1)-Customer Pricing Procedures- To specify the customer pricing procedure in the customer master record for each sales area.
5.2)-Document Pricing Procedure- To specify the document pricing procedure for each sales document type and billing type.
5.3)-Assign Document Pricing Procedure to Order Types.
5.4)-Assign Document Pricing Procedure to Billing Types.
- Step 6-Maintain condition records
In the last we will maintain condition records for our pricing procedure to start working in sales documents.
1. Define Condition Type
Condition types represents components of total price such as price, discounts, surcharges & taxes etc..
We will configure a very simple pricing procedure to understand the things better. We will include below condition Types in our customized pricing procedure --> PR00 (Gross Price) --> SAP Standard --> Y007 (Customer Discount) --> Copy from Std K007 --> Y005 (Disc.Customer/Material) --> Copy from Std K005 --> YB00 (Discount (Value)) --Copy from Std RB00 --> YF00 (Freight) --Copy from Std KF00 --> YD00 (Freight) --Copy from Std HD00 --> UTXJ (Tax Jurisdict.Code) --> SAP Standard --> JR1 (Tax Jur Code Level 1) --> JR2 (Tax Jur Code Level 2) --> JR3 (Tax Jur Code Level 3) --> VPRS (Internal price) --> SAP Standard
We will review each field used in the condition types configuration through configuration of gross price condition type PPR0
1.1 Price Condition Type
For our pricing procedure base price, we will use SAP standard PPR0 condition type.
Important fields in Condition Type configuration and their explanation
1.1.1 Fields in the Main Header screen of Condition Type
In this area two fields are present
a) Condition Type
Here we give the 4 characters code & description of our condition type. For example -here SAP have used code as “PPR0” & description as “Price” for the default gross price condition type.
b) Access sequence
Every condition type is associated with one access sequence that access sequence should be assign here. for our condition type PPR0, access sequence is used as “PPR0”
1.1.2 Fields in the “Control Data 1” Sub-screen of Condition Type
Below fields are present in this sub-screen
a) Condition Class
It is a classification of condition types as prices, taxes, discounts, etc.
b) Calculation Type
This field decides how calculation should be done for this condition like-quantity or percentage or fixed amount.
c) Condition Category
A classification of conditions according to predefined categories. For example-Freight.
d) Rounding Rule
Round up or round down can be assigned.
e) Structure Condition
The condition type is used in BOM or configurable material.
This field determines the value of the condition type should be added or deducted.
1.1.3 Fields in the “Group Condition” Sub-screen of Condition Type
a) Group Condition
It indicates whether the system calculates the basis for the scale value for more than one item in a document.
1.1.4 Fields in the “Changes which can be made” Sub-screen of Condition Type
a) Manual Entries
The value of this field determines whether the condition type is determined manually or not at sales order level
b) Header Condition
The value of the header condition applies to whole items in the sales order. Header conditions do not have any access sequence. The values should be entered manually in the sales order level.
c) Check Item Condition
The value of the item condition applies to only at item level. Item conditions must have access sequence.
This indicator enables to delete the condition type at sales order level.
It specifies whether the amount or percentage for the condition type can be changed during document processing. These changes will not affect the condition master data.
Scope for changing the value. It specifies whether the value of the condition type can be changed during document processing.
g) Quantity Relation
It specifies the scope of changing conversion factors during document processing.
h) Calculation Type
If you want to change calculation type this indicator should be set. For Example-Normal calculation type is fixed amount and sales order level calculation type is percentage.
1.1.5 Fields in the “Master Data” Sub-screen of Condition Type
a) Valid From
It specifies the beginning validity date that the system automatically proposes when we create a rebate agreement of this type. It is most relevant for condition type B001, B002, and B003.
b) Valid To
The proposed value for how long a condition should remain valid.
c) Reference Condition Type
In our pricing procedure if we have SAME condition types, then we can maintain condition records for one condition type and we can specify another condition type as a reference condition type for this condition type. So that, no need to create condition records for reference condition types.
d) Reference Application
If we reference one condition type for another condition type, we should specify in which application area this referencing procedure takes place.
e) Pricing Procedure Condition Supplement
When the business wants to give certain discounts for all the customers and materials till certain period.
f) Deletion from Database
We can set system responses when the condition record is going to be deleted from the database like with popup or without popup messages.
g) Check Condition index
We can create condition index for this condition type. So that by using the condition index we can maintain the condition records of this condition type.
I) Condition update
This field is for qualifies condition index. This indicator updates the condition type. For example “By value”.
1.1.6 Fields in the “Scales” Sub-screen of Condition Type
a) Scale Basis
Depending upon the range of quantity prices may be increased or decreased, higher discounts, low freight charges can be offered.
b) Check Value
We can specify the checking rule for scale rates as a ascending or descending.
c) Scale Type
The indicator controls the validity of the scale value or percentage from a certain quantity or a value. Alternatively it is possible to work with interval scales that must be stored in the condition type.
d) Scale Formula
We can specify the formula for determining the scale base value which may has not been provided in the standard system.
e) Unit of Measure
System uses unit of measure to determine scales when we use group conditions.
1.1.7 Fields in the “Control Data 2” Sub-screen of Condition Type
a) Currency Conversion
It controls the currency conversion where the currency in the condition record varies with document currency.
It indicates that the system posts the amount resulting from this condition to the financial accounting as a accruals. If you mark this field the condition appears in the document as a statistical value.
c) Invoice list Condition
Indicates If the condition type is relevant for internal costing.
d) Inter-Company Billing Condition
Indicates If the condition type is inter-company billing purpose, Ex-PI01.
e) Service Charge Settlement
It indicates that the trading contract conditions should be calculated using vendor billing document.
f) Variant Condition
Indicates If the condition type is for variant pricing [Variant configuration], Ex-VA00.
g) Quantity Conversion
This field controls the quantity conversion during determination of the condition bases. This field only relevant for quantity dependent condition types. If you deactivated it, then the condition bases quantity is converted via the quantity to the stock-keeping unit.
We can offer best condition type among the same conditions to the customer by using “condition exclusion” feature.
i) Pricing Date
We can specify the pricing date at which this condition to be affected.
j) Relevant for Account Assignment
Indicates whether this condition type is relevant for account assignment or not. It is the main control to post the values of condition type into the respective G/L accounts.
k) Service Charge Settlement (Trading Contract)
Indicates that the trading contract conditions should be calculated using the supplier billing document.
l) Process conditions with value equal to zero
Using this indicator, you can control how conditions with value equal to zero are processed.
If left blank -Conditions are not considered in the condition exclusion logic when their value is equal to zero.
If set to “A”-Conditions of this type will be considered in the exclusion logic even if their value is equal to zero.
1.2 Discount Condition Types
We are creating three condition types for discounts as given below
- Y007 (Customer Discount) –> Copy from Std K007
- Y005 (Disc.Customer/Material) –> Copy from Std K005 –>
- YB00 (Discount (Value)) –Copy from Std RB00
1.3 Freight Condition Types
We are creating two condition types for discounts as given below
- YF00 (Freight) –Copy from Std KF00
- YD00 (Freight) –Copy from Std HD00
2. Define Pricing Procedure
Pricing procedure is a list of condition types in a specific order, such as gross price less discount & plus tax to arrive on net price.
The pricing procedure fulfills the need of business like correct pricing, discounting, adherence to tax laws etc.
We will configure a customized Pricing Procedure “PPIN01- PPN Pricing Procedure” for our car business.
As described in the condition type topic we will use below customized condition types to build our customized pricing procedure.
--> PR00 (Gross Price) --> Y007 (Customer Discount) --> Y005 (Disc.Customer/Material) --> YB00 (Discount (Value)) --> YF00 (Freight) --> YD00 (Freight) --> UTXJ (Output Tax) --> JR1 (Tax Jur Code Level 1) --> JR2 (Tax Jur Code Level 2) --> JR3 (Tax Jur Code Level 3) --> VPRS (Internal price)
We have configured the pricing procedure in the system
Important fields in Pricing procedure configuration and their explanation
Indicates the step number of condition type in pricing procedure like 10, 20, 30, and etc. If we give steps intervals of 1, but this can make changing the procedure in the future very difficult.
System uses the counter while accessing the condition types in our pricing procedure. This is used to show a second mini – step within an actual step.
2.3 Condition type
We specify condition types (pricing elements) that are participating to calculate net value in our pricing procedure.
System copies the description of the condition type from definition of condition type.
2.5 “From Step” and “To Step”
As a base to calculate further value of condition type. We can specify the base for condition type. So that system takes the base (step).
It determines if condition type is determined in our pricing procedure manually.
indicates that the particular condition type is mandatory in pricing procedure.
It indicates the purpose of condition type is only for information purpose. The value of condition type will not be taken into consideration in the net value calculation.
It indicates the value of the condition type can be printed in a document.
2.10 Sub – total
The value of this field determines where the value of the sub – totals is going to be stored in the database.
Requirement is used for condition type that excludes particular condition type while determining the net value. Example -PR00 pricing condition type is not necessary for items not relevant for pricing. We assign requirement 002 to the requirement column fulfil this.
2.12 Alternative formula for calculation type
Indicates alternative formula instead of standard one as a condition type in the form of routines. Example : Routine 11 profit margins can be used as a alternative formula for condition type to calculate profit margin as there is no standard condition type to calculate profit margin.
2.13 Alternative formula for condition base value
Here we can use a formula in the form of routine to use base. Example-routine 12 or 13 (gross weight or net weight) can be used with condition type KF00 to calculate fright.
2.14 Accounting keys and accruals
The values of the pricing elements (condition types) can be posted in the respective G/L accounts through this accounting keys.
3. Determination of Pricing Procedure
SAP S4 HANA determine pricing procedure as per below
We will configure all the necessary components to determine the pricing procedure in the steps below
3.1 Customer Pricing Procedures
You specify the customer pricing procedure in the customer master record for each sales area
SPRO –> Sales and Distribution –> Basic Functions –> Pricing Control –>Define And Assign Pricing Procedures –> Set Customer Pricing Procedures
3.2 Document Pricing Procedure
SPRO –> Sales and Distribution –> Basic Functions –> Pricing Control –>Define And Assign Pricing Procedures –> Set Document Pricing Procedures
You specify the document pricing procedure for each sales document type and billing type.
3.3 Assign Document Pricing Procedure to Sales Order type
SPRO –> Sales and Distribution –> Basic Functions –> Pricing Control –>Define And Assign Pricing Procedures –> Assign Document Pricing Procedures to Order Types
3.4 Assign Document Pricing Procedure to Billing type
SPRO –> Sales and Distribution –> Basic Functions –> Pricing Control –>Define And Assign Pricing Procedures –> Assign Document Pricing Procedures to Billing Types
3.5 Assign Document Pricing Procedure
FAQ on Sales Pricing Procedure
Yes. This is possible and a normal scenario in various implementation. Please see details below
1)-Configure different document pricing procedure for sales order & billing as shown in above screenshots
2)-During Copy Control between your Del type to Billing type (VTFL), the pricing type should be B (carry out new pricing) if delivery related billing.
3)-During Copy Control between your Ord type to billing type (VTFA), the pricing type should be B (carry out new pricing) if order related billing.