Event-based revenue recognition (EBRR) in SAP S/4HANA has its origins in the public cloud and thus naturally follows cloud principles.
Thus, SAP has ensured easy setup, simplified period-end closing, and a high level of transparency and traceability through integration into the Universal Journal. These properties are applied in all business scenarios and are available on-premise too.
Revenue recognition postings are generated simultaneously with the source documents account assigned to the customer project and directly stored in the Universal Journal. In this way, a real-time matching principle is provided for cost of sales and revenues. This allows you to always have up-to-date margin reporting for revenue-generating cost objects such as customer projects or sales orders. Because market segment attributes are derived and stored in the journal entry too, you also get market segment margin reporting that is always current.
The figure below illustrates the general posting logic of EBRR with the example of the time confirmation on customer project. The source document—here, a time confirmation—creates two separate journal entries: one journal entry for the initial source document (here, the time confirmation posted as the management accounting document), and a second for the matching revenue recognition journal entry.
The revenue recognition method is derived depending on the contract type. Here, the revenue is calculated based on the selling price of the provided service—Platinum Consulting.
The calculated realized revenue is posted to the Revenue Adjustment P&L account and activated on the Accrued Revenue balance sheet account.
A posting overview based on a graphical t-accounts representation for the single process steps on a customer project is shown in the next figure. The general ledger accounts that are account assigned to the project are tagged with “PRO”.
This posting logic is the same for a cost-based POC method in a fixed-price contract type and time and material billing when revenues are recognized already with the confirmation.
Now, let’s discuss each of the three steps:
The revenue adjustment is a P&L general ledger account on which recognized revenues are shown temporarily. When the project is completed, this general ledger account will be balanced to zero—just like the balance sheet accounts for accrued and deferred revenue.
Now let’s turn to the next principle of EBRR.
EBRR is fully integrated with the general ledger, and the revenue recognition data is stored in the Universal Journal, just as cost and revenue data is. Thanks to this integration, you’re free of the limitations imposed by periodic processes and different table structures for the applications.
This principle avoids the need for any reconciliation between revenue recognition data and the general ledger. Regardless of which day of the month it is, cost and revenue information are reconciled and up to date. The same entities and semantics are used, such as the general ledger account, the ledger, or the currency fields. This also greatly simplifies the period-end close process.
As revenue recognition data is stored in the general ledger, the data inherits its functionality and its line item attributes (e.g., ledger, currency, and profitability segment), enabling new reporting insights.
Now let’s look at the figure below, which shows some revenue recognition postings created on the T&E contract type. The first journal entry is the manual accrual, the second is the reaction of the write-off, and the third is the EBRR journal entry for the time confirmation.
Let’s direct our attention to some key Line Items attributes:
Note: Controlling account assignments relevant for EBRR are, for example, WBS element, sales order item, and market segment. Controlling account assignments are mandatory for P&L accounts, for which a cost element has been defined. For EBRR balance sheet journal entry items, we also set a controlling account assignment, which, in this example, is the WBS element. The account assignment to a controlling object is the prerequisite for margin reporting on this object. In addition to the controlling account assignment, there can be additional (attributed) controlling objects in parallel added in a journal entry. In this example, the sales order item and the market segment are attributed.
In our example, margin analysis is activated, thus market segment attribution is applied for the EBRR journal entry items, causing the EBRR journal entries to be part of the margin reporting.
By being integrated into the general ledger, EBRR inherits another capability to update parallel ledgers with the option of different calculated values based on the ledger’s assigned accounting principle.
Let’s apply different EBRR revenue recognition methods per ledger:
When we now post, for example, a time sheet entry on the project, both ledgers are updated with the journal entries, but with different values in EBRR:
In the revenue-based POC method, revenues are first realized with billing. Thus, the 500 EUR costs posted from the time sheet needs to be deferred and posted on a WIP general ledger account instead of accrued revenue. EBRR uses a different P&L general ledger account too: instead of revenue adjustment, now Adjustment to Reserves for Unrealized Costs is used.
There is an IMG activity available to activate the parallel valuation. You get to the configuration shown in the next figure via menu path Controlling > Product Cost Controlling > Cost Object Controlling > Product Cost by Sales Order > Period-End Closing > Event-Based Revenue Recognition > Define Replacement Rules of Recognition Keys.
The replacement rules are defined per accounting principle. In our example, the following rules apply:
For the accounting principle IFRS, the revenue recognition method cost-based POC—reflected with key SPFC—is replaced with key SPFCR, revenue-based POC.
Note: Additionally, EBRR supports universal parallel accounting. Universal parallel accounting enables end-to-end parallel value flows, including EBRR.
A further advantage of the integration into the general ledger is the support for parallel currencies. In the next figure, we analyze the time confirmation on the project with its EBRR journal entry.
You see five columns for amounts in different currencies for the revenue recognition postings: the company code currency, global currency, object currency (defined in the customer project header), transaction currency, and a freely defined currency, which needs to be activated in configuration.
Now let’s move on to the next principle, where you’ll see that EBRR is highly integrated into logistics processes.
We always take the contract data from the corresponding logistics object: the sales order item, service order item, or service contract item. There is no separate EBRR persistence. This is especially valid for the billing data:
Let’s review the most important points of how logistics integration plays out in a public cloud customer project scenario:
Editor’s note: This post has been adapted from a section of the book Financial Accounting with SAP S/4HANA: Business User Guide by Jonas Tritschler, Stefan Walz, Reinhard Rupp, and Nertila Mucka.