Skip to Content

Retro-Billing SD (VFRB)

Applies to

SAP ECC; Sales and Distribution; Billing.


Retro-billing is a process of issuing credit or debit memos after retroactive price adjustments

Created on

07 May 2013


Jyoti Prakash

Author Bio

Jyoti Prakash is SAP Certified Associate and works as Senior Resource for Order Management & After Market. Currently, focused in providing consulting services to their customers for support project on SAP Order Management, After Market, Project System, and Logistics Execution.

Table of Content

  1. Introduction
  2. Overview
  3. Prerequisite for using on Retro-Billing
    1. Billing Document for Retroactive pricing adjustment
    2. Condition record
    3. Order Reasons
  4. How Retro-Billing works on SAP
    1. Invoice & condition record – Existing
    2. Condition Record – Change
    3. Executing of Retro-Billing
  5. Related Content

1. Introduction

Out of those various business processes in billing is accommodates & reconciliation of the retroactive prices adjustment for number affecting existing invoices. The retroactive prices adjustment can be due:

  • Strong bargaining power of customer over
  • New pricing agreement between supplier
  • Volatile/change is price of essential commodities for manufacturing

to name a few.

This kind of prices adjustment can be handled by Retro-Billing. For instance, a new pricing agreement that you agreed with your customers may affect billing documents that have already been processed and settled. If that pricing agreement is effective before the pricing date of the billing documents, you can perform retroactive billing to call up a list of these documents and revaluate them with the new price. You can then create additional billing documents to settle any differences.

So, by definition & example of retro-billing, it can have a life cycle of months or sometimes beyond a year. Therefore this makes it a unique process.

2. Overview


Figure 1. Retro-Billing Process

On 01.03.2011, Supplier ships & sells 10 units of Material ABCD to Customer XYZ for INR 58 per unit (valid from 01.03.2011 to 31.12.9999), total amount INR 6653.30.

On 02.03.2011, invoice is sent to Customer for INR 6653.30.

Now on 01.07.2011, due to negotiations price may change to INR 68 w.e.f. 01.07.2011 (valid till 31.12.9999). Thus you will update your condition type in TCode VK11 / VK12 for this Material ABCD & Customer XYZ to INR 68 with validity from 01.03.2011 to 31.12.9999. But as you have already invoiced the customer in past so, to take care of this retroactive price adjustment you have an extra billing.

So, standard SAP platform provides the retro-billing transaction VFRB. This transaction provides basic retro-billing functionality enabling identification of invoice documents affected by retroactive price changes and execute creation of multiple documents.

In Retro-billing, enter the selection criteria like Payer, Sales Organization, Billing date from & to, Pricing type, Currency, Sold-to Party & Material.

By this system will provide you the list of invoices to which this retroactive price changes is applicable and hence you can simulate or even execute retro-billing & system will accordingly generate Credit/Debit memo type based on differential amount.

For positive retroactive price changes, i.e., INR 10 per unit price from former as INR 58 & revised as INR 68. In this case system will generate Debit Memo for the differential amount to be collect receivable from Customer. Whereas, for negative retroactive price changes, i.e., INR 15 per unit price from former as INR 58 & revised as INR 43. For this case system will generate Credit Memo for the differential amount to be pay back the differential amount to Customer.

These documents will get be in document flow of the original invoices.

3. Prerequisite for using on Retro-Billing

A. Billing Document for Retroactive Pricing Adjustment

      1. Retro Debit Memo
      2. Retro Credit Memo
      3. Corresponding relevant Copying Control
      4. Pricing procedure for capturing price change

B. Condition Record

      1. The value for base price should determined automatically in the invoice through condition record
      2. It should be maintain on the bases of Material & Customer combination
      3. It should be a have valid validity from & to date

C. Order Reasons

You need to maintain proper order reasons specific to retro billing document type for Credit/Debit memo.

4. How Retro-Billing Works on SAP

A. Invoice & Condition Record – Existing

You can use TCode VF05N for list of billing documents or invoices based on

      • Billing Document Date (to & from)
      • Billing Type,
      • Customer & Payer,

To view desired invoices with current base prices use TCode VF03.

In invoice, check item data – condition tab to view pricing.


In the invoice, to view corresponding maintained condition record for condition type, say, ZPR0. Selecting the condition type and click on /wp-content/uploads/2013/05/retro03_213653.pngbutton to view the maintained condition record.


B. Condition Record – Change

For changing in the existing condition record for base price condition type use TCode VK12. Choose key combination as Customer/Material. /wp-content/uploads/2013/05/retro05_213655.png

Provide the desired parameter for execution the condition records./wp-content/uploads/2013/05/retro06_213668.png

Maintain the change in price difference. Say, positive difference of INR 10 from former price INR 58 and revised price INR 68.


C. Executing of Retro-Billing

Use TCode: VFRB for exercising retro-billing option. Provide following parameter based on your requirement, but keeping mandatory fields in mind:

    • Payer (Mandatory)
    • Sales organization(Mandatory)
    • Billing date from(Mandatory)
    • Billing date to (Mandatory)
    • Pricing type(Mandatory)
    • Currency(Optional)
    • Sold-to party(Optional)
    • Material (Optional)


You have a option of include Invoices with the Same Net Values. This indicator defines whether invoices whose current net value is the same as the post-calculated net value should be included in the retro-billing list.

    • If the indicator is set, invoices with the same prices are included.
    • If the indicator is not set, invoices with the same prices are not included

