Rar 2
Rar 2
Our customer, who runs SAP S4H 2022, is a prestigious University that is in the need of recognizing
revenue as per IFRS 15. They generally invoice students at the beginning of the program, whose
length in months pretty much depends on the type of it. For example, an MBA is in average an 18-
month program, while a PhD can last 36 months or 48. Other programs can last only a few months,
for example, a 6 months Phyton training.
If the University invoices a certain amount of money to a customer (student) at the time the
student is onboarded to the program, that full amount of money cannot be recognized as revenue
on day 1, as the “service” is yet to be provided over a period of time (as explained above).
Current situation
We deeply analyzed the requirement and concluded that the right solution for this requirement is
using SAP Revenue Accounting and Reporting (RAR). So far, we think we did all the customizing
settings required to: 1) create a SD contract, 2) get the RAIs in the RAR Monitor (FARR_RAI_MON),
3) process the RAIs and get the RAR Contract and POBs. We know there are other stages to tackle
(month-end processes, account determination, actual FI postings, etc), but we want to make sure
we get, at least, the RAR Contract & POBs. Unfortunately, this is not happening. For some reason
we do not understand, step 3 is failing. We get the RAR contract created, but POBs have errors
(mandatory fields are missing). We updated a BRF+ decision table, but it looks like it is not working.
Remark: as we are not familiar with RAR and were in the need of following the “try - error”
approach, we decided to create a separate flow for SD (Contract -> Invoice). We basically
configured:
o We assign the item category ZVN to sales document type ZV and Item Category Group
“LEIS” (as we are using material type DIEN to create materials to represent the service
to be invoiced)
o We assign the new sales document type ZV to our Sales Area
o We created a new condition type called ZPCV (created with copy of PPCV) and we add
it to a new pricing procedure called ZSER01
o Sales and Distribution -> Revenue Accounting and Reporting -> Integrate with Revenue
Accounting and Reporting
o Sales and Distribution -> Revenue Accounting and Reporting -> Activate Functions to
Integrate with Revenue Accounting
o Sales and Distribution -> Revenue Accounting and Reporting -> Maintain Revenue
Accounting Item Settings
Remark: we did not add any entry in this customizing setting: Sales and Distribution ->
Revenue Accounting and Reporting -> Create Performance Obligation for SD Billing Item, as
we understand that this setting is only needed when a POB is not created in a contract and
has to be created with the invoice, which is not our case (maybe we are absolutely lost…)
- RAR Customizing:
Remark: we include in this list only those customizing settings where we added/changed
something. Many others were left as they are delivered by standard SAP, so they are not
mentioned here:
o Financial Accounting -> Revenue Accounting -> Inbound Processing -> Define Condition
Types for Standalone Selling Price and Right of Return
We add here the condition type ZPCV already mentioned before in this document (see
SD customizing for contracts)
o Financial Accounting -> Revenue Accounting -> Inbound Processing -> Maintain
BRFplus Applications
o Financial Accounting -> Revenue Accounting -> Inbound Processing (Classic) ->
Revenue Accounting Items -> Maintain Revenue Accounting Item Classes
o Financial Accounting -> Revenue Accounting -> Inbound Processing (Classic) ->
Revenue Accounting Items -> Generate Interfaces for Revenue Accounting Item Classes
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Configure Accounting Principle-specific Settings
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Assign Company Codes to Accounting Principles
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Define Posting Mode for Company Code
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts -> Open
and Close Revenue Accounting Periods
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Number ranges -> Define Number Ranges for Contracts
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Number ranges -> Define Number Ranges for Performance Obligations
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Number ranges -> Define Number Ranges for Run IDs
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Define Contract Categories
o Financial Accounting -> Revenue Accounting -> Revenue Accounting Contracts ->
Define Performance Obligation types
For us, this is pretty much all the customizing required to create a Contract in SD, get
the RAIs in the RAI Monitor and then process RAIs to get the RAR Contract and POBs.
Next chapter describes what we did in the BRF + application to derive POB attributes.
BRF plus setting
We realized, after running FARR_RAI_MON that the RAR contract was being created
successfully, but POBs had errors. Some mandatory fields were missing, so we updated
the DT_PROCESS_POB decision table and added the following rule:
Which can be translated like this: if the Company Code is CL11 (which is the
University), then the POB type should take the value EDUCATION and the Fulfillment
type should be T (Time based).
Next, will describe what we have right now ins terms of business process in S4H:
1. Contract
For this example I created a contract in VA41, which is valid from July 1st to December 31st. Each
month is a tuition of 500.000 CLP (Chilean pesos). The total tuition equals 3.000.000 CLP.
As it can be seen in the billing plan, we are planning to invoice everything upfront:
So, there should be only one invoice = 3.000.000 CLP.
2. RAI Monitor
If we go to the transaction FARR_RAI_MON and look for this SD contract, I can see this:
If I select all positions and push the “Process” button I get this:
Looks like good new, but if I Check the logs I see this:
As you can see, there is a message warning that the RAR contract 10000000018 has errors.
If I execute again transaction FARR_RAI_MON looking this time for “Processed items” I get this: