Implementing retroactive billing, available to you in SAP ERP Central Component 6.0, addresses the issue of changing pricing after invoices have already been sent. Learn the configuration steps needed to run retro-billing across modules in your SAP ERP system. Maintain your good customer relationships using this accurate, consistent business process.
Key Concept
Companies typically have agreements with customers to invoice them regularly during the fiscal year using different prices. To update prices at the end of that period, you can implement retroactive billing, or retro-billing – a process that automatically adjusts invoices based on new prices defined retroactively, generating the corresponding credit or debit notes. If you bill customers on a regular basis, but are then faced with having to correct invoices already posted, you can implement the SAP-provided tools for not only adjusting the posted invoices to reflect the new prices (e.g., changes in market values), but also to monitor this process. SAP’s retro-billing process available enables you to automatically adjust the invoices based on the new prices defined retroactively, automatically generating the corresponding credit or debit notes. Additionally, SAP offers many standard tools to monitor this process.
The main benefits of the retro-billing functionalities include:
- Improving a company’s revenues
- Streamlining the invoice processes for a specific period (i.e., a fiscal year)
- Helping to plan and manage a company’s cash flow
- Improving the customer relationship and satisfaction
- Helping to plan and manage the customer’s cash flow
The retro-billing process also produces a history of sales orders and the effects that the changes have on your customer accounts. This information can be invaluable to your organization.
Using a fictitious business case, you will walk through the retro-billing process. Your first task will be to display the condition price for the customer with which you already have an agreement and to which an invoice has already been sent. Although you will be using a sales order as reference to the billing document in this article, you can apply retro-billing to all other SD documents.
Note
The audience for this article is logistics consultants and anyone working in SAP logistics modules or in blueprints for future logistics implementations.
Note
The article is based on the latest version of SAP ERP Central Component (SAP ECC) 6.0, and specifically relates to the SAP sales and distribution (SAP SD) and SAP Logistics Execution-Shipping (LE-SHP) modules.
Create New Price Conditions Retroactively
In this first step, you define the new price conditions to be applied retroactively to all relevant billing documents already posted in the system, based on current customers and financial department agreements.
Step 1. To create a new price condition retroactively for the condition type PR00, use transaction VK11 or follow the menu path from the main SAP screen Logistics > Sales and Distribution > Sales > Master Data > Price Conditions > Maintain.
Step 2. As shown in Figure 1, enter the sales organization (i.e., 0004), distribution channel (i.e., 04), and customer (i.e., 1) values for the material (i.e., number 3, FERT Test Material) beginning January 31, 2009 through December 31, 2009.

Figure 1
Check new price defined retroactively
Simulate and Save Retro Billing
Next, you need to run transaction VFRB to simulate the postings, so you can check the results and then share them with your sales and finance managers. Once the simulated posting have been approved by sales and finance, you can save the results. You use the same transaction for saving the retro billing results as you would for simulating the retro billing itself.
Step 1. To simulate or save the retro-billing posting, use transaction VFRB, or follow menu path Logistics > Sales and Distribution > Billing > Billing document > Retro-Billing.
Step 2. As shown in Figure 2, enter the customer (i.e., Payer 1), sales organization (i.e., 0004), retroactive billing period (i.e., 31.03.2008 ? 31.03.2010), and price type B, which means that the system carries out a completely new pricing and re-determines the taxes.

Figure 2
Selection screen of the retro-billing program
Step 3. Click the execute icon at the top left of the screen to run the retro-billing program. The system provides the details of the retro billing for the customer.
At this stage, you have two options: one is to simulate the retro-billing posting results and another is to post the retro-billing documents. In this specific example, I have chosen to Simulate the results before the actual postings as shown in the (Figure 3).

