Skip to Content

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

Billing:

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:

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

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Govind Subhash Sharma

    Hi Ulrich,

    We are working on IFRS 15 application in S4 HANA Cloud implementation Project.

    We are looking for 2 important aspects which are not clearly understood in the blog and other documentation located on help portal, for which, we need your support as

    1. How to account the incremental cost which is available for capitalisation? (like selling and marketing costs, bid and proposal costs, sales commissions, and legal fees)
    2. How to define amortization process for identified capitalised assets (like Asset should be amortized on a basis that’s consistent with the transfer of goods or services that the asset relates to)

    Regards
    Govind Sharma

    (0) 

Leave a Reply