JinJin48
JinJin48
SAP Consultant | BTP · S/4HANA · US Global Rollout
· 12 min read

Cover: SAP Service Pricing Condition — the master data record that prices a Service Product

SAP Service Pricing Condition

The Pricing Condition is the master data record produced by SAP’s Condition Technique — a rule-based lookup engine, shared across SD, Service, and other sales-facing modules, that resolves a price, discount, surcharge, or tax value for a document line item from a combination of key fields such as Service Product, Customer, and Sales Organization. In SAP S/4HANA Service, this is the mechanism that sets the price of a Service Product (Material Type DIEN) once the Service Product itself has been defined. This article first covers the Condition Technique as a general concept (Part 1), then the Service-specific configuration and field detail (Part 2).


Part 1: Pricing Condition — Core Concepts (All Modules)

1.1 What Is the Pricing Condition?

Hub-and-spoke diagram showing Pricing Condition at center, connected to Service Product, Sales Organization, Customer, Pricing Procedure, and Service Contract/Order Template

A Pricing Condition (commonly called a “Condition Record”) is not a price typed directly onto a document — it is a maintained master record that the system looks up at runtime, using a defined sequence of key-field combinations, to calculate the value that applies to a specific line item. Rather than hard-coding a number, business users maintain Condition Records against Condition Types, and SAP resolves the applicable record following an Access Sequence and a Pricing Procedure assigned to the document type.

AspectDetails
RoleDetermines a monetary or percentage value (price, discount, surcharge, tax, freight) applied to a document line item via SAP’s rule-based Condition Technique
Modules using itSD (Sales pricing — primary owner of the technique), Service/CS (Service Order and Service Contract pricing), MM (Purchasing conditions — a separate condition infrastructure, same underlying technique), FI-CA (Convergent Invoicing)
TransactionsVK11 / VK12 / VK13 (Create / Change / Display Condition Record), V/06 (Condition Type Customizing), V/07 (Access Sequence), V/08 (Pricing Procedure)
Key TablesKONP (Condition Item), KONH (Condition Header), condition-table-specific A-tables (e.g. A305), T685 (Condition Type)
S/4HANA noteFiori app Manage Pricing Conditions is the primary UI for day-to-day condition record maintenance, replacing manual VK11/VK12 navigation for business users. The underlying Condition Type → Access Sequence → Condition Table → Condition Record technique is unchanged from ECC.

1.2 Condition Categories and Types

2x3 matrix comparing condition categories: Price, Discount %, Discount Amount, Freight, Tax, and Variant/Configuration pricing

Every Condition Type is assigned a Condition Class that governs how its value behaves in the pricing procedure’s running total — whether it adds to net value, is purely informational (statistical), or feeds a separate tax calculation. Getting the class wrong is a common configuration mistake: a discount configured with the wrong class either fails to reduce net value or silently disappears from the invoice.

Condition ClassExample CodeUse CaseKey Behavior
PricePR00Base price of a Service ProductMandatory in most pricing procedures; forms the starting net value that subsequent conditions adjust
Discount/Surcharge (%)RA00Contract-level percentage discountCalculated on the cumulative net value of preceding steps in the procedure; scale-able by quantity or value
Discount/Surcharge (Amount)RB00Fixed-amount deductionAbsolute value per unit or per document, independent of the base price
Freight/Delivery CostKF00On-site dispatch or travel-cost surchargeCommon in field service to recover technician travel cost separately from the service fee itself
TaxMWSTOutput tax determinationResolved via a dedicated tax procedure rather than the sales pricing procedure, but uses the identical Condition Technique
Variant/ConfigurationVASEPrice surcharge driven by a characteristic value on a configurable Service ProductRequires Advanced Variant Configuration (AVC); one condition record per relevant characteristic value combination

Design principle: Choose the Condition Class based on how the value must behave in the running total (add to net value vs. statistical/informational only) — not by what the value is called in a business conversation.


1.3 Organizational Levels and Data Hierarchy

Zone D crop from the Service Master Data Landscape — Service Product & Template, client-level, showing Pricing Condition PR00