Figure 3
Output screen of the retro-billing program
The results show the current value (i.e., 1.500, 00) and retro-billing value (i.e., 50, 00) for each billing documents and the billing dates (i.e., 25.03.2009 and 31.03.2009), respectively.
At this point, you have two options for dealing with the information:
- Simulation mode. If you want to simulate the retro-billing, click the Simulate button. This mode gives you the opportunity to pre-evaluate the credit and debit memo figures, and also share the results to the finance and sales managers.
- Posting mode: If you are confident that the information in the retro-billing is accurate, you can post the retro-billing. Upon the approval of the sales and financial managers, you use this mode to post the actual credit/debit memo documents.
Step 4. If you choose to simulate the retro-billing, you can specify the outcome you want: credit memo document with a credit memo reason code or debit memo document along with a debit memo reason code. You can choose both documents with both reason codes. If you want to post credit and debit memo documents for a specific customer at the same time, you need to select both document types. However, this is usually per document type. In this case, select CM (retro-bill) with the standard SAP code G2 and then CM RB reason code 100 (Figure 4).

Figure 4
Specify the credit and debit memo document type with reason codes
Note
In standard SAP systems, the reason code 100 is used for a credit memo and the code for debit memo is 200. If necessary, you can create other reason codes based on your company’s requirements.
Figure 5
Figure 5
Results of retro-billing simulation program
As you can see, only credit memos are generated, as specified (Figure 4).
Note
To run the program in posting mode, click the Retro-billing button. You don’t have the option of specifying the outcome (Figure 3). The screen that appears is similar to the one shown in Figure 5 with one notable exception: there is only a Log button.
Step 6. Click the Log button. The system displays the details of the errors occurred during the document posting. As shown in Figure 6, the credit memo was created but not released to accounting.

Figure 6
Credit memo created via retro-billing
The credit memo has been created (in the SD module) under the document number 9000019, but it has not been released to the FI and CO modules because of the error in the account determination. You need to release the credit memo to FI and CO. The releasing happens automatically if the account determination has been defined correctly in customizing.
Display the Retro-billing Document
To address the error, you need to update the billing document. In this case, you enter the document number 9000019.
Step 1. To display the credit memo and update the document data, you first need to update the billing document. Use transaction VF02 or follow menu path Logistics > Sales and Distribution > Billing > Billing Document > Change.
Step 2. Enter the credit memo document number (i.e., 9000019), and press the Enter key. See Figure 7. Note that the net value is automatically determined based on the retro-billing program.

Figure 7
Update the credit memo in the line item overview screen
Note
To see the details of the accounting documents associated with the SD document, click the Accounting button. To see a list of billing documents, click the Billing documents button.
- You can only work with the full retro-billing amount. It is not possible to process partial amounts.
- The system does not carry out a tolerance check on the net value. Also, it does not take into account different value-added tax (VAT) amounts for one item. All conditions other than the retroactive billing amount are determined automatically.
- The system does not update the list automatically (Figure 3)
Step 3. Next, select the billing line item and click the condition symbol (or follow menu path Goto > Item > Item condition). All price conditions applied to the credit memo are displayed, as shown in Figure 8.

Figure 8
Update the credit memo
Note that the difference between the invoice previously posted (document number 90000013), and the new credit memo (document number 90000019) has been defined using the price condition PDIF. Also note that the active condition type for the credit memo is PDIF - Diff.value (own) of 50, 00 EUR and the price condition PR00 - Price of 120, 00 EUR has been deactivated.
To find the root causes that prevent the automatic releasing of the credit memo, you must analyze the account determination, which was identified as an error (Figure 5).
Step 4. Select the billing line item, and then follow menu path Environment > Acc. determination analysis > Revenue accounts. The system provides details about the access sequence related to the account determination (Figure 9).

