VBLB table — Release Order Data for Quantity Contracts
VBLB stores the release order tracking data for quantity and value contracts in SD: one row per contract item and customer combination, holding the cumulative quantity or value already released against that contract line. It is the table SAP checks when a release order is created against a contract, to determine remaining open quantity and to trigger the contract's completion or over-delivery messages.
VBLB is the release order data table sitting behind quantity contracts in SD, tracking how much of a contract item has already been drawn down by subsequent release orders. This page covers what a row represents, the fields worth trusting, how it joins to VBAK and VBAP, and the mistakes consultants make when reading cumulative quantities out of it directly.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,051 words
What it stores
A row in VBLB represents the accumulated release-order activity for one item of a quantity or value contract, broken down by the customer (and sometimes ship-to) authorized to release against it. When a contract of type quantity contract is created, the target quantity lives on VBAP; VBLB is the running ledger that tracks how much of that target has been consumed by release orders created with reference to the contract item. Every time a release order is created, changed, or rejected, the cumulative figure in VBLB is updated so the system can calculate the remaining open quantity and decide whether to warn or block further releases. Without VBLB the contract item itself would have no memory of what has already been drawn against it; VBAP only holds the target, not the consumption.
Key fields
- MANDT - client
- VBELN - sales document number of the contract (matches VBAK-VBELN)
- POSNN - item number of the contract (matches VBAP-POSNN)
- KUNNR - customer authorized to release against the contract item, typically the ship-to or sold-to depending on contract configuration
- cumulative release quantity or value field tracking how much has been drawn down against the contract item to date (exact field name should be confirmed on the live system before being quoted in a report)
How it joins the data model
- VBLB-VBELN = VBAK-VBELN to reach the contract header (document type, sold-to, validity dates)
- VBLB-VBELN = VBAP-VBELN and VBLB-POSNN = VBAP-POSNN to reach the contract item, its material, and target quantity
- VBLB-KUNNR = KNA1-KUNNR to resolve the releasing customer's master data
- VBFA joins the release order back to the contract: VBFA-VBELV = VBAK-VBELN (contract as predecessor) with VBFA-VBELN being the release order number, used to reconstruct which release orders actually contributed to the VBLB total
- VBLB-VBELN/POSNN = VBEP for schedule line level detail on the contract item when release planning is schedule-line driven
How to read it safely
Always restrict by client (MANDT) implicitly through the transaction layer, and always start from a known contract number and item, not from KUNNR alone, since the same customer can appear against many contracts and VBLB has no date range or plant restriction to narrow a broad customer scan. The table is small relative to VBAK or VBAP because it only holds one row per contract item per releasing party, so a selection by VBELN plus POSNN is normally fast; a selection by KUNNR across the whole client is the slow, non-selective path and should be avoided in ad hoc queries.
How to prove it in the data
Symptom: a release order against a quantity contract is being blocked or warned as exceeding the contract quantity, and the business insists the contract still has quantity left. Pull the contract item's target quantity from VBAP for the VBELN and POSNN in question, then pull the matching row in VBLB for the same VBELN, POSNN, and the releasing KUNNR. Compare the cumulative quantity in VBLB against the VBAP target quantity minus any tolerance configured on the contract. If the VBLB figure already equals or exceeds the target, the block is correct and the contract is genuinely exhausted for that customer.
ECC vs S/4HANA
VBLB continues to exist as a physical table in S/4HANA and is still populated by the same contract release-order logic. There is no widely known dedicated CDS compatibility view that replaces it the way VBAK and VBAP have been fronted by newer data models; consultants working release-order reporting in S/4HANA generally still read VBLB directly or through the same custom reports that existed in ECC. Confirm on the specific release whether a newer extraction or reporting layer has been introduced before assuming it, since this can vary.
Common pitfalls
- Reading VBLB in isolation and assuming the cumulative figure reflects reality when a release order behind it was later cancelled or rejected; VBLB is only as current as the last update run, and a stuck update can leave it out of sync with the actual release orders in VBAK/VBAP.
- Assuming every contract item has a VBLB row. Value contracts without release-order tracking enabled, or contract items created before release tracking was switched on, may have no corresponding row at all, which looks like zero consumption but actually means the tracking was never activated.
- Confusing the customer key on VBLB with the sold-to party on the contract header. Release authorization can be configured at ship-to level, so a query filtered on the contract's sold-to from VBAK will miss the correct VBLB row entirely.
- Manually correcting a VBLB quantity in a data fix without also correcting or accounting for the release orders in VBAK/VBAP/VBFA that produced it, which desynchronizes the ledger from its source documents and produces a second discrepancy later.
- Treating VBLB as a full audit trail of who released what and when. It holds cumulative totals, not a transaction history; the history has to be reconstructed via VBFA document flow against the contract.
Whose problem this is
The SD functional consultant owns configuration questions about how release quantities are calculated and tolerated; the business owner of contract management owns whether a given cumulative figure matches what was actually shipped or invoiced. Data corrections to VBLB itself are rarely a good first move and normally point back to the release orders and their status in VBFA rather than to the ledger table.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/vblbERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.