Skip to Content
Technical Articles
Author's profile photo RSSV Prasad Atmakuri

Revenue Postings in RAR


This blog starts by providing a brief Introduction to IFRS (International Financial Reporting Standard) 15 – Revenue from Contracts with Customers and then explains the posting Process in SAP RAR. Also, it provides high level overview of direct posting functionality


Consultants/ Business users/ IT auditors


Understand the posting process in SAP RAR

Get an overview on Direct posting functionality in SAP RAR

Configuration for Direct posting

Introduction to IFRS 15

The main objective of the new standard IFRS 15 is to provide a single, comprehensive revenue recognition model for all customer contracts, improving comparability within and across industries and across capital markets.

The principles in the standard will be applied using a five-step model:

  • Identify the contract
  • Identify the performance obligations in the contract
  • Determine the Transaction price
  • Allocate the transaction price to performance obligations
  • Recognize the revenue


Recognizing the Revenue is the last step in the five step model and it is very crucial step. How to recognize the revenue is determined by the Performance obligation fulfillment type. There are 3 different fulfillment types as below.

  • Event Based
  • Time Based
  • Percentage of completion

Revenue will be recognized when a performance obligation (POB) is fulfilled.

If the POB is Event based, revenue will be recognized on the occurrence of certain event (example, Goods delivery, Acceptance date, proof of delivery etc.)

If the POB is time based, revenue will be recognized on certain time or by passage of time.

If the POB is Percentage of completion, revenue will be recognized over a time based on the percentage of completion of activity.


Revenue Posting in SAP RAR  

Revenue recognition in RAR is mainly handled with 3 programs which are as below

  • Transfer Revenue (Also called as Program A)
  • Calculate Contract liabilities and Assets (Also called as Program B)
  • Revenue Posting run (Also called as Program C)


To recognize the revenue, business users have to execute the above three programs in sequence and post the accounting entries. Lets us try to understand the three programs in a high level.

Transfer Revenue:

You can transfer revenue and cost to the revenue accounting subledger, and also calculate the exchange rate difference from the foreign currency revaluation which generates invoice records from the simplify invoice process.

Calculate Contract liabilities and assets

Revenue Accounting can calculate contract liability and contract asset, or unbillable receivable and deferred revenue, at performance obligation level. The calculation result can be posted either at performance obligation level or contract level. If contract liability and contract asset have been aggregated at contract level, you can also distribute them at performance obligation level by implementing a BAdI.



Revenue Posting Run

In this step, we execute the posting run program in order to generate the revenue posting document

Users have an option to run the posting either in simulation mode or in update mode. Simulation mode gives flexibility to users to validate the amount even before posting and once everything is fine, users can proceed to post in update mode.

Concept of Direct Posting


Revenue Accounting and Reporting works similar to the concept of subledger. Every Accounting entry generated in RAR for revenue recognition is first recorded in RAR (FARR_D_POSTING table )and will be pushed to ACDOCA table for recording in GL level.

With the latest RAR 2021, we have the flexibility to post directly in to FI GL – ACDOCA table with out making a posting in RAR (FARR_D_POSTING) table.

Direct Posting

You can enable direct posting if you want to have close integration with the universal journal by posting directly to the universal journal without Revenue Accounting (RAR) subledger persistence. Such a mechanism is called direct posting for the posting mode.


To enable direct posting, you need to activate direct posting in Customizing for Revenue Accounting under Revenue Accounting Contracts  Define Posting Mode for Company Code.



Create Number ranges


Where do we use

We can use the direct posting on company code level, to achieve following

  • Direct Posting to Universal Journal with out posting to RAR sub ledger
  • Smaller posting granularity because posting takes place for each revenue accounting contract
  • Event-triggered postings are enabled for revenue and cost recognition postings.

When we activate the Direct posting, we need to keep in mind the following points

  • No data will be generated in RAR – FARR_D_Posting table
  • No need to run the Program C – Start Revenue Posting run program
  • We will continue to run Program A and Program B for Time based POBs and Contract Asset/ Contract liability calculations
  • Posting documents are generated at contract level.

Process Execution Using Direct Posting Approach

Let us create one Contract and post using the direct approach.

Sales contract Created


RAI processed


After the sales order is proceed in FARR RAI MON, Revenue contract is created as below


The contact has only had the time based POBs, so revenue will be recognized on passage of time. Since we are following the approach of direct posting, as soon as we run the Program A, system will post the accounting entry as below.

To recognize the contact liability / asset for the contract, we have to run the Program B.

 As you might have observed, we are able to post and recognize the revenue directly in ACDOCA with out running program C, this is possible only with direct posting functionality.

Error Handling

When a direct posting is in place, it is possible that error can occur due to many reasons. let us try to understand how to handle each error.

  • If the Errors occurred during processing of RAIs, then we can push the RAIs to the status postponed and analyze the error them later.
  • If the errors occur while running program A, then we can post the revenue postings to next period.


Direct posting functionality is introduced with RAR 2021 version. It can be activated by present customers who are using RAR and also customers newly implementing it. For existing customers, when we activate his functionality, it will be activated prospective only.

It is not recommended for the customers with High volume of transactions and postings.  Also, to have the direct posting functionality, customers must use the Optimized contract management aka Contract management functionality. It is not supported with classic contract management.

Hope this blog gives you reasonable understanding on the approaches of Revenue Posting in RAR


Special Thanks to my friend and ex colleague Uday Dasthakur for his inputs and Thanks to Mani singhal for her for review feedback 🙂

RAR Overview blog


Thanks & Regard




Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Pavan Kumar Arvapally
      Pavan Kumar Arvapally

      Well Explained...Thank you

      Author's profile photo Parag Davda
      Parag Davda

      Excellent, thanx alot for details explanation. Great efforts, Hats off

      Author's profile photo Krishna Prasad Balanagu
      Krishna Prasad Balanagu

      very informative .. thanks prasad for the efforts

      Author's profile photo Amarender Challa
      Amarender Challa

      Good information. Thanks for sharing this.

      Author's profile photo Madhusudhan T C
      Madhusudhan T C

      Thanks RSSV Prasad Atmakuri for sharing the knowledge.

      Author's profile photo Sanil Bhandari
      Sanil Bhandari

      Very good explanation RSSV Prasad Atmakuri

      Author's profile photo PRABHAKAR RAO

      Thanks prasad for detailed explanation




      Author's profile photo Minakshi Karan
      Minakshi Karan

      Great blog Prasad. Much thanks for sharing the knowledge.

      Author's profile photo Christine DANDOIS
      Christine DANDOIS

      Hello Prasad,

      For Direct Posting, as we don't run program C anymore, how can user close the RAR period in production? There is no such option of closing the period made available in Program B for customer using Direct Posting. Do you know if this a planned development? Or will customers using Direct Posting have as only option to close the period in customizing in dev system and then transport all the way to production?

      Thank you,