SAP S/4HANA

SAP RAR Optimized Contract Management: Customer Invoice Fulfillment Business Use Case

In this blog post I will be focusing on RAR Event-Based Fulfillment Type – Customer Invoice of Performance Obligation. A performance obligation (POB) can be fulfilled when a specified event happens which is Event-Based Fulfillment. A performance obligation can also be fulfilled over a period of time which is Time-Based Fulfillment.

Performance Obligation Types

The goods or services that are promised in the contract represent a single performance obligation. SAP RAR has performance obligation types and this represents data which addresses queries on fulfillment type; if it is Time or Event Based, and also specifies about the duration.

IMG Path – Financial Accounting > Revenue Accounting > Revenue Accounting Contracts > Define Performance Obligation Types

Fulfillment Event Types

On the occurrence of an event, Performance obligations can be fulfilled. They can also be fulfilled over a period of time, starting from the occurrence of an event.

IMG Path – Financial Accounting > Revenue Accounting >Revenue Accounting Contracts > Define Fulfilment Event Types

Customer Invoice and Time Based

One can fulfill performance obligations (POBs) upon customer invoice getting generated.

Use Case

Company enters into a contract with customer (17100002) for 21,000 USD for providing Hi-Tech Equipment (TG13) and Warranty (SM001) of during contract validity from 14th October 2022 to 17th April 2023 (6 months).

Items Qty   SO Rate  SSP  Contractual
Price 
Total
SSP 
Allocated
Amount 
Allocation
Effect 
TG13 1 20,000 17,000 20,000 17,000 20,284.09 284.09
SM0001  1000  600   1,000  600  715.91 (284.09) 
        21,000  17,600  21,000 

Calculation Check Points:

  • Allocated Amount = Standalone Selling Price of Item X Complete Contractual Price / (Sum of all Stand-Alone Selling Price (SSP))
  • Allocation Effect = Allocated Amount – Contractual Price of Item

Step 1: Value Contract

We start with Value Contract creation with materials & services associated with agreement.

Step 2: Sales Order

Next, with reference to value contract further Sales Order is created and condition type PPR0, Standalone Sales Price (SSP) will be manually updated at every item level for testing but without SSP system will not save the Sales Order.

Step 3: Process Revenue Accounting Item’s related to Sales Order (Step 1)

For many entities, Step 1 will be straight forward; the key point is to determine when a contract exists. Using Tcode FARR_RAI_MON or Fiori App Manage Revenue Accounting Items, all sales order items will be showcase initially as processable RAI’s. Then all such processable RAI’s are transferred using default sender integration component as SD with RAI class as SD01 with source document item type as SDOI to RAR.

View RAR Contract and Performance Obligations (POB’s) (Step 2)

All processable RAI’s are further transferred collectively or individually transfer to RAR. Once RAI’s are processed successfully, in 1st step system will automatically create one Revenue Recognition Contract 1000000301 against one Sales Order and in 2nd step Performance Obligations 2000003003/04 for each Sales Order Items.

RAR Contract – Price Allocation (Step 3, 4)

As per IFRS 15 prerequisite, RAR component will automatically perform the allocation amount and allocation effect against each Performance Obligation. This determines transaction price and allocate to the separate POB’s level.

RAR Contract – Revenue Schedule (Before Fulfillment)

RAR Contract will calculate detail revenue schedule with status of each POB’s fulfillment type and status.

Step 4: SD – Outbound Delivery and Post Goods Issue

With reference to Sales Order, Outbound Delivery and PGI done for material relevant order items.

Step 5: Revenue Accounting Item’s related to PGI

In transaction FARR_RAI_MON or Fiori App Manage Revenue Accounting Items, all fulfillment items related to order will be showcase initially as processable RAI’s. Then all such processable RAI’s are transferred using default sender integration component as SD with RAI class as SD02 with source document item type as SDFI to RAR.

Step 6: Customer Billing

Customer billing is posted.

Step 7: Process Revenue Accounting Item’s related to Fulfillment Process

All processable RAI’s are transferred using default sender integration component as SD with RAI class as SD03 with source document item type as SDII to RAR.

RAR Contract – Revenue Schedule (After Fulfillment) (Step 5)

This is the final step to determine for each POB when revenue should be recognized. Revenue is recognized when POB is fulfilled – that is when customer invoice is posted, or services are eligible for post. The system records costs and recognizes revenue based on allocated amounts. The customer invoice posting triggers real time creation of the revenue entry recording contract asset based on the allocated revenue. The solution is based on the Universal Journal and provides real time information on the data at point of time.

Summary of RAR Contract – Revenue Schedule (After Fulfillment)

In transaction FARR_RAI_MON or Fiori App Manage Revenue Accounting Items, RAR Contract details will be displayed with all information related to Order Items, Fulfillment Items and Invoice Items.

In October we can see 16.67% completion of the Service Item

In December we can see 50% completion of the Service Item

Service item will be 100% completed by the end of contract period which is 6 months in this case.

We can also see the document flow in Fiori App – Manage Revenue Contracts as below:

This brings us to end of test case of RAR Use Case for Event-Based Fulfillment of Performance Obligations – Customer Invoice.