The diagram above crops Zone D — Service Product & Template (Client-Level) from the Service module’s Master Data Landscape, showing where the Pricing Condition sits relative to the Service Product it prices and the templates that consume it.

Data hierarchy with a concrete example

Material Master "SRV-001" (Type DIEN · UoM H)
   │
   └── ── based on ──> Service Product "SRV-PM-01" (Preventive Maintenance · UoM H)
                              │
                              ├── ── priced by ──> Pricing Condition "PR00" — Base Price, JPY 15,000 / H
                              │
                              └── ── used in ──> Service Contract Template "SCT-001" (Item Cat. SCN)

Note: Sales Organization and Distribution Channel are not shown as separate hierarchy nodes here — in this client-level zone they are key fields carried within the Condition Record itself (see 2.3), not standalone org-level nodes.


1.4 Integration with Other Master Data Objects

Hub-and-spoke diagram showing Pricing Condition at center, connected to Service Product, Business Partner, Sales Organization, Pricing Procedure, and Service Contract/Order Template

A Pricing Condition never stands alone — it is only meaningful in combination with the object it prices and the organizational context in which it was maintained.

ObjectRelationshipPractical Notes
Service Product (Material Master, Type DIEN/KMAT)Priced object — the Condition Record’s material/service key fieldEvery Condition Record for service pricing carries the Service Product number as one of its key fields; recreating a Service Product under a new number orphans its existing condition records.
Business Partner (Customer/Payer)Optional key field enabling customer-specific negotiated pricingCondition Tables that include Customer as a key field let the same Service Product carry different prices per customer; without it, pricing is uniform across the Sales Area.
Sales Organization / Distribution ChannelOrganizational key fields on the Condition RecordThe same Service Product can carry different prices across Sales Organizations — e.g. a domestic price list versus an export price list.
Pricing ProcedureDetermines which Condition Types are active, in what sequence, and whether each is mandatoryThe Pricing Procedure assigned to the Service Order/Contract document type controls which condition types the system searches for at all; a maintained Condition Record with no matching active Condition Type in that procedure is silently ignored.
Service Contract Template / Service Order TemplateConsumes the resolved condition value at billing plan or item creationTemplates standardize which conditions default onto new documents; ad-hoc override at document level remains possible unless the condition is marked non-editable.

Part 2: SRV-Specific Field Details

2.0 Scope of SRV Ownership

Checklist showing SRV involvement across Pricing Condition data sections: Condition Type, Condition Table/Access Sequence, Condition Record, Pricing Procedure Determination, Variant Pricing

Data SectionSRV InvolvementNotes
Condition Type Definition○ Shared with SDSD Pricing Configuration typically owns the Customizing transaction (V/06); Service defines which condition types (PR00, RA00, RB00, VASE) are relevant to service pricing scenarios.
Condition Table & Access Sequence○ Shared with SDShared Customizing objects; Service confirms which key-field combinations (e.g. Service Product + Sales Org + Customer) are required for service-specific pricing.
Condition Record Maintenance◎ OwnerThe Service Administrator/Manager maintains the actual price and discount values for Service Products on an ongoing basis.
Pricing Procedure Determination○ Shared with SDSales Area determination logic is shared; Service-specific document types (Service Contract, Service Order) drive their own pricing procedure assignment.
Variant / Configurable Service Pricing (VASE)○ Shared with SD (AVC)Relevant only when the Service Product uses Material Type KMAT under Advanced Variant Configuration.

Legend: ◎ = Owner / Critical, ○ = Direct involvement


2.1 Condition Type Definition

Checklist of key Condition Type fields: Condition Type, Condition Class, Calculation Type, Plus/Minus, Manual Entries, Scale Basis

Condition Type is the Customizing object (transaction V/06) that defines how a given kind of price, discount, or surcharge behaves before any actual value is ever entered.

