VA12 — Change Sales Inquiry
VA12 changes an existing sales inquiry (document type IN), the pre-sales document a customer uses to request pricing or availability information without commitment. It lets a consultant update validity dates, quantities, pricing conditions, partners and texts on a document already saved, but it will not retroactively change any quotation or order already copied from that inquiry.
VA12 is the change transaction for sales inquiries, the earliest and least binding document in the SD pre-sales chain. This page covers what actually gets updated on save, where inquiries silently diverge from downstream quotations and orders, and the specific diagnostic steps for validity, pricing and document-flow problems that show up when an inquiry is edited after it has already been copied forward.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,155 words
Purpose
VA12 opens an existing sales document of type IN (inquiry) for change. An inquiry carries header data, items, quantities and validity dates like any sales document, and it can hold pricing conditions, but it has no delivery or billing relevance of its own. The structural fact that causes most confusion: an inquiry behaves like a full sales order in the transaction (same screens, same item category logic, same pricing procedure determination) but exists purely as a record of a customer request. Changing it after a quotation or order has already been copied from it does nothing to that downstream document. Consultants coming from order processing expect changes to cascade; they do not, because copy control runs once, at creation of the follow-on document, not continuously.
When it is used
Used in the earliest stage of the order-to-cash cycle, before a binding quotation exists, when a customer asks what something would cost or whether it is available and the answer needs to be recorded rather than just quoted verbally. A sales rep or inside sales admin reaches for VA12 to correct quantities, extend an expired validity period, add a partner, or fix pricing on an inquiry that was saved with wrong data. Many implementations skip the inquiry step entirely and start the pre-sales cycle at the quotation, so VA12 sees far less traffic than VA22 or VA42 in practice. There is no dedicated Fiori app for inquiry maintenance in common use; this remains a classic GUI transaction even on S/4HANA.
How to use it in practice
- Call VA12 and enter the inquiry document number directly, or leave it blank and use the document list search by sold-to party, sales organization or creation date
- Confirm the change is on the correct document type IN before making edits; the transaction does not stop a user from opening the wrong number
- Update header data first if the change involves validity dates, requested delivery date, or ship-to/payer partners
- Go to item overview to change quantities, item category, or add and reject items; use the reason for rejection field rather than deleting a line if the item should stay visible for reporting
- If quantity or material changed, manually trigger a pricing re-determination from the item conditions screen rather than assuming it happened automatically
- Save; check for any warning about the document already having follow-on documents before confirming
Key data objects
- VBAK - inquiry header: document number, document type IN, sales area, validity dates, overall processing status
- VBAP - inquiry items: material, order quantity, item category, rejection reason, net value
- VBEP - schedule line data at item level, present even though inquiries have no delivery relevance
- VBKD - business data at item and header level: payment terms, incoterms, pricing date
- VBFA - document flow records linking the inquiry to any quotation or order copied from it
- Pricing condition tables (KONV in classic ECC, PRCD_ELEMENTS in S/4HANA) - condition records generated for the inquiry's pricing procedure
How to prove it in the data
Pull VBAK filtered on AUART equals IN and the document number or sold-to party in question to confirm the document is genuinely an inquiry and check its validity dates and deletion status. Join to VBAP on VBELN to see current item quantities and rejection reasons. Query VBFA with VBELV equal to the inquiry number to list every follow-on document created from it and compare the copied values against the current VBAP values; a mismatch confirms the change happened after the copy ran. Pull CDHDR/CDPOS on object VERKBELEG for the document number to see the exact field-level change history and who made it.
ECC vs S/4HANA
The transaction and the underlying document type IN are unchanged on S/4HANA; VA12 still runs as a classic GUI transaction. The main technical difference is that pricing condition records sit in PRCD_ELEMENTS rather than KONV, which matters for anyone querying pricing data directly but not for day-to-day use of the transaction. No standard Fiori app replaces inquiry maintenance; organizations that use inquiries at all typically keep this step entirely in SAP GUI.
Common pitfalls and how to diagnose them
- Stale downstream documents: a change made in VA12 after a quotation or order was already copied from the inquiry has no effect on that follow-on document. Check VBFA first; if a successor document exists, the fix belongs in VA22 or VA42, not here.
- Expired validity: the system either blocks the change or, more commonly, allows the change but refuses a later copy-to-quotation with a validity error. Check VBAK validity dates against the system date before assuming the copy control configuration is broken.
- Pricing not refreshed: changing quantity or material does not automatically re-run pricing. The net value on the item stays at the old figure until the user explicitly triggers a pricing update from the conditions screen. This is the most common source of a wrong price being copied forward into a quotation.
- Rejection reason confusion: users delete a line instead of setting a rejection reason, which removes it from VBAP entirely and breaks reporting that expects to see rejected inquiry items for lost-opportunity analysis. Check whether the requirement was to reject or to remove before touching the line.
- Item category mismatch after material change: swapping the material on an item can trigger a different item category via the determination table, changing whether the item is even relevant for quotation copy. Check the item category on save, not just the material number.
Whose problem this is
Functional SD, owned by whoever configures sales document types and pricing for the pre-sales cycle. ABAP involvement is limited to custom pricing routines or user exits touching inquiry processing. A clean handover includes the inquiry number, the document type, whether a follow-on document already exists per VBFA, and the specific field or price the user believes is wrong.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/va12ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.