For instance, Invoice was created with a price of 100 Units. After the unit price is reduced to 50 Units, the retro-billing list is used to create a coupon for 50 Units. If you discover later that this price reduction was incorrect and you set the price back to 100 Units, a retro-billing list only appears if this indicator is set.


Below you can find details of entries without error


Select the desire invoice/invoices for the list of entries without error and click on /wp-content/uploads/2013/05/retro16_213688.png button for simulation run.

Then following screen will appear for simulation run.


For generating Retro Debit/Credit memo click on /wp-content/uploads/2013/05/retro12_213693.png button./wp-content/uploads/2013/05/retro13_213694.png

You can click on /wp-content/uploads/2013/05/retro14_213695.pngbutton for viewing the generated retro billing. Green indicator confirms that the document generated without any

Subsequently you can view the generated Debit memo from retro billing by using TCode VF03.

5. Related Content

Disclaimer and Liability Notice

This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade.

SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document, and anyone using these methods does so at his/her own risk.

SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this document

You must be Logged on to comment or reply to a post.
  • Dear,


    The Legend always shall take Nice Doc for Folks on Critical Topics .


    Note : Thanks for updated here .I will read and update If I have doubts on it .





  • HI All


    Retro Billing is an excellent tool and we had configurd the reto billing process for our Customer for a business process in Australia where customer wants to track Price change and issue a credit note if a change is noticed. I can give the full fuctionality of the Z Development we had worked. It is called a Price Protection tool in our client it is a Retail marketing company and it works for customer who monitor price changes.


    Thanks JP for an excellent docuemntArvind

    • Thanks Arvind for your comments.



      Price Protection tool & Retail Marketing company


      It will be nice to see a doc on that Z Development  "Price Protection tool" for Retail marketing company and its associate business process & reason for that development.


      Best Wishes, JP

      • HI Jp


        I would surely do the Document Need some time. Just if you have some time Need one small help, I am posting a questioon please help me if online




  • Very Nice Sir, The business process and the steps to execute the document were very clear. Even a beginner like me could comprehend it.

    Please keep going, waiting for more more Works of Art !.

        • why do we use pricing type as C.Is it copying manually entered condition type as it is.?

          Yes. Any manually entered condition type will be copied. If you go for new pricing, it will impact your pricing, if it has manual condition, like freight.


          And clearly mention in prerequisite for VFRB:

          The value for base price should determined automatically in the invoice through condition record

          In addition, use of relevant pricing type in VFRB it totally depends on user/business process. I hope that answered your query.


          Did you try VFRB?


          Thanks, JP

    • Pradeep, Pradeep Mani


      In retro-billing, the system is comparing the "latest" (or revised) price and the un-revised (initial) price; then finding out the amount to populate in the billing document (could be credit or debit memo).


      In case of manual condition type; the revised price (latest) is unavailable in the system; so system can not conduct this function (automatically).

  • JP,


    Thanks for this document!


    The validity dates, in the condition records are unclear!


    1. On Aug 17, 2011 there is a new price (120$ per unit)

    Can a new condition record be created for the condition type, valid from 17-Aug-2011, with 120$? Rather than changing the existing condition record which has valid from 02-Mar-2011?


    Or this is done to explain retro-billing concept?


    2. VK12, screenshot - price changed from 58$ to 68$, why is the valid from date changed to 01-05-2011?

    • TW Typewriter


      Thanks for your comments. I got it right that is only for illustration purpose. 

      Even , you might observed difference in currencies. Initially, both are from different document of my repository. That is the reason you can observe the difference in currencies, amounts, quantities and dates as well.


      Thanks, JP

      • JP,


        Just that the dates (put randomly) confuse the process of learning! Anyway...


        When the price is negotiated as 120$, old price 100$; then is the condition record changed (changes in valid from & price)? or new condition record is created with new price and valid from date?

        OR both options are possible?



        • This document is conceptually overview of VFRB and not user guide. Generally, new pricing should that place in VK11. So, it will have care of all authorization workflow for introducing new pricing.



          • JP,


            The document is great for learning! and appreciated!


            Probably you can make a note (comment) at the start that the dates, currencies etc. are put randomly and should be taken as dummy examples.

            So that focusing on those information does not lead to undue confusion.


            The confusion was amplified because you had highlighted the dates in yellow.

  •   he document is great for learning! and appreciated!


    Probably you can make a note (comment) at the start that the dates, currencies etc. are put randomly and should be taken as dummy examples.

    So that focusing on those information does not lead to undue confusion.


    The confusion was amplified because you had highlighted the dates in yellow.





      I never come across people commenting to a blog is also copy pasted as like yours.  I am sorry to say this but I have to highlight here.  What you are going to benefit out of this?  Please please - dont follow this BAD practice for whatsoever reasons.  Whatever you wanted to convey, convey in your own style.

  • /
  • Dear J.P Sir,

    Your blog helped me a lot to configure Retro active process with out any issues.


    I am clear from SD point of view, but not from FI point of view.


    Debit memo is created with revised price say ( 120 Rs )

    Initial invoice value was 100, Customer already payed 100 rs

    Now new debit memo value is 120 with new price.


    But from FI Point of view,how this amount will be adjusted??

    100-120:20 Rs


    Thanks in advance.