FieldDescriptionPractical Usage
Condition TypeFour-character code identifying the condition (PR00, RA00, RB00, VASE)PR00 is the de-facto standard base-price condition for Service Products; do not repurpose it for discounts — copy it to a Z-code instead so standard SAP behavior and future upgrades remain predictable.
Condition ClassGoverns whether the value is a Price, a Discount/Surcharge, or a TaxDetermines how the value participates in the pricing procedure’s running total. Setting this incorrectly on a custom discount condition is the most common cause of a discount that “doesn’t reduce the invoice total.”
Calculation TypePercentage, fixed amount, or quantity-basedFor time-based service pricing (JPY per hour), use quantity-based calculation tied to the confirmed service hours; percentage-based conditions should reference the correct base-value formula in the procedure.
Plus/MinusRestricts the condition to positive, negative, or either signSet discounts (RA00, RB00) to negative-only to prevent a data-entry mistake from accidentally inflating a customer’s invoice.
Manual EntriesControls whether the value can be entered manually on the document, only automatically from the Condition Record, or bothFor contract-negotiated pricing, allow manual entry only with a reason code so ad-hoc overrides remain auditable.
Scale BasisDefines whether scale breaks (tiered pricing) are by quantity, value, or weightVolume-based service contracts (e.g. per-visit discounts above a threshold) require a quantity-based scale on the relevant discount condition type.

2.2 Condition Table & Access Sequence

Checklist of Condition Table and Access Sequence fields: Condition Table, Access Sequence, Key Fields, Exclusive Indicator, Requirement Routine

The Access Sequence is the ordered list of Condition Tables the system checks, from most specific to least specific, to find a valid Condition Record for a line item.

FieldDescriptionPractical Usage
Condition TableDefines the key-field combination that identifies a unique condition record (e.g. Sales Org + Distribution Channel + Service Product + Customer)Design the most specific table first in the access sequence — e.g. Customer-specific pricing before Service-Product-only pricing — so customer-negotiated rates always win over the general price list.
Access SequenceOrdered list of Condition Tables searched for a given Condition TypeKeep the sequence short and well-documented; an overly long access sequence with many near-duplicate tables is the most common root cause of “wrong price applied” incidents in service pricing.
Key FieldsThe specific fields (Sales Org, Distribution Channel, Service Product, Customer, etc.) that make a Condition Table’s entries uniqueAdding Customer as a key field is what enables customer-specific service pricing; omitting it means all customers in a Sales Area share the same price.
Exclusive IndicatorStops the access sequence search once a match is found in a given tableUse for tables where a match should always win outright (e.g. customer-specific contract price) rather than allowing a later, less specific table to also apply.
Requirement RoutineABAP routine that further restricts when a table is checked (e.g. only for certain document types)Useful to skip customer-specific tables entirely for cash-sale service orders where no negotiated contract exists, improving pricing performance.

2.3 Condition Record Maintenance

Checklist of Condition Record key and value fields: Sales Organization, Distribution Channel, Service Product, Customer, Amount/Percentage, Validity Period, Scale

The Condition Record is the actual maintained data — the specific price or discount value tied to a specific key combination — created via VK11 or the Fiori “Manage Pricing Conditions” app.

FieldDescriptionPractical Usage
Sales Organization / Distribution ChannelOrganizational scope of the priceMaintain separate records per Sales Organization when the same Service Product is sold domestically and internationally at different price levels.
Service ProductThe Material Master (Type DIEN/KMAT) the record pricesConfirm the Service Product’s Base Unit of Measure before entry — a per-hour rate entered against an EA-based Service Product produces an incorrect billing amount silently.
Customer (optional)Restricts the record to a specific customer, if the Condition Table includes itCustomer-specific records take priority in the access sequence over the general price list; use them for negotiated framework agreements rather than editing the base PR00 record.
Amount / Percentage & UnitThe maintained value and its unit of measureFor time-based services, the unit must match the Service Product’s pricing unit (e.g. JPY per H) exactly, or the billing document calculates an incorrect total.
Validity PeriodValid-from / valid-to dates for the recordOverlapping validity periods for the same key combination cause ambiguous pricing; always close out the prior record’s valid-to date before creating a new rate.
ScaleTiered values by quantity or value breakCommon for volume service contracts — e.g. a lower per-hour rate once cumulative confirmed hours in a period exceed a threshold.
Deletion IndicatorSoft-deletes the record from future determination without removing historyPreferred over hard deletion so historical billing documents can still reference the condition record that was active at the time.

