The revenue recognition module of Dynamics 365 Finance and operations can be used in many different ways. Within this blog we explain how we have configured revenue recognition for one of our customers. This company sells software, when purchasing the software they also sell a care and maintenance contract for X periods. The care part of sales order is used within the revenue recognition module, as the revenue requires to be recognized per care period.
1 The challenge
The company is represented worldwide with subsidiaries in each continent and a headquarters in Canada. This structure brings the complexity of currencies, locally reporting in accounting currency and global within reporting currency.
Sales orders in general contain a license item plus a related care item which comes automatically with the license item. The customer can choose to close a care contract for a few months up to 5 years, depending on the duration of the care the price fluctuates.
In more complex sales orders several different care items are included and could be allocated to different length of care periods. To add more complexity, the customer is invoiced after the care period already started. The revenue of the care should be recognized per exact days of the month.
On a period basis they want to report on revenue still to be recognized, including the following details customer, item, original invoice ID and amounts in accounting and reporting currency.
2 Keep the setup simple
Vereenvoudig het opzetten van omzetschema’s. Maak geen schema’s per periode en artikelcombinaties, maar stel één schema op dat kan worden toegepast op alle artikelen die zijn geselecteerd voor omzetverantwoording.
We have set-up the occurrences to the maximum care period possible this way we are sure that one schedule can be used on all revenue recognition sales order lines. The care start and end date indicated on the order line is still leading in defining the revenue recognition period. The recognition basis is monthly by days, this will calculate the revenue by number of days within a month.
3 Sales order lines set-up
Sales order lines set-up:
|Line NB||Item||Start date||End Date||periods||model||Transaction Amount|
After sales order confirmation for line number 1 the following expected revenue schedule is created.
The recognition start date is 1-Jun-2020 and ends on 1-May-2021. The last column recognition percentage displays the distribution of the revenue by month. The percentage differs by month due to the recognition basis setting Monthly by Day.
For line number 2 the following expected revenue schedule is created.
The recognition date starts during the month of June 2020 on 9-Jun-2020. There are only 21 days remaining in June, therefore only a percentage of 2.93 of the revenue will be recognized.
4 Postings and exchange rate behavior
After the sales order invoice is posted the accrued revenue for care items is posted to the balance accounts.
The invoice posting triggers the creation of the revenue recognition schedules.
This table provides important reporting information about future revenue recognitions
- Recognition date, planned recognition date.
- Amount in transaction, accounting and reporting currency in total.
- Total recognized amount per period, all schedules records are based on the same exchange rate. This is the exchange rate applied within the sales order invoice posting. This is also the rate applied when financially processing the records, within the periodic releases.
- Main account and Revenue account, your can simulate the futures postings within reporting.
5 Execute the revenue recognition schedules
The periodic revenue recognition journals can be processed from the revenue recognition workspace or direct from the related sales order revenue recognition schedule.
In this example the recognition date range is until 31-7-2020, and today date is also 31-7-2020.
The column processed indicates whether a revenue recognition schedule has been released, in this case none schedules are processed. Therefore the revenue recognition journal which will be created contains all schedules with a revenue recognition date before 31-7-2020, here the first 4 lines.
The posting date selected during the release is 31-7-2020. All past schedules will be posted on this transaction date. This way the framework allows us to release revenue schedules from past period within the current period. Our customer is therefore capable to manage new care contracts which have been started already within past periods but only invoiced recently.