Process Guide

SAP SD Rebate Processing — From VBO1 to Condition Contracts

Agreements · accruals · settlement · statuses · S/4HANA Settlement Management · Last updated September 2026

A rebate is a discount the customer earns but does not see on the invoice. It is paid later, once you know how much they bought. SAP has to track the volume, set money aside as the sales happen, and pay it out at the end — without ever charging the customer the rebate on the way.

This guide covers the classic SD rebate agreement end to end — prerequisites, condition types, accruals, business volume, settlement and statuses — and then what changes in SAP S/4HANA, where Settlement Management with condition contracts replaces it. If you work on a converted system, you will meet both.

01

What a rebate is

A rebate is a retroactive discount based on the business volume a customer reaches over a period — for example 2% of the year’s sales if they buy more than ₹50 lakh. Unlike a normal discount, it cannot be given on each invoice, because nobody knows yet whether the customer will reach the target.

Accounting still needs to reflect the obligation as it grows. So each invoice calculates what the rebate would be and posts it as an accrual — a provision — while the customer is charged the normal price. At the end, the rebate is settled: a credit memo pays it out and the accruals are reversed.

The one-line version: track the volume, accrue as you invoice, pay with a credit memo at the end. Classic SD does it with rebate agreements; S/4HANA does it with condition contracts.

02

Classic vs S/4HANA at a glance

Scroll the diagram sideways to see all of it →

SAP SD rebate processing: classic rebate agreement compared with S/4HANA condition contractTwo rows of four steps. Classic SAP SD rebate processing: a rebate agreement is created in VBO1; invoices post accruals with accrual key ERU; business volume is stored in the rebate index VBOX and old invoices are updated with VBOF; settlement in VBO2 creates a B1 credit memo request that is billed as a credit memo. SAP S/4HANA Settlement Management: a condition contract is created in WCOCO; invoices are standard billing documents; business volume is calculated on the fly and reviewed in WB2R_BUSVOL; settlement runs in WB2R_SC.Classic SD rebates (ECC)rebate agreement · no new agreements after S/4HANA conversionRebate agreementVBO1Invoicesaccruals · ERUBusiness volumeindex VBOX · VBOFSettlementVBO2 → B1 → credit memoSAP S/4HANA Settlement Managementcondition contract · the standard going forwardCondition contractWCOCOInvoicesstandard billingBusiness volumeon the fly · WB2R_BUSVOLSettlementWB2R_SC

The business process is the same in both: agree, invoice, measure the volume, settle. The objects and transactions change.

03

The classic rebate flow

1

Create the rebate agreement

VBO1

The agreement holds the partner (usually the payer), the validity period, the agreement type, and condition records for the rebate condition types — with a rate, and often a scale on the business volume. Each record also carries an accrual rate.

2

Bill as normal — accruals post automatically

VF01 / VF04

Every rebate-relevant invoice in the validity period finds the rebate condition in pricing. The condition is statistical on the invoice — the customer is not charged — but its accrual amount is posted to accounting, building up a provision while the sales happen.

3

Business volume builds up

VBO2 / VBO3

The invoices update the rebate index (table VBOX), which the agreement uses to show the business volume and accruals so far. Invoices created before the agreement existed are brought in retroactively with VBOF.

4

Settle — partial and final

