Skip to Content

Revenue recognition in context of IFRS 15/ASC 606 with SAP #S4HANA Cloud made easy – Part 2/2

This is part of the small blog series where I would like to demo the process that we provide in SAP S/4HANA Cloud 1711 to support the requirements along the 5-step-model:

A consulting company started a contract with a client consisting of a bundle of one fixed price service and one periodic service contract type:

  • Fixed price service for an implementation
  • Periodic Service for maintenance

The contract price for the implementation is 10.000 EUR and for the maintenance 30.000 EUR. As the client signed the maintenance for one year jointly with the implementation he will get a 50% discount on the implementation.

Creation of the Project:

  1. Step: Identify the contracts with customers (IFRS 15.9 et seq.)

The SAP system identifies each customer project with bundling-relevant contract items as one revenue recognition contract.

  1. Step: Identify the separate performance obligations (IFRS 15.22 et seq.)

The system determines each bundling-relevant project billing item, respectively contract items of fixed price service and/or periodic service as distinct performance obligations.

  1. Step: Determine the transaction price (IFRS 15.47 et seq.)

The system identifies the total contract amount to be billed as the total transaction price.

  1. Step: Allocate the transaction price to the separate POs (IFRS 15.73 et seq.)

In the billing tab of a project the field “SSP” (standalone selling price) needs to be maintained for each service, bundling relevant performance obligation (POB).

Maintenance of SSP in billing tab of customer project

Once the project is saved, the transaction price is automatically allocated to each performance obligation based on the relative standalone selling price of each distinct item. The App ‘Allocated Revenue’ shows the allocated amounts for each performance obligation (POB).

App: “Allocated Revenue” for the created project

App: “Allocated Revenue” shows the allocated revenue for each service item (POB) of the project

Time Recording:

 Time recording for fixed price item, implementation

      5. Step: Recognize revenue when the entity satisfied a PO (IFRS 15.31 et seq.)

The final step is to determine for each performance obligation, when revenue should be recognized. Revenue is recognized when the performance obligation is fulfilled – that is for fixed price service, implementation, when time is recorded. The system records costs and recognizes revenue based on allocated amounts.

The time recording triggers in real-time the revenue recognition entry and recording contract asset based on the “allocated revenue”. The solution utilizes the universal journal, an optimized data structure to optimize journal ledger handling, and therefore provides at any point in time up-to-date information of the data in real-time.

The App “Revenue Recognition (Event-Based)-Projects” shows contract balances, contract assets and contract liabilities in the balance sheet, as well as the recognized revenue and costs for each performance obligation for every project in the income statement

The App “Revenue Recognition (Event-Based)- Projects”

The App “Revenue Recognition (Event-Based)-Projects” for item 1, implementation, after time recording is complete


Both items are billed together (implementation and maintenance). With the billing contract liability is recorded based on transaction price.

For item 1, implementation, the App “Revenue Recognition (Event-Based)-Projects” shows updated account balances in the income statement and balance sheet after billing.

The App “Revenue Recognition (Event-Based)-Project” for item 1, implementation, after billing

For item 2, maintenance, the App “Revenue Recognition (Event-Based)-Projects” shows the account balances in the income statement and balance sheet after billing.

 The App “Revenue Recognition (Event-Based)-Project” for item 2 maintenance, after billing

First Period End:

With the first period-end run netting of contract assets and contract liabilities occurs for item 1, implementation. For item 2, maintenance, revenue is recorded, and the deferred revenue is reduced by the amount of the recognized revenue. In addition, clearing on contract header occurs.

Period-end run is executed via the App “Run Revenue Recognition – Projects”. 

Item 1, implementation:

With the first period-end run netting of contract assets and contract liabilities happens. The remaining balance is on contract assets as the “allocated revenue” of item 1, implementation, is higher than the “transaction price”.The App “Revenue Recognition (Event-Based)-Projects” for item 1, implementation, after first period-end run

Item 2, maintenance:

With the first period-end run revenue of 2.000 EUR (1/12 of the allocated revenue of 24.000 EUR) is recognized for the periodic service item and deferred revenue is reduced by the amount of the recognized revenue

The App “Revenue Recognition (Event-Based)-Projects” for item 2 maintenance, after first period-end run

Last period end run after 12 month

With the last period-end run nothing changes for item 1, implementation. The balance of 6.000 EUR on accrued revenue (contract assets) remains. For item 2, maintenance, the last portion of revenue is recorded, and the deferred revenue is reduced by the amount of the recognized revenue. The remaining balance of each project item, if the project is finished, is the difference between transaction price and allocated revenue. And as the transaction price is higher than the allocated revenue for item 2, a remaining balance of 6.000 EUR stays on deferred revenue (contract liabilities).

As the project is completed, revenue is fully recognized no remaining balance on contract header for contract liabilities. (line 4 below screen shot)

For more information on SAP S/4HANA Cloud, check out the following links:

Follow us via @SAP and #S4HANA, or myself via LinkedIn

You must be Logged on to comment or reply to a post.
  • Thank you Ulrich for your valuable input.

    I would like to ask if you can help me in the case I've a customer project which consider only cost based result analysis.

    That means during the project is in progress only actual costs are considered as WIP, and not revenues.

    Thanks in advance and regards,


  • to be more precise, the great majority of our projects are short-term (< 1 year).
    For these we apply the Completed contract valuation method: it considers all income and expenses
    as received only when work is completed, deferring the entire profit until completion. The monthly WIP
    is calculated according to standard costs incurred. Any purchasing or sales invoice is deferred until
    the end of the project.

    how to reach this result in customer projects in S4HANA CLOUD?

    thanks a lot,


  • Hi Chiara,

    thanks for the feedback and sorry for the late reply 🙂 Currently we do not support this method to my knowledge, but it is under discussion.



    • thanks a lot!

      I managed to do with manual adjustments for the moment, and to use automatic SPNFC key.

      But I've the following difference:

      when I launch REV.RECOGNITION based on events APP, I cannot see any value here, even though I've actual cost on projects

      why is this happening?


      I tried to launch ALLOCATED REVENUE APP too (you mentioned in your blogs), and this is showing no values too in my system (see below)


      is there some customizing steps to do?

      try to work with these values, but nothing changed 🙁


      Thanks a lot in advance for your valuable input!!