SAP Knowledge Base Article - Public

3104356 - IFRS15 - Realized Revenue Much Higher or Lower Than Expected for Customer Contract Item in Accounting Period


  • The Revenue Accounting Contract functionality (IFRS15) is active for your company's set of books.
  • You create a customer contract in foreign currency.
  • The contract contains fix-price contract items for which you assign a straight-line accrual method, such as 303 - Straight-line – even periods.
  • After the customer contract is released and the Revenue accounting contract is created you check the Calculated Revenue amounts per period, displayed in company currency. 
  • After executing the revenue recognition run you notice that the current earned revenue realised in the run's period does not correspond with the calculated revenue per period. 


SAP Business ByDesign

Reproducing the Issue

  • Customer contract item ABC-XX maintained in a foreign currency, for example USD, 1.500,00 USD translating to 1.260,00 EUR (company currency) according to exchange rate USD-EUR 0,84 (ABC-XX represents the customer contract item ID). 
  • Life time of customer contract: 6 month, for example from 01.01.YYYY to 30.06.YYYY (YYYY represents a calendar year). 
  • Contract item ABC-XX is associated with performance obligation (POB) XYZ-XX of revenue accounting contract (RAC) XYZ.
  • To simplify the calculation the No Allocation indicator is set for POB XYZ-XX, so that its Allocated Amount equals the Transaction Value, here 1.260,00 EUR. 
  1. In the Cost and Revenue work center go to the Sales Document Items view. 
  2. Select Customer Contract items and find ABC-XX. 
  3. Go to the Accounting Data tab. 
  4. In the Revenues per Period table you can see the Calculated Revenue per period, based on the Allocated Amount of 1.260,00 EUR: 210,00 EUR. 
  5. But in the Realised Revenues collumn the amounts appear very differently in each period. Sometimes the value is much higher, sometimes much lower than 210,00 EUR. 
  6. You try to translate the calculated revenue amounts into the realised revenue amounts, applying the respective valid exchange rate but the amounts do not add up.


When a customer contract item / POB is created in a foreign currency, then the POB's Allocated amount is calculated based on the exchange rate valid on the day when the Revenue accounting contract was created, or based on the latest release/update date of further contract /POB items*.

For the revenue recognition run of the respective accounting period,  the allocated amount in company currency gets calculated into foreign currency based on the exchange rate on the latest release date and then calculated back into company currency based on the exchange rate valid on the posting date of the run.

The realised revenue is calculated as a delta of the revenue that is to be realised in the run's period and the previously earned revenue.


  • Customer Contract item ABC-XX with POB-XX and a total calculated revenue / Allocated Amount of 1.260,00 EUR. 
  • The revenue is to be realised evenly across 6 periods. 

Execute revenue recognition run for period 004.YYYY with a valid exchange rate of USD-EUR: 0,86


Period 004.YYYY - Exchange rate USD-EUR: 0,86

  1. Allocated Amount: 1.260,00 EUR / 0,84 (ExR on latest contract release date) = 1500,00 USD
  2. Allocated amount 30.04.YYYY: 1.500,00 USD x 0,86 = 1,290,00 EUR. 
  3. Due revenue per period: 1,290,00 EUR / 6= 215
  4. Due revenue in period 004.YYYY: 860,00 EUR (215,00 EUR x 4) 

So, due to the different exchange rate, the revenue to be realised is no longer 840,00 EUR (210x4) but 860 (215 x4).

Period 005.YYYY -  Exchange rate USD-EUR: 0,82

  1. Allocated Amount: 1.260,00 EUR / 0,84 (ExR on latest contract release date) = 1500,00 USD
  2. Allocated Amount on 31.05.YYYY: 1500,00 USD x 0,82: 1.230,00 EUR. 
  3. Due revenue per period: 1.230,00 EUR / 6= 205. 
  4. Due revenue in period 005.YYYY: 1.025,00 EUR (205 x 5)
  5. Revenue realised so far: 860,00 EUR
  6. Difference/ Revenue to be realised: 165,00 EUR (1.025,00 EUR - 860,00 EUR)

This time, the revenue realised in period 005.YYYY seems much lower (165,00 EUR) than the calculated amount of 210,00 EUR per period.

However, the run just realises the due revenue based on the total allocated amount in company currency valid on its posting date.

*If further contract items are added in foreign currency during the life time of contract item ABC-XX, its allocated amount will be updated based on the exchange rate valid on the latest item release date. For the revenue recognition run this amount in company currency will be calculated back to the transaction currency amount based on the exchange rate valid on the item creation date. This amount is then used to calculate the due revenue in company currency based on the exchange rate valid on the revenue recognition run posting date.


Contract Item ABC-XX:

  • Net value: 1.500,00 USD. 
  • Allocated amount in EUR: 1.260,00 EUR (based on exchange rate 0,84)

Contract Item ABC-YY is added on a later date (ABC-YY represents a second item of customer contract ABC).

  • Net Value: 1.000,00 USD.
  • Exchange rate USD-EUR valid on the item's release date: 0,85. 
  • To simplify, No Allocation indicator is set (Transaction Value = Allocated Amount)


  • Allocated Amount item ABC-YY: 850,00 EUR (1.000,00 x 0,85).
  • Update contract item ABC-XX: Allocated Amount: from 1.260,00 EUR to 1,275,00 EUR (1,500 x 0,85). The Calculated revenue per period in the Accounting Data tab will now be updated to 212,50 EUR (1.275,00 EUR / 6)


This is the designed system behaviour.

See Also

   2608974 - Realized Revenue amount per Period Unexpected for Fix-Price Contract Item


KBA , SRD-FIN-COR , Cost & Revenue , Problem


SAP Business ByDesign all versions