SAP tableObjectVBUKModuleSD_O2C

VBUK table — Sales Document Header Status Table

VBUK holds the aggregated header-level status of a sales document - overall delivery status, billing status, goods movement status, pricing status, credit status and rejection status. One row exists per sales document number (VBELN), sharing the same key as VBAK. It is the table used to answer 'is this order fully delivered, fully billed, or blocked' without reading every item.

VBUK is the status-carrier twin of VBAK, storing rolled-up header status fields for a sales document rather than business content. This page covers the key status fields, how they roll up from item level, the joins consultants actually write, and the recurring mistake of trusting VBUK status without checking the item-level VBUP breakdown or the underlying document flow in VBFA.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 997 words

What it stores

One row in VBUK represents the current aggregated processing status of one sales document header - the same document identified by VBELN in VBAK. VBUK does not store any business data such as customer, material or quantity; it stores derived status indicators that SAP recalculates whenever the document or its subordinate documents (deliveries, billing documents) change. These status fields answer questions like whether the order is fully delivered, fully invoiced, still blocked for credit, or has been rejected, without forcing a scan of every item or every downstream document. Because the status is an aggregate across all items of the document, a single VBUK row can mask mixed states at item level - one item delivered, another still open - which is the single most common source of confusion when working with this table.

Key fields

  • MANDT - client
  • VBELN - sales document number, same key value as VBAK-VBELN
  • GBSTK - overall processing status of the document (open, in process, completed)
  • LFSTK - overall delivery status aggregated from item level
  • WBSTK - overall goods movement status
  • FKSTK - overall billing status aggregated from item level
  • KOSTK - overall status of pricing and conditions
  • CMGST - overall credit check status of the document
  • ABSTK - overall rejection status of the document
  • UVALL - overall processing status of all subitems combined

How it joins the data model

VBUK is a one-to-one satellite of the sales header table, sharing the same primary key value.

  • VBUK-VBELN = VBAK-VBELN
  • VBUK-VBELN = VBUP-VBELN (header status vs item status, one-to-many)
  • VBUK-VBELN = VBFA-VBELV (as preceding document in document flow) or VBFA-VBELN (as subsequent document)
  • VBUK-VBELN = VBEP-VBELN when checking schedule line rollups behind the header status

How to read it safely

MANDT is the first key field and must always be restricted, though most reporting tools handle this automatically. VBELN is the only other key field, so a lookup by document number is always a single-row read - fast even on a large client. The table itself is not large relative to VBAK since it is one row per document, so selectivity is rarely a performance concern; the real risk is selecting on a status field alone (for example GBSTK equal to a certain value) across the whole client, which returns an enormous result set with no business context. Always join to VBAK first to restrict by sales organization, document type or date, then filter on VBUK status fields, not the other way around.

How to prove it in the data

To confirm a claim that 'order 12345 is fully delivered but billing has not happened', select VBUK where VBELN equals 12345 and check LFSTK against the completed value and FKSTK against the open value. If LFSTK shows completed and FKSTK shows open or partially processed, the delivery side is closed and the gap is on the billing side - check VBRK/VBRP for a missing billing document or a blocked billing due list entry rather than assuming a delivery problem.

ECC vs S/4HANA

VBUK continues to exist as a physical table in S/4HANA and is still populated and read exactly as in ECC; there is no compatibility view replacing it because the status logic and simplified sales document model kept the same header/item status split. Custom code and queries built against VBUK on ECC continue to work unchanged on S/4HANA. The status fields themselves have not changed meaning across releases known with certainty.

Common pitfalls

  • Treating GBSTK or LFSTK equal to completed as proof every item is closed - the header status is an aggregate and a single open item can sometimes still show a header status that looks closed depending on how partial processing is configured, so cross-check VBUP for the item detail before reporting an order as fully resolved.
  • Assuming VBUK updates in real time during a batch run - status recalculation can lag slightly behind the triggering document change if update tasks are queued, so a status read immediately after a delivery post may still show the old value for a few seconds.
  • Using CMGST alone to explain why an order is stuck - credit status can show as released while the order is still blocked for a completely different reason such as a pricing incompletion or a delivery block set independently on VBAK.
  • Filtering large selections directly on VBUK status fields without joining to VBAK first, which returns results spanning every sales organization and document type in the client and produces a report nobody can use.
  • Forgetting that ABSTK (rejection status) is independent of GBSTK - a document can carry a completed overall status while individual items are rejected, which shows correctly in ABSTK but is invisible if only GBSTK is checked.

Whose problem this is

Status discrepancies on VBUK are an SD functional question first - the SD consultant configuring order and delivery types, copy control and status profiles owns the logic behind how status is derived. If the underlying update itself is stuck or delayed, that becomes a basis question about update task processing, not a data model question about VBUK.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tables/vbukERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.