Figure 9
Account determination details
Note As indicated in
Figure 10, no valid general ledger (G/L) account has been maintained to post the credit memo. To specify the appropriate G/L account, the system administrator uses the customizing transaction VKOA for the appropriate combination (e.g., Chart of Account INT, Sales Organization 0004, Material Account Assignment Group [AcctAssgGr] 01, Customer Account Assignment Group 01 [Acc assignment grp], Account key ERS).
Note that this step is part of the customizing and should have been performed before the actual postings.
For information about transaction VKOA, go to the “Define G/L account determination” section in the “Appendix: Customizing settings” section following this article.
Release the Retro-billing Document to Accounting
With the G/L account specified, you can now release the credit memo to FI and CO modules.
Step 1. Use the transaction VFX3 or follow menu path Logistics > Sales and Distribution > Billing > Billing Document > Blocked Billing Docs (Figure 10).

Figure 10
Selection screen of the billing release program
Step 2. Specify the appropriate selection screen (populating at least the Payer and Sales Organization fields, and checking the appropriate check box in the Incomplete due to section), and run the report. The system provides the details of the billing document (i.e., the blocked credit memo document), as shown in Figure 11.

Figure 11
Output screen of the billing release program
Step 3. To release the credit memo document, select the line item and then follow menu path Edit > Release to Accounting (Figure 12).

Figure 12
Credit memo release
Display the Logistics Retro-billing Document
In every posting in the SAP system, you always have one logistics document and at least one finance document. To verify that, after the retro-billing program has run, the logistics document has been created correctly.
Step 1. To display the logistics document associated with the credit memo, use transaction VF03 or follow menu path Logistics > Sales and Distribution > Billing > Billing Document > Display.
Step 2. Enter the credit memo document number and press the Enter key.
Step 3. To display the account assignment details, follow menu path Environment > Acc. Determination analysis > Revenue accounts (Figure 13).

Figure 13
Main screen to display the credit memo
As shown in Figure 14, you can see the G/L account has now been specified.

Figure 14
Display the G/L account in the credit memo document
Display the Finance Retro-billing Document
You can display the finance document associated with the credit memo to verify that the document has been created and that the associated accounting document has been posted correctly.
Step 1. Use transaction VF03 or follow menu path Logistics > Sales and Distribution > Billing > Billing Document > Display.
Step 2. Enter the credit memo document number and click the Accounting button (Figure 13). The system displays the information shown in Figure 15.

Figure 15
Display the accounting document associated with the credit memo
Display the Customer’s Balance
Next, you want to verify that the customer’s account balance reflects the credit memo.
Step 1. To display the customer’s balance, use transaction FD10N or follow menu path Logistics > Sales and Distribution > Credit Management > Account > Display balances.
Step 2. Enter the customer whose balance you want to verify (Figure 16).

Figure 16
Selection screen for customer’s balance report
Step 3. Run the report. The system displays the details of the customer account, as shown in Figure 17.

Figure 17
Output screen for customer’s balance report
You can see the debit and credit of the customer split by periods, and in particular, the posting done in April per the example.
Step 4. To check the details of those postings, double-click the line item. As shown in Figure 18, the system provides the related information.

Figure 18
Details of the customer’s balance in the period of April
Payment Processing
As part of any billing process, you need to schedule the credit memo processing job, which typically occurs in the background.
To schedule the job to process the credit memo in the background, use transaction F110 or follow menu path Accounting > Financial Accounting > Accounts Receivable > Periodic Processing > Payments. Figure 19 shows the report with the payment results.

Figure 19
Log of the payment run
Sales Order History
By looking at the sales order history, you are able to see the logistic and financial credit documents created automatically by the retro-billing process.
Step 1. To display the sales order history, use the transaction VA03 or follow the menu path from the main SAP screen Logistics > Sales and Distribution > Sales > Master Data > Sales Order > Display.
Step 2. Enter the sales order document number and choose the history option. The system shows the details reported (Figure 20).

