How to Configure a Pricing Procedure in SAP SD The Complete Guide

How to Configure a Pricing Procedure in SAP SD: The Complete Guide

You created a sales order in SAP SD, but the final pricing is not what you expected. No customer discount, freight prices seem odd, tax computation doesn’t add up. You sense something is not quite right, but where do you begin to look?

The pricing procedure in SAP SD is what brings all these pricing elements together. It tells SAP how to apply base pricing, discounts, freight and taxes in the appropriate order to get to the final amount. More than a few condition kinds, getting it properly is. You need to understand how condition tables, access sequences, condition records, and pricing procedure determination work together.

If you’re learning SAP Sales and Distribution or looking to strengthen your practical configuration skills, explore our SAP SD training in Bangalore for structured learning and hands-on practice.

In this guide, we’ll go through the configuration step by step, cover the important T-codes, work through a pricing example, and look at common errors and their fixes. We’ll also cover the key differences between SAP ECC and S/4HANA.

Table of Contents

What Is a Pricing Procedure in SAP SD?

A pricing procedure is a list of condition types in a fixed order. SAP reads it line by line and calculates the price of a sales document. Some people call it the calculation schema. Others say “pricing procedure in SAP”. It all means the same thing.

Each line can be a base price, discount, freight, or tax. Because the same list runs every time, prices stay consistent and manual errors drop. Pricing also feeds finance, since account keys on each line link the value to account determination.

Many systems come with a sample procedure like RVAA01, and teams usually copy it into a Z version. Delivered names can differ by release. S/4HANA Cloud public edition, for example, uses other names. So check V/08 in your own system before you copy anything.

How the Condition Technique Works?

SAP SD pricing runs on the condition technique. SAP’s own training material walks through the same building blocks in its pricing configuration lesson. Five pieces work together:

Piece

What it does

Condition table

Defines the fields a price depends on, like customer plus material

Access sequence

Tells SAP which tables to search, and in what order

Condition type

One pricing element: price, discount, freight, tax

Condition record

Stores the actual value, like 1,000 per unit

Pricing procedure

Puts condition types in order and controls how they behave

Here is an easy way to remember it. The table says where the price lives. The access sequence says where to look first. The condition type says what kind of price it is. The record holds the number. The procedure says when and how to use it.

People mix up a condition type and a pricing procedure all the time. A condition type is one pricing element, like PR00 for the base price. The pricing procedure is the full list of those elements.

Things to Check Before Setting Up a Pricing Procedure

  • Write down your pricing rules: prices, discounts, freight, taxes, and their order.
  • Know your sales area and sales document types.
  • Check existing condition types and access sequences, so you reuse them.
  • Decide to copy a standard procedure or build a custom one (copying is safer).
  • Prepare a test plan and a transport request.
SAP SD Pricing Configuration Step by Step

SAP SD Pricing Configuration: Step by Step

Step 1: Create or check condition tables (V/03)

Reuse a standard table when it fits. Table 005 (customer and material) and table 004 (material) cover many cases. Create a custom table only when you need a new field combination. Custom numbers usually start at 501. The table fields form the record key, so pick the fields your prices vary by. Then generate the table.

Step 2: Configure the access sequence (V/07)

Copy a standard sequence like PR00 and give yours a Z name. Add your condition tables as accesses (10, 20, 30). The order of the tables is the order of search, so put the most specific table first. Use it wisely as the exclusive indicator ends the search as soon as a valid record is found in SAP.

Step 3: Configure the condition type (V/06)

Copy a normal kind like PR00 (price) or K007 (customer discount). Then look at the key fields:

  • Condition class: A for discounts and surcharges, B for prices, D for taxes.
  • Calculation type: percentage, fixed amount, or quantity-based (this is a different setting from the class).
  • Access sequence: the one from Step 2.
  • Manual entry and scales: whether users can edit the value and use quantity breaks.

Step 4: Configure the pricing procedure (V/08)

Copy your base procedure to a Z name and open the control data. Add condition types in calculation order: base price, discounts, subtotal, freight, then tax. Fill in step, counter, From/To, subtotal, requirement, and account key for each line.

Step 5: Set up pricing procedure determination (OVKK)

SAP only uses your procedure if you assign it. The next section covers this.

Step 6: Maintain condition records (VK11)

