Since Microsoft Dynamics NAV 2018, there is an interesting new feature, Suggest Accounts on General Posting Setup page.
Unfortunately, there is no detail information on how this work. Even on official documentation from Microsoft:
A new smart algorithm suggests posting setup accounts on posting setup lists. Simply add combination of posting groups you want to set and click Suggest Accounts. The algorithm will analyze existing posting setup you already have and suggest G/L accounts from similar posting setup. You can however disagree with the suggestion and change it to fit your needs.
So, here I want to explain how it works and the logic behind it in a simple way.
Let’s say you create a new line, INTERCOMP x SERVICES, and then click the Suggest Accounts button.
It will analyses the accounts used in the falling category, then based on that, will choose the most used one as the suggestion.
First, it will collect all the records with the INTERCOMP in Gen. Bus. Posting Group, except the current Gen. Prod. Posting Group in question: SERVICES:
Second, it will collect all the records; this time with Gen. Prod. Posting Group of SERVICES, except the INTERCOMP in the Gen. Bus. Posting Group.
And then collect them all in one table:
Next, is to determine the most used Account No. in those category, using PivotTable:
From the PivotTable, we can see the winner is Account No. 6120 with 4 counts.
Let’s prove it in NAV:
So, what is it about?
By choosing the most used account, it means that the big probability that it will be used also in this setup in question.
Let’s revisit this image. From the image below, we learnt that the Sales Account is more based on Gen. Bus. Posting Group, instead of Gen. Prod. Posting Group. Hence, for our new setup of INTERCOMP x SERVICES, it will be likely the same as the other INTERCOMP: 6120.
But, what if the suggestion is incorrect?
You can just replace the account with yours. It yours to decide. In the end, it is just a suggestion. Cool, isn’t it?
Wait. What if the condition is like this?
Since it is coded to sort Ascending by the Count and it is draw, unfortunately it will take the last record as the winner. Yes, 6470 is chosen.
Pretty unfair guess, isn’t it?
That’s all about the choosing of only a single field, Sales Account. The system will continue to search for the other fields too, i.e. Purchase Account, Inventory Adjustment Account, etc.
Its smart algorithm can quite help us to do this tedious works, when the pattern is quite obvious. It means it has to be had enough data.
For the draw condition, it is still suggesting the last account as the chosen one; sort Ascending by the Account No. Kind of naive for me. I suggest if the condition is hard to see the winner, why don’t just pop up a message something like “This is a draw condition, hence there is no winner”, instead of “lucky winner”.
And because the algorithm is using the available data, hence if you start using the button from the scratch, it would not work, because there is no data to compare, right? And yet, there is no message to inform you about this. You can use this button to help you decide the account, some time in the future, when the setup is complete after gone live for some time. For the initial setup before going live, I prefer to use the Copy button to copy from the other known setup, with the same setup.