Figure 20
Details of the sales order history
Appendix: Customizing Activities in the SAP System
This appendix lists the customizing settings I applied to test the retro-billing process in a standard SAP system.
1. Define Order Reasons
To make the credit and debit memos and memo requests relevant for retroactive billing, you need to assign to them a relevant retro-billing order reason, as follows:
- For primary documents, assign type 2
- For secondary documents, assign type 1
SAP differentiates between primary and secondary documents. Primary documents are:
- Invoices
- Credit memos that refer to returns
- Credit and debit memos in which you have entered the relevant order reason
Secondary documents are the following billing documents in which you have entered the relevant order reason:
- Credit and debit memo requests
- Credit and debit memos
The system displays such a document only when it has been created with reference to the invoice and when the currencies in both documents match.
To define custom order reasons, use transaction OVAU or follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Order Reasons (Figure 1).

Figure 1
Define order reason
Here are all codes relevant for a credit and debit memo request and credit and debit memo used for retro-billing. In this article, I used the code 100 to generate the credit memo request.
2. Define G/L Account Determination
To define the G/L accounts determination to release the logistics billing documents to the FI and CO modules, you can use transaction VKOA or follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG > Sales and Distribution > Basic Functions > Account Assignment/Costing > Revenue Account Determination > Assign G/L Accounts (Figure 2).

Figure 2
Selection screen to define the G/L account assignment
Depending on the business strategy provided by your financial department, there might be additional options other than these four shown in the Figure 2. In this article, I used the first option to show how the G/L account can be determined for the combination of Customer Group/Material Group and Account Key (Figure 3).

Figure 3
Output screen to define the G/L account assignment
Note that the G/L Account (701010), provided by the finance department, is determined by the combination of the other settings: V, KOFI, INT, 0004, 01, 01, and ERS.
3. Display Condition Type (PDIF)
The standard price condition PDIF should be present in your system. To check, use transaction V/06 or follow menu path Sales and Distribution > Basic Function > Pricing > Pricing Control > Define Condition Types > Maintain Condition Types (Figure 4).

Figure 4
Check the settings for the price condition PDIF
4. Define Price Procedure
Because the system posts the difference with the condition type PDIF, which is used when creating credit or debit memos, you need to make sure that the price condition PDIF is included in the price procedure. Use transaction V/08 or follow menu path Sales and Distribution > Basic Function > Pricing > Pricing Control > Define And Assign Pricing Procedures (Figure 5).

Figure 5
Check the price procedure that includes the price condition PDIF
5. Define Price Procedure Determination
Make sure that the price procedure is assigned to the relevant sales combinations. To do so, use transaction OVKK or follow customizing menu path Sales and Distribution > Basic Function > Pricing > Pricing Control > Define Pricing Procedure Determination (Figure 6).

Figure 6
Assign the pricing procedure to relevant sales combinations
Note
To process for payments the credit or debit notes, make sure the customizing settings related to the payment program (transaction F110) have been completed via customizing transaction FBZP. There are no special settings to be done to process the retro-billing related documents.

Gaetano Altavilla
Dr. Gaetano Altavilla is a senior SAP practice manager. His focus is on pre-sales, delivery of SAP application solutions for large international corporations, and SAP knowledge management in Europe, the Middle East, and Africa (EMEA).
In his 18 years of SAP application experience working for many multinational companies, such as Procter & Gamble and Hewlett-Packard, he has covered a wide range of ERP logistic areas, focusing on the MM, WM, SD, LES, PP, PP-PI, PLM (QM, PM, PS) modules, as welll as CRM (TFM), SRM (EBP), SCM (SAP APO), and MES (ME) components.
Dr. Altavilla holds a degree with first-class honors in mathematics from the University of Naples and is certified in many SAP modules: SAP Logistics Bootcamp, SAP MM, SD, LE (SHP/WM/LE), PP, PLM (PM, QM, PS), SRM, CRM, SCM (APO), SCM (TM), FI, CO, and Solution Manager. He also has experience in ABAP/4 and application link enabling (ALE) and IDocs. He has participated in numerous industry conferences, such as the SAP Skills Conference in Walldorf at SAP SE.
You may contact the author at Gaetano_altavilla@hotmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.