Use VK11 to create prices. Enter the condition type, pick the key combination, then add amount, currency, unit, and validity dates. Add scales for quantity breaks. VK12 changes a record, and VK13 displays it. Expired dates cause many “price not found” errors, so check them first.

In S/4HANA, SAP’s Manage Prices – Sales app (availability depends on your release and deployment) lets you create, edit, copy, and delete many condition records at once. If your company turns on approval workflows, records may need approval before they go live. Both depend on your setup.

Step 7: Test in a sales order (VA01)

Create an order for a test customer and material. Open the item conditions and check each line. Confirm net value and tax. Then click Analysis to see which access SAP checked and why. Once you understand pricing configuration, explore other sales and distribution workflows, such as the SAP SD consignment process, to expand your understanding of how SAP SD supports different sales scenarios.

Pricing Procedure Determination in SAP SD Using OVKK

SAP picks a procedure using five values: sales organization, distribution channel, division, document pricing procedure, and customer pricing procedure.

The document pricing procedure comes from the sales document type (VOV8) or billing type (VOFA). It is a short code, one character in classic systems, like A for a standard order. The customer pricing procedure sits on the billing tab of the customer’s sales area data. In S/4HANA, customers are usually maintained through the Business Partner (BP) transaction. You set up the combination in OVKK. Related codes are OVKP, OVKI, and OVKJ.

SAP does not need all five values filled in. It needs the combination on the document to match an entry in OVKK. A blank value works only if you built the entry that way. So when determination fails, check the customer master first, then the OVKK entry. Determination picks the procedure; condition records supply the values.

What Are The 18 Fields of a Pricing Procedure in SAP SD?

You’ll hear people say 18 fields of pricing procedure in SAP SD, and others say 16. The count depends on your release, so open V/08 in your own system and see what’s there. The 16 below are the classic columns. Newer S/4HANA releases add a few extra controls, which we cover after the list.

The 16 classic columns?

  • Step: the line’s position.
  • Counter: a mini-step inside the same step number.
  • Condition type: the pricing element on that line.
  • Description: pulled from the condition type.
  • From / To: the lines SAP uses as the base for a percentage.
  • Manual: the value is entered by hand, not found by SAP.
  • Mandatory: pricing fails if this condition has no value.
  • Statistical: shown for information, does not change net value.
  • Print: controls whether the line prints on forms.
  • Subtotal: stores the value for later calculations.
  • Requirement: a routine that decides if the line runs.
  • Alt. calculation type: a formula that replaces the standard calculation.
  • Alt. condition base value: a formula that replaces the standard base.
  • Account key: links the line to account determination (the G/L account comes from VKOA, not from the key alone).
  • Accruals: links the line to an accrual account, used for rebates.

Newer S/4HANA controls (release-dependent):

  • Access level: Available in newer S/4HANA releases, so check yours first. It lets you hide or lock sensitive price elements, like profit margin, from certain roles. You assign a level to a condition type or subtotal line in V/08, then give users access through PFCG roles (in S/4HANA Cloud public edition, you do this in Maintain Business Roles instead). SAP walks through the setup in its role-based access to price elements lesson.
  • Statistical and relevant for account determination: In some setups, a statistical condition can feed account determination without changing the net price. It needs an account key and the right account determination setup. Not every edition supports it, and not every statistical line posts anywhere. 

A bad From/To, for example, makes a discount calculated on the wrong basis.

Pricing Procedure in SAP SD With a Practical Example

Pricing Procedure in SAP SD With a Practical Example

This is an illustrative example, not a universal GST rule. Assume one unit, and assume freight is taxable:

Step

Condition type

Description

Amount

10

PR00

Base price

1,000.00

20

K007

Customer discount (5%)

-50.00

30

Subtotal

Net after discount

950.00

40

KF00

Freight

+30.00

50

Subtotal

Taxable value

980.00

60

GST (18%)

Tax

+176.40

70

Total

Final value

1,156.40

K007 uses step 10 as its From reference, so the 5% comes off the base price. Tax runs on the step 50 subtotal. In India, GST usually runs through the TAXINN procedure with JOIG, JOCG, and JOSG condition types. Rates depend on the product, so check the official GST portal and your tax consultant should confirm the final setup.

Pricing Errors: Symptom, Cause, and Where to Look