2.4 Pricing Procedure Determination

Two-column comparison showing Pricing Procedure determination inputs (Sales Area, Document Pricing Procedure, Customer Pricing Procedure) versus the resulting active Condition Type sequence

The Pricing Procedure determines which Condition Types are even searched for on a given Service Order or Service Contract, and in what sequence they are calculated.

FieldDescriptionPractical Usage
Pricing ProcedureThe ordered list of Condition Types and their calculation logic assigned to a documentDesign a dedicated pricing procedure for Service documents rather than reusing an SD sales-order procedure verbatim — service-specific conditions (e.g. VASE for configurable services) need to sit at the correct step.
Sales Area (Sales Org / Dist. Channel / Division)One of the three determination keys for pricing procedure assignmentConfirm the Sales Area used on Service Contract/Order document types matches the Sales Area used to maintain PR00 records, or the record will never be found.
Document Pricing ProcedureDetermination key derived from the sales document typeAssign a distinct Document Pricing Procedure indicator to Service Contract and Service Order document types so each can route to its own Pricing Procedure.
Customer Pricing ProcedureDetermination key derived from the customer/payer masterSegment customers (e.g. Key Account vs. Standard) via this field to route to procedures with different discount condition types available.
Step / Counter & Condition Type SequenceThe calculation order of condition types within the procedureBase price (PR00) must precede percentage discounts (RA00) in step order, since RA00’s calculation base is typically the net value of the prior step.
Account KeyLinks a condition type’s value to a specific revenue/discount G/L account via account determinationAssign distinct account keys for base service revenue versus contract discounts so FI reporting can separate gross revenue from discount deductions.

2.5 Variant / Configurable Service Pricing (VASE)

Stack layered diagram showing configurable service pricing flow: Configuration Profile → Characteristic Value → VASE Condition Record → Surcharge on Service Order

When a Service Product is configurable (Material Type KMAT under Advanced Variant Configuration), a standard single Condition Record cannot capture every possible characteristic combination — VASE exists precisely for this case.

Prerequisite: Configurable Service Products require AVC (Advanced Variant Configuration) mode; the Classic Variant Configuration mode is not supported for this scenario.

FieldDescriptionPractical Usage
Condition Type VASEThe dedicated variant-pricing condition typeConfirm VASE is included in the pricing procedure assigned to configurable Service Contract/Order document types — it is not part of a standard non-configurable procedure by default.
Variant Condition KeyInternal key generated from the characteristic value combinationThis key, not the Service Product number alone, is the actual lookup key for a VASE record — two orders for the same Service Product with different selected characteristic values resolve to different VASE records.
Characteristic Value DependencyThe specific characteristic value (from the Configuration Profile) that triggers a surcharge or discountMaintain one VASE record per characteristic value that carries a price impact — e.g. an “Expedited Response SLA” characteristic value adding a fixed surcharge on top of PR00.
Configuration Profile LinkReference to the Configuration Profile governing which characteristics and values are selectableChanges to the Configuration Profile (adding/removing characteristic values) must be coordinated with VASE record maintenance, or new configuration options will price at zero.

L1) Big Picture

IDCategoryTitle
srv-001OverviewWhat is SAP Service?

L2-A) Master Data

IDCategoryTitle
srv-a01OverviewSAP Service Master Data: Overview, Hierarchy & Relationships
srv-a03-01Master DataSAP Service Product Master
srv-a04-01Master DataSAP Spare Parts Master
srv-a03-02Master DataSAP Service Pricing Condition 📍
srv-a05-01Master DataSAP Service Functional Location
srv-a05-02Master DataSAP Service Equipment
srv-a05-03Master DataSAP Service Bill of Material
srv-a06-01Master DataSAP Service Service Contract Template
srv-a06-02Master DataSAP Service Service Order Template
srv-a07-01Master DataSAP Service Warranty Master