VBO2 / VB(7

Partial settlements pay part of the rebate during the period. For the final settlement, set the agreement to status B (released for settlement) and carry out the settlement: SAP creates a rebate credit memo request (document type B1 for final settlement).

5

Bill the credit memo request

VF01 / VF04

The credit memo request is billed like any other. The credit memo reverses the accruals and posts the rebate as a sales deduction with a credit to the customer. Once billed, the agreement reaches status D.

04

Prerequisites and configuration

Rebates only work when several switches line up. When accruals are missing, it is almost always one of these.

01

Activate rebate processing for the sales organisation

SD → Billing → Rebate Processing → Activate Rebate Processing

Rebates must be switched on per sales organisation. It is off by default because the rebate index update costs performance on every invoice.

02

Make the billing type relevant for rebates

Same activity, billing types (or VOFA)

Only billing types flagged as relevant update rebate agreements. Typically F2, credit memos and debit memos are relevant; pro forma invoices are not.

03

Flag the payer as relevant for rebates

Customer master (BP) → sales area data → Billing tab → Rebate

The payer on the invoice must be rebate-relevant. Customers who never receive rebates are usually left unflagged to avoid unnecessary index updates.

04

Include rebate conditions in the pricing procedure

V/08 → customer pricing procedure

Add the rebate condition types (for example BO01–BO03) as statistical conditions, each with an account key and an accrual key, so the invoice posts accruals without charging the customer.

05

Maintain account determination

VKOA

Assign G/L accounts for the rebate account key (ERB, sales deductions) and the accrual key (ERU, rebate accruals), so both the invoice accruals and the settlement credit memo can post.

06

Review agreement types

SD → Billing → Rebate Processing → Rebate Agreements → Define Agreement Types

The agreement type controls which condition types can be used, the default validity, the settlement document types and whether manual accruals or payments are allowed. Most projects copy a standard type such as 0002 (material rebate) or 0003 (customer rebate).

05

Condition types and accruals

Rebate condition types belong to condition class C (expense reimbursement). They sit in the pricing procedure as statistical conditions, so the invoice calculates them without charging the customer.

Condition typeKey / basis
BO01Customer/material or customer/rebate group — percentage
BO02Customer/material — quantity-dependent (an amount per unit)
BO03Customer — percentage
BO04Customer hierarchy — percentage
BO05Customer hierarchy/material — percentage
BO06Independent of sales volume — a fixed amount
Accrual key

ERU — rebate accruals

Posted with every rebate-relevant invoice. It builds the provision for the rebate as the sales happen, using the accrual rate on the agreement’s condition record.

Account key

ERB — rebate sales deductions

Posted by the settlement credit memo, when the rebate is actually paid. At the same time the accruals built up under ERU are reversed.

Both keys are mapped to G/L accounts in revenue account determination (VKOA). Mixing them up — for example putting the rebate on ERS, the discount key — is a common reason rebate postings land in the wrong accounts.

06

Agreement statuses

StatusNameMeaning
AOpenThe normal working status. Invoices in the validity period update business volume and post accruals; partial settlements are possible.
BReleased for settlementSet manually when the agreement is ready to be settled. It does not mean “active” — a classic interview trap.
CSettlement createdThe final settlement has generated the rebate credit memo request (B1).
DFinal settlement carried outThe credit memo request has been billed. The agreement can no longer be changed.

The trap: many people assume status B means “active”. It means released for settlement. Accruals are posted while the agreement is open (A) and valid.

07

S/4HANA: condition contracts

In SAP S/4HANA, classic SD rebate processing is replaced by Settlement Management. After a conversion, no new rebate agreements can be created; existing agreements can still be used until the end of their validity period. New rebates are set up as condition contracts.

The biggest technical change is business volume. Instead of writing every invoice to the VBOX index, a condition contract calculates business volume on the fly from the billing documents when it is needed. That removes the index update from billing, and removes the need for retroactive updates with VBOF.

Classic rebate agreementS/4HANA condition contract
ObjectRebate agreementCondition contract
MaintainVBO1 / VBO2 / VBO3WCOCO
SettleVBO2 / VB(7 → credit memo request → billingWB2R_SC (check run, then live run)
Business volumeStored in the rebate index VBOX, updated by every invoiceCalculated on the fly from billing documents — no VBOX
Retroactive updatesVBOF to update old invoicesNot needed — volume is read directly from the billing documents
Review business volumeIn the agreement (VBO3)WB2R_BUSVOL
Availability in S/4HANANo new agreements after conversion; existing ones only until their validity endsThe standard solution going forward

Settlement in WB2R_SC is normally run as a check run first and then a live run, for partial or final settlement. Condition contract types, settlement calendars and the settlement document types are configured in Settlement Management rather than under SD rebate processing, so plan the design with that team early on a conversion project.

08

Troubleshooting

01

Invoices do not post rebate accruals

  • ·Rebate processing is not active for the sales organisation
  • ·The billing type is not relevant for rebates
  • ·The payer is not flagged as rebate-relevant in the customer master
  • ·The rebate condition type is missing from the pricing procedure, or has no accrual key
  • ·The invoice date is outside the agreement validity, or the condition record has no accrual rate

Fix: Open the invoice’s pricing analysis first: if the rebate condition was not found, the cause is in master data or the procedure; if it was found with zero accrual, check the accrual rate on the agreement’s condition record.

02

The agreement was created after invoices were already posted

  • ·Invoices created before the agreement existed never updated it

Fix: Run VBOF (Rebate: Update Billing Documents) for the period. It re-reads the rebate conditions on those invoices, updates business volume and posts the missing accruals.

03

The final settlement cannot be carried out

  • ·The agreement is not in status B (released for settlement)
  • ·Open billing documents for the period have not been updated or are blocked for accounting
  • ·The agreement is already in status C or D

Fix: Set status B in VBO2, make sure every invoice in the period is posted, then carry out the settlement again.

04

The rebate credit memo request is created but never billed

  • ·The credit memo request carries a billing block for approval
  • ·Copy control to the rebate billing type is missing

Fix: Check the billing block on the request and the approval process around it. The agreement only reaches status D once the request is billed.

05

After an S/4HANA conversion, users cannot create new rebate agreements

  • ·Classic SD rebate processing is replaced by Settlement Management in S/4HANA

Fix: This is expected. Existing agreements can run until their validity ends; new rebates are set up as condition contracts in WCOCO and settled with WB2R_SC.

09

Interview questions

Q01

What is the difference between a rebate and a discount?

A discount reduces the price on the invoice at the time of sale. A rebate is paid retroactively, after the period, based on the total business volume the customer achieved — so during the period it is accrued, not charged, and it is settled later with a credit memo.

Q02

What are the prerequisites for rebate processing?

Rebate processing active for the sales organisation, a billing type relevant for rebates, a payer flagged as rebate-relevant, rebate condition types with account and accrual keys in the pricing procedure, and account determination for them in VKOA.

Q03

Why is the rebate condition statistical on the invoice?

Because the customer is not charged the rebate at the time of sale. The condition exists on the invoice to calculate and post the accrual — a provision for the rebate that will be paid later — and to update the business volume.

Q04

What do ERU and ERB do?

ERU is the accrual key: it determines the accounts for the accruals posted with each invoice. ERB is the account key for rebate sales deductions, posted when the rebate is settled with the credit memo. Both are assigned to G/L accounts in VKOA.

Q05

What is VBOF used for?

To update billing documents retroactively — for example when a rebate agreement is created with a validity start date in the past. VBOF re-reads the rebate conditions on those invoices, updates business volume and posts the missing accruals.

Q06

What do rebate agreement statuses A, B, C and D mean?

A open, B released for settlement, C settlement created (the credit memo request exists), D final settlement carried out. Accruals are posted while the agreement is open — status B is not an “active” status.

Q07

What document does a final settlement create?

A rebate credit memo request, document type B1. Billing it creates the credit memo, which reverses the accruals and credits the customer with the rebate.

Q08

How does rebate processing change in S/4HANA?

Classic SD rebate processing is replaced by Settlement Management. Rebates are set up as condition contracts (WCOCO) and settled with WB2R_SC. Business volume is calculated on the fly from billing documents, so the VBOX index and VBOF are no longer needed. After conversion, no new rebate agreements can be created and existing ones can only be used until the end of their validity.

Q09

A customer’s rebate shows no accruals. Where do you start?

With the pricing analysis of one invoice. If the rebate condition was not found, check the sales organisation activation, the billing type, the payer’s rebate flag and the pricing procedure. If it was found but accrued nothing, check the accrual rate on the agreement’s condition record.

Where this sits in the SD landscape

Rebates ride on top of the normal Order-to-Cash process: the pricing procedure calculates the accrual on each invoice, revenue account determination posts it, and copy control turns the settlement credit memo request into a credit memo. On S/4HANA, the customer involved is a Business Partner.

Frequently Asked Questions

What is rebate processing in SAP SD?

Rebate processing lets a company pay customers a retroactive discount based on the business volume they reach over a period. In classic SAP SD this is done with rebate agreements: invoices post accruals during the period, and the rebate is paid later with a credit memo created by settlement.

What T-codes are used for rebate agreements?

VBO1 creates, VBO2 changes and VBO3 displays a rebate agreement. VBOF updates billing documents retroactively, and VB(7 settles rebate agreements collectively. In S/4HANA the successor uses WCOCO for condition contracts, WB2R_SC for settlement and WB2R_BUSVOL to review business volume.

What are the standard rebate condition types?

BO01 (customer/material or customer/rebate group, percentage), BO02 (customer/material, quantity-dependent), BO03 (customer, percentage), BO04 (customer hierarchy, percentage), BO05 (customer hierarchy/material, percentage) and BO06 (independent of sales volume). They belong to condition class C.

Why are my rebate accruals not posting?

The usual causes are rebate processing not activated for the sales organisation, a billing type not relevant for rebates, a payer without the rebate flag, a rebate condition type missing from the pricing procedure, or no accrual rate on the agreement’s condition record.

What is table VBOX?

VBOX is the rebate index used by classic SD rebate processing. Rebate-relevant invoices write to it, and rebate agreements read business volume from it. It is not needed with S/4HANA Settlement Management, which calculates business volume directly from billing documents.

Can I still use VBO1 in S/4HANA?

After a conversion to S/4HANA, no new rebate agreements can be created. Existing agreements can continue to be used until the end of their validity period. New rebates are handled with condition contracts in Settlement Management.

What is a condition contract?

A condition contract is the Settlement Management object that replaces the rebate agreement in S/4HANA. It holds the partner, validity, eligibility and rebate conditions, is maintained in WCOCO, and is settled — partially or finally — with WB2R_SC.

What is the difference between partial and final settlement?

A partial settlement pays part of the accrued rebate during the agreement period and can happen while the agreement is open. The final settlement closes the agreement: it calculates the rebate on the total business volume, deducts what was already paid, and creates the final credit memo request.

Rahul Narain Saxena, SAP SD Solution Architect

Written by

Rahul Narain Saxena

SAP SD Solution Architect with 17+ years of hands-on implementation experience across SAP ECC and S/4HANA. Every guide on The SD Vault is written from live project experience, not summarised from documentation.

Rebates are where interviewers test ECC and S/4HANA together.

“Why aren’t accruals posting? What does status B mean? What replaces VBO1?” The SD Vault has 230+ depth-graded questions and 38 real configuration scenarios — including a full rebate settlement scenario — that drill exactly these points.

Get Lifetime Access →

Or start free with the sample pack, Pricing Procedure guide, and Revenue Account Determination guide.