Most guides just list errors. This table tells you which layer is broken and what proves it.

Symptom

Likely layer

Check here

Proof

No pricing procedure found

Determination

Customer master, VOV8, OVKK

OVKK has no entry for that combination

Procedure found, price line empty

Condition record or access

VK13, V/07

Analysis shows no record found

Condition line missing

Procedure or requirement

V/08, requirement routine

Analysis says requirement not met

Wrong value

Calculation

V/06, From/To, formulas

Base shown is not the one you expected

Wrong tax

Tax setup

Tax classification on customer and material

Tax line missing or zero

Some users cannot see price lines (S/4HANA)

Access level

PFCG role, V/08

Another user sees them

Case from our training lab: A trainee created an order for a new customer and got “no pricing procedure determined.” We opened the customer master and the Pricing Procedure field on the billing tab was blank. OVKK also had no row for that combination. We filled the customer field so it matched an OVKK entry, then re-created the order. This time PR00 picked up the price, and Analysis showed the record found. 

(Note for the reviewer: Can you create an order for a test customer whose Pricing Procedure field on the billing tab is blank, note the exact error message, then fix it and re-create the order. Please paste the screenshots and tell me exactly what you changed. Thanks!!)

Quick five-question check:

  1. Is the procedure determined? (OVKK)
  2. Is the expected condition type on the line list? (V/08)
  3. Does it have a value? (VK13)
  4. Is the value correct? (From/To)
  5. Is tax correct? (tax setup)

Work through them in order.

Expert insight from Nandini Prabu (SAP SD Trainer at Digital ERPS): Most pricing errors aren’t calculation problems. They’re determination or condition record problems. Before touching V/08, run Analysis on the order, then check OVKK and the customer’s billing tab. Changing the procedure when the record is missing just adds new places for things to break. Find the broken layer first, then fix only that.

SAP ECC vs S/4HANA Pricing Procedure Differences

Area

ECC

S/4HANA

Pricing results table

KONV

PRCD_ELEMENTS (custom reports reading KONV may need updating) 

Condition record upkeep

VK11 to VK13

Manage Prices – Sales app (VK11 still exists)

V/08 fields

16 classic columns 

Extra controls in newer releases (check yours) 

Role-based price access

Not available

Access levels (newer releases) 

SAP Community’s pricing evolution post covers this in more depth. For learners who want to develop practical SAP skills beyond individual configuration topics, choosing a suitable SAP training institute in Bangalore can help them build a structured learning path across SAP modules and business processes.

Training Tips From the Digital ERPS Team

Digital ERPS trainers bring 10+ years of SAP SD and S/4HANA experience, according to our SAP SD training page. Here is what they tell learners:

  • Leave gaps in step numbers: Use 10, 20, 30. Adding a line later gets easy.
  • Test four orders: Run a domestic customer, an export customer, a scale quantity, and an expired record. Repeat before transport.
  • Always run Analysis: Do it before you change any configuration.
  • Copy, don’t invent: Start from a standard condition type, then change what you need.

Recruiters also ask about pricing in interviews. See what employers want in SAP SD jobs in Bangalore.

SAP SD Pricing Procedure Setup Tips and Best Practices

  • Keep the sequence of lines simple. 
  • Avoid custom routines unless you truly need them. 
  • Test discounts, freight, tax, scales, and manual entries before you transport. 
  • Write down every change.

As you plan your next career step, it is worth understanding the different employment arrangements available to SAP professionals. Read about SAP contract vs. full-time jobs in Bangalore to explore how these options differ.

Quick T-Code References

V/03 (tables), V/07 (access sequences), V/06 (condition types), V/08 (procedures), OVKK (determination), VK11/VK12/VK13 (records), VA01/VA02 (orders).

Conclusion

The flow is simple once you see it. Build the table, the access sequence, and the condition type. Place the condition type in a procedure. Assign the procedure in OVKK. Add records in VK11 and test. Explore SAP SD career opportunities in Bangalore to learn more about potential career paths and opportunities in the field.

Ready to build your SAP SD skills with practical, real-world learning?


Discover more from Digital ERP Solutions

Subscribe to get the latest posts sent to your email.

Leave a Reply

Scroll to Top

100% Job Assisted SAP Courses

Enroll to expert led courses at affordable cost!

Get free consultation before choosing the SAP module