Revenue recognition in context of IFRS 15/ASC 606 with SAP S/4HANA Cloud made easy – Part 1/2
The International Accounting Standards Board (IASB) and Financial Accounting Standards Board (FASB) have jointly issued the new revenue standards, IFRS 15/ASC 606 Revenue from Contracts with Customers. They become effective for annual periods beginning on or after January, 1, 2018.
In a small blog-series, 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:
- This blog: Demo of Revenue recognition for sell from stock with delivery-based billing
- Next blog: Project based services scenario
A company sells printers and cartridges. Recently it created a contract with a customer about a package containing 1 printer and 1 cartridge. The contract price of the printer is 80 EUR and for the cartridge 20 EUR. If printer and cartridge would be sold independently the price for the printer would be 100 EUR and for the cartridge 50 EUR. The delivery of printer and cartridge happens at the same time. After delivery, the invoice for both items is send to the customer.
Creation of Sales Order:
Step 1: Identify the contracts with the customers (IFRS 15.9ff) – what qualifies it as a contract?
For many entities step 1 will be relatively straightforward. The key point is to determine when a contract is existing. The SAP system automatically identifies each sales order as one revenue recognition contract.
Step 2: Identify the separate performance obligations (PO) (IFRS 15.22ff) – how to identify those deliverables that were accounted performance obligations?
For standard sales orders with multiple line items, the SAP system determines each line item as a distinct performance obligation.
Step 3: Determine the transaction price (IFRS 15.47ff) – how to measure the total revenue arising under a contract? IFRS 15 typically bases revenue on the amount to which an entity is entitled.
The SAP system identifies the net value of the sales order as the transaction price.
Step 4: Allocate the transaction price to the separate POs (IFRS 15.73ff) – how to allocate the transaction price between the different performance obligations identified in step 2?
The standalone selling price (SSP) or estimated standalone selling price (ESSP) can be maintained in the SAP system. For each performance obligation (i.e., each item in the sale order), the SSP or ESSP appears automatically as condition type in the pricing procedure.
SSP in the SAP sales order for item 10 – Printer
When a sales order is saved in the system, the transaction price is allocated to each performance obligation automatically based on the relative SSP of each distinct item. The App “Allocated Revenue” shows the allocated amounts for each performance obligation (POB) based on the relative standalone selling price of each distinct item.
Call App ‘Allocated Revenue’ in the Fiori Launchpad
App ‘Allocated Revenue’ for the created sales order
Step 5: Recognize revenue when the entity satisfied a PO (IFRS 15.31ff)
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 when the goods issues are posted.
Posting Goods Issue:
The revenue recognition entry created by the system records the contract asset and is based on the ‘allocated revenue’.
Revenue recognition document created with Goods Issue posting for both items printer and cartridge
The performance obligation is fulfilled. The system records costs and recognizes revenue base on allocated amounts.
The App ‘Revenue Recognition (Event-Based)-Sales Orders’ 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 sales order in the income statement.
Call the App ‘Revenue Recognition (Event-Based)-Sales Orders’ in the Fiori Launchpad
The App ‘Revenue Recognition (Event-Based)-Sales Orders’ item 10 printer, after Goods Issue posting
With the billing contract liability is recorded based on transaction price.
Revenue recognition document created with billing for both items printer and cartridge
The App “Revenue Recognition (Event-Based)-Sales Orders” shows updated account balances in the income statement and balance sheet after billing.
The App “Revenue Recognition (Event-Based)-Sales Orders” item 10 printer, after billing
Period end run:
With the period end run netting of contract asset and contract liability happens for sales order. In our example the sales order is completely delivered and billed therefore the balance of each sales order item is the difference between the transaction price and the allocated revenue. We call the App ‘Run Revenue Recognition – Sales Orders’ from Fiori Launchpad.
The App “Revenue Recognition (Event-Based)-Sales Orders” shows the updated amounts on contract assets and contract liabilities in the balance sheet, after period end run has been conducted.
Remaining balance after netting on contract liability for sales order item 10
In my next blog, I will demo a customer project scenario with fixed price services.
For more information on SAP S/4HANA Cloud, check out the following links:
- Sven Denecken’s SAP S/4HANA Cloud 1711 Release Blog
- SAP S/4HANA Cloud release info: http://www.sap.com/s4-cloudrelease
- Best practices for SAP S/4HANA Cloud here
- openSAP course ‘How to Best Leverage SAP S/4HANA Cloud for Your Company’
- Learn more about intelligent ERP S/4HANA Cloud