SAP tableObjectVBRPModuleSD_O2C

VBRP table — VBRP Billing Document Item Data

VBRP stores one row per billing document item: the material, quantity, and net value billed, plus pointers back to the sales order item (AUBEL/AUPOS) and the delivery or order item that generated the billing line (VGBEL/VGPOS). It is the item-level counterpart to the billing header table VBRK and is the table to query when a customer disputes an invoiced amount or quantity.

VBRP holds the item-level detail of every billing document created in SD, whether invoice, credit memo, debit memo, or cancellation. This page covers the fields that matter for tracing a billing line back to its order or delivery origin, the joins consultants actually write, and the mistakes people make when reading FKIMG, NETWR, and the reference fields.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,024 words

What it stores

Each VBRP row is one item on one billing document: a specific material or service line, its billed quantity, and the net value posted to that line. A billing document header in VBRK can have many VBRP items, exactly as a sales order has many VBAP lines. VBRP is populated when a billing document is created, whether via order-related billing, delivery-related billing, or manual credit and debit memo creation. Cancellation documents also produce VBRP rows, carrying the same item data with a reversing sign relationship to the original. The table is where quantity and value actually billed live; it does not itself carry pricing condition breakdowns, tax logic, or accounting postings, those sit in related pricing and FI tables. Read VBRP whenever the question is what was invoiced, not what was ordered or delivered.

Key fields

  • MANDT - client
  • VBELN - billing document number, joins to VBRK header
  • POSNR - billing item number
  • AUBEL - sales order number the item bills against
  • AUPOS - sales order item number
  • VGBEL - preceding document number (order or delivery, depending on billing route)
  • VGPOS - preceding document item number
  • MATNR - material number billed
  • ARKTX - short text describing the item
  • FKIMG - quantity actually billed, in the billing unit
  • NETWR - net value of the item in document currency
  • WAERK - document currency
  • PSTYV - billing item category
  • WERKS - plant
  • VKBUR - sales office
  • VKGRP - sales group
  • SPART - division
  • FKSTO - cancellation indicator for this item

How it joins the data model

  • VBRP-VBELN = VBRK-VBELN, the billing header carrying date, payer, and accounting status
  • VBRP-AUBEL = VBAP-VBELN and VBRP-AUPOS = VBAP-POSNR, the sales order item that authorised the billing
  • VBRP-VGBEL = LIPS-VBELN and VBRP-VGPOS = LIPS-POSNR when the billing route is delivery-related, not order-related
  • VBRP joined through VBFA (VBELV/POSNV to VBELN/POSNN) to trace the full order-delivery-billing chain in one query
  • VBRP-VBELN+POSNR against pricing tables via the condition document number carried on VBRK, for reconstructing the price breakdown of a specific line

How to read it safely

Always restrict by MANDT and by VBELN when the billing document number is known; VBRP is large in any live system with years of billing history, and an unrestricted read on MATNR or WERKS alone will scan the whole table. When searching by material or customer, filter first by a date range on VBRK-FKDAT or by sales organisation, then join into VBRP, rather than filtering VBRP directly on fields it does not carry well for selectivity such as ARKTX. FKIMG is signed for credit memos and cancellations, so a raw sum across mixed document types produces a misleading total; always group by billing category or filter FKSTO before aggregating.

How to prove it in the data

Customer claims an invoice line shows a different quantity than the delivery. Pull VBRP for the billing document and item, note VGBEL and VGPOS, then read LIPS with that document and item number to compare LIPS-LFIMG against VBRP-FKIMG. A mismatch confirms partial billing or a manual quantity override at billing; identical quantities push the investigation back to pricing or tax, not quantity.

ECC vs S/4HANA

VBRP remains a transparent table in S/4HANA and continues to be written by the same billing processes. Reporting and analytics increasingly go through CDS views built on top of VBRK and VBRP rather than direct table reads, but the underlying table structure and its core fields are unchanged for standard SD billing. Custom reports and interfaces that read VBRP directly continue to work; new Fiori-based billing reporting typically sits on the compatibility CDS layer instead.

Common pitfalls

  • Assuming VGBEL always points to the delivery. For order-related billing with no delivery step, such as service or intercompany billing, VGBEL points to the sales order, not a delivery document; checking LIPS against the wrong assumption returns nothing and looks like a data error when it is not.
  • Summing NETWR across a billing document run without excluding cancelled items. Cancellation billing documents create their own VBRP rows with FKSTO set; ignoring this doubles or nets out revenue incorrectly in ad hoc reporting.
  • Treating FKIMG as the definitive billed quantity when the item is a value-only line, such as certain freight or service items, where quantity carries no real business meaning and the money figure in NETWR is what actually matters.
  • Expecting one VBRP item to map to exactly one VBAP item. Collective billing and item splits mean several sales order items can consolidate into one billing item, or one order item can be split across several billing items across different currencies or plants, so AUBEL/AUPOS is not a guaranteed one-to-one key.
  • Reading NETWR as the final invoiced value the customer pays. Tax, cash discount, and header-level condition adjustments on VBRK are not reflected in the item's NETWR alone; the payer's actual liability comes from the header total plus tax tables, not from summing VBRP rows in isolation.

Whose problem this is

Billing content and item category configuration sit with the SD/O2C functional consultant. Disputes about whether a specific quantity or value on an invoice is correct usually start with the billing or order desk, escalating to SD configuration only when the item category or copy control rules themselves are suspected of producing wrong values.

Related SAP objects

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

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