VA42 — Change Sales Contract
VA42 changes an existing sales contract (quantity, value, master, or service/maintenance contract) after it has been created with VA41 - validity dates, target quantity or value, cancellation procedure, items, and pricing. It does not touch release orders already created against the contract; those keep whatever values were copied into them at their own creation time.
This page covers what VA42 actually changes on a sales contract, why extending validity or targets does not retroactively fix already-created release orders, and how to prove from VEDA and VBFA whether cumulative figures are really out of sync or just displayed that way. It also separates true contract-layer problems from release-order or delivery problems that get mistakenly escalated as contract issues.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,268 words
What it does
VA42 changes an existing sales contract document - quantity contract, value contract, master contract, or service and maintenance contract - after VA41 has created it. It opens the same header and item screens as create and display, but only fields still open for change are editable; once a release order has consumed the contract, some fields such as item deletion, material, or reducing target quantity below what has already been drawn become locked. The single fact that explains most confusion: the contract itself never generates deliveries or billing documents. It is a target agreement referenced by separate release order sales documents. Changing validity dates, target quantity, or target value on the contract in VA42 does not touch release orders already created against the old values - those documents keep whatever was copied into them at their own creation time.
When it is used
VA42 is reached whenever a contract needs adjusting after creation: extending or shortening the validity period, raising or lowering the target quantity or value, changing the cancellation procedure, adding or rejecting an item, updating header partners, or re-running pricing on the contract itself. It sits in the outline agreement layer of order-to-cash, upstream of the release orders that actually trigger delivery and billing. A consultant reaches for VA42 specifically when the complaint is about the contract's own target figures or validity - not when a release order fails to create a delivery, which is a release order or delivery problem, not a contract problem. On S/4HANA the same task can be done from a Fiori contract management app, but VA42 remains the transaction most consultants still use for detailed field-level changes.
How to use it
The transaction opens directly on the contract screen sequence; there is no separate initial screen split from VA41 beyond replacing create with change.
- Call VA42 and enter the contract number directly, or leave it blank and use the matchcode to search by sold-to party, sales organization and document type.
- On the overview screen, select the item to change or go straight to header data with the header button.
- In header data, adjust validity start/end dates and the cancellation procedure on the sales tab.
- In item data, change target quantity or target value, and check the item's completion rule if the contract is a value contract.
- Use the item's release order overview, reached through the document flow, to see which sales orders have already drawn against the contract before changing figures.
- Re-check pricing conditions if the contract or its items require a price change, then save.
Key fields
- VBAK - contract header: sales organization, distribution channel, division, document type, overall validity dates, sold-to and ship-to partner links.
- VBAP - contract item: material, target quantity, target value, item category, completion rule flag for value contracts.
- VEDA - contract data: cancellation procedure, cumulative quantity and cumulative value already drawn by release orders, contract status.
- VBFA - document flow: links between the contract as preceding document and every release order or return created against it, with quantity and value drawn per link.
- VBEP - schedule line data, populated only for contract types that carry delivery-relevant schedule lines rather than being pure target agreements.
How to prove it in the data
Start in VEDA on the contract number to read the cumulative quantity and cumulative value already consumed against the target figures held in VBAP. Then read VBFA with the contract as preceding document to list every release order drawn against it, sum the quantities or values on those lines, and compare the total to VEDA's cumulative fields. A mismatch after a VA42 change usually means release orders were created or changed outside the period the comparison covers, or that the update to VEDA failed silently on one of them.
ECC vs S/4HANA
The transaction itself is unchanged on S/4HANA; VA42 still opens the same header and item structure and writes to the same VBAK, VBAP, VEDA and VBFA tables. A Fiori contract management app exists for sales contracts and presents the same fields through a worklist and object page rather than the classic screen sequence; it is aimed at business users doing routine extensions, while VA42 remains the tool for detailed or exception changes. No table or field structure was replaced.
Common pitfalls
- Validity window mismatch - extending the contract's end date in VA42 does not revalidate release orders that were rejected or blocked for falling outside the old validity period; check the release order's creation date against both the old and new VBAK validity dates before assuming the extension fixed anything.
- Cumulative figures out of step - VEDA's cumulative quantity or value can lag behind what VBFA shows as actually drawn, usually because a release order was created through an interface or batch job that bypassed the update, or because the contract's target was changed after some release orders already existed; recompute the total from VBFA and compare to VEDA rather than trusting the displayed percentage on the item.
- Target fully consumed - a value or quantity contract that has reached its completion rule blocks new release orders with a message rather than a dump; the fix is to raise the target quantity or value in VA42 first, not to force the release order through a pricing override.
- Pricing changed on the contract but not on release orders - conditions changed on the contract item in VA42 only apply to release orders created after the change; documents created earlier keep the price copied at their own creation time and need a manual price redetermination if the new condition should apply retroactively.
- Item cannot be deleted or rejected - the system refuses because open release orders already reference the item; the release orders have to be rejected or cancelled first, and that document flow has to be checked through VBFA before touching the contract item.
- Change refused outright - the contract is already flagged cancelled or fully referenced in VEDA, or the user lacks change authorization for the sales document type; check the contract's status in VEDA and the authorization for the document type before assuming it's a program error.
Whose problem this is
Functional SD, specifically whoever owns contract and outline agreement management within order-to-cash. A basis or ABAP escalation is only needed if a change fails with a dump or an update termination rather than a business message. A good handover states the contract number and item, the field changed, the expected versus actual cumulative or validity figures from VEDA, and the list of release orders from VBFA.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/va42ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.