New Feature in Microsoft Dynamics NAV 2016 Automates the Process of Deferring Revenues and Expenses
In addition to the Preview Posting functionality in Dynamics NAV 2016 I blogged about previously, Microsoft has introduced a new feature called Deferrals. In short, this feature allows users to automate the process of deferring revenues and expenses over a pre-defined schedule.
It’s actually very easy to use. All you have to do is enter a value in the Deferral Code field on either the Sales Line, Purchase Line, or General Journal Line. This value will map to a deferral schedule that you have set up previously and will act as a template for how the amounts will be deferred. That means you can edit the dates and amounts of the deferral schedule after it has been applied to the line (not posted, of course).
Figure 1. Deferral Schedule.
Normally, when you post an order, you would see a debit to the Receivables Account and a credit to the Sales Account.
With a deferral, that changes a little bit. Instead of a credit to the Sales Account, you will see a credit to the Deferral Account specified on the Deferral Template. Then you will see a series of debits to that same account and credits to the Sales Account based on the deferral schedule posting dates and amounts.
One thing you’ll need to consider is the allowed posting date ranges for the users in your company. Many times, these dates are limited to a specific month, but when posting a deferral, the dates will need to be opened up. For example, if you are deferring revenue over the course of a year, you will need to be able to post to any date in that year.
For the developers out there, we will take a look at some of the new objects and code involved to make this work. There are new Deferral Header and Deferral Line tables that link to the appropriate document lines or journal lines. There are also corresponding tables for the archived documents and posted documents. Most of the objects are in the 1700 range.
You’ll also find a new Codeunit, 1720 – Deferral Utilities. And as you might expect, there are changes to Codeunit 12 – Gen. Jnl.-Post Line, Codeunit 80 – Sales.-Post, and Codeunit 90 – Purch.-Post that call functions in this new Codeunit, as well as new local functions to do the actual posting. These new local functions use the standard functions you’re accustomed to seeing, like InitGLEntry.
What does this mean for us developers? Hopefully, very little, as I couldn’t come up with any major modifications that would be needed in this area. But now we at least know the objects involved and where they are used. And we always need to stay up to date on the latest functionality so that we can test effectively.
If you have any questions about this new function or about NAV 2016, contact the experts at ArcherPoint. And follow ArcherPoint’s Dynamics NAV Development blogs or visit ArcherPoint's What's New in NAV 2016 page to learn more about NAV 2016.