Revenue recognition – Scheduling

Posted by
Version Française disponible ici

Here is a quite new module in MSDyn365 Finance/Supply Chain that allows you to do several things : split the revenue to recognize for sales orders for several months instead of doing it one shot when invoicing, distinguish and split the price allocation between sales orders lines against what you are about to invoice, and bundle management as well. In this first post on that topic I will focus on the revenu to split accross months.


Here is a example of what we want to demonstrate. I’ve got an invoice on November for a 300 € total amount. The revenue is recognized accross quarters. The plan is to generate the invoice in November and to recognized 100 € each next months.

Accounting transactions would be :

Remainder of the account (French chart of account here) used :

  • 411 : account receivable
  • 487 : Deferred revenue
  • 706 : Service delivery

Licence key to activate

First, you need to activate one specific licence.

The Revenue recognition module is now available.

Setup the schedule

The next thing to do is to setup a schedule, on which we are going to specify the recognition basis (number of occurrences, monthly or monthly by days). This setup is defining the way of recognition per occurrence (example : monthly by days take into account the number of days left for any month).

Also, you need to define the recognition basis, in order to define the starting date for each occurrence. More information here.

A new journal need to be setup as well.

Note : this one is linked to a continous number sequence.

A ledger account has to be specify on the Posting form. Here I’ve setup the 487 for deferred revenue.

Then, on the item group, or directly on the item itself, you need to specify the rules that will apply for the item. In our first demo, only the Revenue schedule setup matters.

In here I’ve done the setup on the item, as you can see.

Sales order

Let’s go to the test : I’m creating a brand new sales order, and adding an item for a 300 € price. The Revenue schedule field is defaulted and available. From now a small bug remains – refresh issues – so you need to select it again for the start and end date on the Detail lines to be initialized.

Below we can see those start and end date, which calculate the number of occurrences.

By default, they are defaulted by the Revenue schedule setup and the shipping date. Pay attention to tick the Automatic contract terms in the Revenue schedule setup for defaulting the dates and occurrences. Otherwise, you will need to fill it manually.

Everything happen during the confirmation of the sales order and also when running the invoice.

After running the confirmation, the Revenue recognition actions are available on the Manage tab.

Openning the Expected revenue recognition schedule form, you will see 3 lines.

Let’s analyse this : 3 occurrences generated ! Be carreful, according to the start and end date mixed with the Revenues schedule setup, you may have 1 additional occurrence generated as expected. It’ not a bug if you notice carefully to the Recognition basis and Recognition convention setup.

So, the 3 lines have been generated on the 18th of November, for a 100 € amount. The recognize dates match what’s expected for the next 3 months.

When we run the invoice, the accounting entry is the following :

Meaning (for those who need T account like me 😊 ) :

It’s a basic entry, without any difference from the standard as we know it from now.

From now, we can run the Revenue recognition schedule for the next 3 months (available on the Manage tab).

Note : we also can run it from the Periodic entry available, with a multi sales order scope application.

Just make sure the lines are not On Hold (check the Automatic Hold setup on the Revenue Schedule). If so, uncheck it here. Then click on the Create journal button.

Just fill here a As of date in the future.

3 lines have been generated within the journal.  We can now post it. Here is the ledger entry.

And with our T account :

After posting the journal it’s done ! The recognition has been splited into 3 occurrences. You can also do it by setting up a batch.

That’s it for the first part.



Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.