5.3 Pricing Procedure Determination and Calculation Schema Configuration
Key Takeaways
The pricing procedure (table T683S) orchestrates the chronological evaluation, base step calculations, and financial postings of all active condition types.
The 16 configuration columns in transaction V/08 govern essential behaviors including base steps (From/To), requirements (ABAP routines), subtotal transfers (KZWI), and G/L account keys.
Pricing procedure determination uses five keys: Sales Org + Dist Channel + Division + Document Pricing Procedure + Customer Pricing Procedure, which return the pricing procedure and the condition type shown as price in fast entry.
Statistical conditions such as VPRS (Internal Cost) and SKTO (Cash Discount) supply critical profitability data to CO-PA without affecting the customer net invoice amount.
Subtotal keys 1-6 store values in KOMP-KZWI1 to KZWI6 for reporting, while special keys pass the credit price (A) and the cost (B) to other functions.
Pricing Procedure Determination and Calculation Schema Configuration
While condition types define how individual pricing elements calculate, the Pricing Procedure (or Calculation Schema) orchestrates how all pricing elements interact. It determines the sequence in which conditions are calculated, which subtotals serve as the base for subsequent discounts or taxes, which conditions are mandatory or statistical, and which General Ledger (G/L) accounts receive financial postings upon billing.
Pricing procedures are configured in transaction V/08 and stored in database table T683S.
The 16 Columns of the Pricing Procedure (V/08)
Every line in a pricing procedure contains 16 configuration parameters that precisely control execution flow:
+-----+-----+-------+-------------+------+----+-----+------+------+----+------+------+--------+--------+-------+-------+
|Step |Cnt |CTyp |Description |From |To |Man |Mand |Stat |Prnt|Subtot|Reqt |AltCTy |AltCBV |ActKey |AccrKey|
+-----+-----+-------+-------------+------+----+-----+------+------+----+------+------+--------+--------+-------+-------+
| 10 | 0 |PR00 |Base Price | | | | [X] | | | | 2 | | | ERL | |
| 100 | 0 | |Gross Value | 10 | | | | [X] | | 1 | | | | | |
| 105 | 1 |K004 |Mat Discount | 100 | | | | | | | 2 | | | ERS | |
| 105 | 2 |K007 |Cust Discount| 100 | | | | | | | 2 | | | ERS | |
| 200 | 0 | |Net Value | 100 |105 | | | | | 2 | | | | | |
| 300 | 0 |MWST |Output Tax | 200 | | | [X] | | | | | | | MWS | |
| 900 | 0 |VPRS |Cost | | | | | [X] | | B | 4 | | | | |
+-----+-----+-------+-------------+------+----+-----+------+------+----+------+------+--------+--------+-------+-------+
Detailed Breakdown of the 16 Columns
- Step (
STUNR): Sequence number (e.g.,10,100,200). Dictates the chronological order in which the pricing engine executes lines. - Counter (
ZAEHK): Sub-step sequence within a single Step. Allows multiple condition types to share the same base calculation level (e.g., Step105, Counter1forK004and Counter2forK007). The official course adds a practical reason: manual conditions that should keep the sequence in which users enter them must be on the same step with different counters. - Condition Type (
KSCHL): Identifies the condition type fromV/06(e.g.,PR00,K004,MWST). Left blank for subtotal and calculation lines. - Description (
VTEXT): Text displayed on the order pricing condition tab. - From Step (
STUNB): Points to a previous Step number. For percentage condition types, this defines the base value. For subtotal lines, this defines the starting range. - To Step (
STUN2): Defines the upper bound of a step range for subtotals (e.g., From100To105sums all values between those steps). - Manual (
KMANU): If checked, the condition type must be entered manually by the user; the pricing engine will not execute an automatic access sequence search. - Mandatory (
KOBLI): If checked, the condition type is legally or commercially required. If no valid condition record is found and no manual value is entered, the item gets a pricing error and is incomplete for pricing; the error must be corrected before the item can be billed. - Statistical (
KSTAT): If checked, the condition line does not alter the net sales document value or invoice amount. It is purely informational or used for internal margin analysis (e.g.,VPRScost,SKTOcash discount). - Print ID (
DRUK): Controls whether and where the condition value prints on customer-facing sales documents (quotations, order confirmations, invoices). - Subtotal: Assigns the condition value or step total to a field in the pricing communication structure
KOMP(and the sales document item):1to6: Copy the value toKOMP-KZWI1toKZWI6; standard procedures use them, for example, for gross value and net value.7: Rebate basis (KOMP-BONBA).A: Carry over the price as credit price (KOMP-CMPRE), the value used by credit management.B: Carry over the value as cost (KOMP-WAVWR), used for the profit margin.
- Requirement: A 2- or 3-digit ABAP routine configured in
VOFM. Before executing the step, the system evaluates the routine:- Routine
2(Item with pricing): Ensures pricing only executes for tangible, priced line items (bypasses text items or free-of-charge samples). - Routine
4(Cost): Checks whether material cost determination is relevant.
- Routine
- Alternative Calculation Type (AltCTy): A formula routine (maintained with
VOFM) that replaces the condition type's normal calculation, for example formula11, which calculates the profit margin as net value minus cost. - Alternative Condition Base Value (AltCBV): A formula routine that supplies a different base value than the From/To steps, for example routine
12(gross weight),13(net weight), or01(volume) to distribute a header condition by weight or volume. - Account Key (
KVSL1): Three-character FI/CO posting key that links the calculated condition value to General Ledger accounts in Revenue Account Determination (transactionVKOA):ERL: Sales Revenues (credits revenue G/L accounts).ERS: Sales Deductions (debits discount/rebate expense G/L accounts).MWS: Output Tax (credits sales tax liability G/L accounts).
- Accruals Account Key (
KVSL2): Secondary key used to post accruals, for exampleERUfor rebate accruals.
Pricing Procedure Determination: The Five-Key Rule
When a sales order line item is created, how does the system know which pricing procedure to evaluate?
Pricing Procedure Determination is configured in transaction OVKK and uses five keys:
+-------------------------------------------------------------------------+
| Input Parameters (5 Attributes) |
+-------------------------------------------------------------------------+
| 1. Sales Organization : 1010 (US Commercial Sales) |
| 2. Distribution Channel : 10 (Wholesale) |
| 3. Division : 01 (Hardware) |
| 4. Document Pricing Procedure : A (Standard Order OR - from VOV8) |
| 5. Customer Pricing Procedure : 1 (Standard Customer - from BP) |
+-------------------------------------------------------------------------+
│
▼
+-------------------------------------------------------------------------+
| Output Determination Results (2 Outputs) |
+-------------------------------------------------------------------------+
| • Pricing Procedure : RVAA01 (Standard pricing procedure) |
| • Condition Type for Net Price : PR00 (Base Price) |
+-------------------------------------------------------------------------+
Where the Input Parameters Originate:
- Sales Area (Sales Org + Dist Channel + Division): Entered on the sales document initial screen or derived from organizational defaults.
- Document Pricing Procedure: Assigned to the Sales Document Type in transaction
VOV8(e.g.,Afor the standard order); billing types also carry a document pricing procedure. - Customer Pricing Procedure: Maintained on the Customer Master / Business Partner under Sales Area Data Orders/Billing Tab (table
KNVV-KALKS).
The Two Outputs:
- Pricing Procedure: The specific calculation schema (e.g.,
RVAA01) executed for the document. - Condition Type for Price: Usually
PR00. It specifies which condition type is shown and can be entered as the price in the item overview (fast entry).
Statistical Conditions and Profitability Analysis (CO-PA)
A frequent point of confusion is the purpose of Statistical Conditions (KSTAT = [X]). Why include a condition in a customer pricing procedure if it does not affect the invoice total?
1. Internal Material Cost (VPRS)
- Operational Role:
VPRScalculates the inventory cost of goods sold for the order line item. - Determination: It reads the valuation price from the material master (
MBEW), taking Standard Price (S) or Moving Average Price (V). - Subtotal
B: Assigning SubtotalBcopies the cost intoKOMP-WAVWR. - Profitability Integration: The system computes line item margin in real-time: . This contribution margin is passed directly into Margin Analysis / Account-Based Profitability Analysis in Universal Journal table
ACDOCAupon billing, all while keeping internal cost strictly invisible to the customer invoice.
2. Anticipated Cash Discount (SKTO)
- Operational Role: Customer payment terms (e.g., 2% 10 days, Net 30) represent a potential discount if the customer pays early.
- Determination: Condition category
Emakes the system read the first cash discount percentage of the payment terms (tableT052). The system calculates what the 2% discount will amount to. - Statistical Nature: The sales invoice is issued for the full net amount; the cash discount is not subtracted at order creation.
SKTOshows the expected cash discount as information, for example to estimate the expected net revenue; the actual cash discount is taken in Financial Accounting when the customer pays within the discount period.
Step-by-Step Calculation Trace: Concrete Order Scenario
Consider a sales order for 100 units of Material M-01 with the following parameters:
- Base Price (
PR00): $50.00 / EA - Customer Discount (
K007): 10% (percentage discount on Gross Value) - Freight (
KF00): $50.00 for the item (the weight-based freight record works out to $50.00) - Output Tax (
MWST): 8% (applied to Net Value) - Material Cost (
VPRS): $32.00 / EA (statistical) - Anticipated Cash Discount (
SKTO): 2% (statistical)
Step-by-Step Calculation Execution:
| Step | Cnt | CTyp | Description | Base Value | Rate | Condition Value | Cumulative Net | Subtotal / Acct Key |
|---|---|---|---|---|---|---|---|---|
10 | 0 | PR00 | Base Price | 100 EA | $50.00 / EA | +$5,000.00 | $5,000.00 | Account Key: ERL |
100 | 0 | — | Gross Value | Step 10 | — | $5,000.00 | $5,000.00 | Subtotal 1 (KZWI1) |
105 | 1 | K007 | Customer Disc | $5,000.00 | 10.000% | -$500.00 | $4,500.00 | Account Key: ERS |
120 | 0 | KF00 | Freight | Gross weight | $50.00 total | +$50.00 | $4,550.00 | Account Key: ERF |
200 | 0 | — | Net Value | Steps 100–120 | — | $4,550.00 | $4,550.00 | Subtotal 2 (KZWI2) |
300 | 0 | MWST | Output Tax | $4,550.00 | 8.000% | +$364.00 | $4,550.00 | Account Key: MWS |
400 | 0 | — | Total Gross Invoice | Steps 200 + 300 | — | $4,914.00 | — | Final Customer Total |
900 | 0 | VPRS | Internal Cost (Stat) | 100 EA | $32.00 / EA | $3,200.00 | — | Subtotal B (WAVWR) |
910 | 0 | SKTO | Cash Discount (Stat) | $4,550.00 | 2.000% | $91.00 | — | Subtotal 3 (KZWI3) |
Financial and Margin Postings Upon Invoicing:
- Customer Accounts Receivable (FI-AR): $4,914.00 (Debit)
- Sales Revenue (
ERL): $5,000.00 (Credit) - Sales Deductions (
ERS): $500.00 (Debit) - Freight Revenue (
ERF): $50.00 (Credit) - Sales Tax Payable (
MWS): $364.00 (Credit) - Contribution Margin in CO-PA: (Gross Profit margin of 29.67%).
Which combination of attributes is used to determine the pricing procedure in an SAP S/4HANA sales order?
Sales Area, Sales Office, Sales Group, Incoterms, and Billing Type.
Sales area, document pricing procedure, and customer pricing procedure
Company Code, Plant, Storage Location, Sales Document Type, and Customer Account Group.
Sales Organization, Distribution Channel, Division, Shipping Point, and Payment Terms.
What is the primary operational effect of selecting the 'Statistical' checkbox for a condition line in transaction V/08?
The condition rate is hidden from users without administrator rights.
The condition is permanently excluded from Financial Accounting (FI) and cannot post to general ledger or CO-PA accounts under any circumstances.
The condition record is automatically transferred to the SAP Statistical Forecasting Engine for demand planning.
It is calculated and shown for information, such as margins, but does not change the net value.
In the pricing procedure configuration (transaction V/08), what occurs when Subtotal 'B' is assigned to condition type VPRS?
The condition value is transferred to the Credit Management module to calculate open credit exposure.
The condition value is passed to KOMP-KZWI2 to establish the net price base for subsequent tax calculation.
The value is passed to KOMP-WAVWR as cost for the profit margin.
The line becomes a rebate basis stored in table VBOX.
Sections you finish are checked off in the contents.