VK11 — Create Condition Record for Pricing
VK11 creates a new pricing condition record (a price, discount, surcharge, or freight rate) for a condition type such as PR00 or K004. It writes the value into the condition table generated for the chosen key combination, plus the header and item condition tables. Existing sales documents are unaffected until pricing is re-run manually.
This page covers VK11, the transaction used to maintain master pricing data that the SD pricing procedure reads at order and billing time. It focuses on the structural reasons a maintained condition record still fails to appear in a document, and how to trace a record back through the generated access-sequence tables.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,165 words
Purpose
VK11 creates a condition record: a stored value for a condition type, tied to a specific combination of key fields (sales organization, customer, material, price list, and so on) and a validity period. The structural fact that explains most of the confusion around VK11 is that a single condition type can be linked to several condition tables through its access sequence, and each condition table has its own generated database table. Entering a value under one key combination does not create it under another, even if both belong to the same condition type. Which table a given record lands in is decided by the key combination selected on the VK11 initial screen or key combination list, not by the condition type name.
When it is used
VK11 is used during pricing master data setup and maintenance: a new customer-specific price needs to be entered, a promotional discount needs a validity window, a freight scale needs updating, or a price list needs a new material added. It is reached for before the affected sales order, quotation, or contract is created, since existing documents already carry their own copied conditions and do not re-read master data automatically. For high-volume loads, mass condition maintenance or LSMW-based upload is preferred over manual VK11 entry; VK11 is the right tool for one-off or small-batch changes, not for repricing thousands of material-customer combinations.
How to use it in practice
- Enter the condition type on the initial screen (for example PR00, K004, KF00)
- If the condition type has multiple access sequences, choose the correct key combination from the list rather than accepting the default
- Fill in the organizational key fields (sales organization, distribution channel) and the specific key fields for that combination (customer, material, price list, or document group)
- Enter the validity period, the rate amount, unit of measure, and per-quantity basis
- Maintain scale rows if the condition uses quantity or value scales
- Save; the system generates an internal condition number and writes it to the header, item, and access tables
Key data objects
- KONH - condition record header: validity from/to dates and the internal condition number that links to the item and access tables
- KONP - condition record item: the rate amount, condition unit, currency, scale basis, and calculation type for the given condition number
- The generated access table for the chosen condition table (for example a table in the A range) - stores the actual key fields such as sales org, customer, and material together with the condition number pointing into KONH and KONP
- T682I and related access sequence tables - not written by the save, but read at pricing time to decide which generated table is searched first
How to prove it in the data
Start from VK13 for the condition type and key combination in question to read off the internal condition number. Then use SE16N on KONP filtered by that condition number to see the stored amount, unit, and scale rows, and on KONH for the validity dates. To confirm the record exists under the exact key combination a document is trying to match, browse the generated access table for that condition table filtered on sales org, customer, or material, and check that the condition number returned there matches the one seen in KONP; a mismatch or an empty result explains why pricing did not pick it up.
ECC vs S/4HANA
VK11 behaves the same way on S/4HANA as on ECC; the transaction, the underlying condition tables, and the access sequence logic are unchanged. S/4HANA offers Fiori applications for managing pricing condition records that provide a list-based, mass-edit style front end over the same underlying tables, useful for reviewing or bulk-updating records rather than one-off entry. Consultants comfortable with VK11 can continue using it directly; nothing about the master data model changed.
Common pitfalls and how to diagnose them
- Overlapping validity periods - two records exist for the same key combination with overlapping date ranges; the system may reject the save with a validity conflict message or silently apply the wrong one. Check the full list of validity periods in VK13 for that key before creating a new record, rather than assuming only one record exists.
- Wrong or unexpected key combination picked - the condition type has several accesses in its access sequence (customer-specific price checked before material price, for example), and the record was created under a less specific combination than the one the document actually matches first. Verify the access sequence order in the pricing configuration and confirm which generated table the document is really reading.
- Scale mismatch - the amount only applies from a scale quantity that the order quantity does not reach, or the scale unit differs from the order's unit of measure. Check the scale rows under the condition record and compare the scale basis and unit against the document line.
- Deletion flag or expired validity mistaken for a missing record - the record still displays in VK13 but is marked for deletion or its validity has ended, so pricing skips it. Recreating a duplicate on top of it produces an overlap error; the correct fix is to extend or reactivate the existing record.
- Sales area mismatch - the record was created for a sales organization or distribution channel that does not match the sales area of the document being priced, making it structurally invisible to that document regardless of customer or material match.
- Assuming VK11 fixes an open order - creating or changing a condition record has no retroactive effect on documents already saved; the order must have pricing re-run manually (new pricing document, or the pricing update function in the order) before the new value appears.
Whose problem this is
This is functional SD pricing territory, owned by whoever configures pricing procedures and condition types. ABAP involvement is limited to custom condition tables, new access sequence fields, or pricing routines (VOFM). A clean handover includes the condition type, the exact key combination used, the sales area, the validity dates in question, and the condition number if one has already been identified through VK13.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/vk11ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.