Today I want to share my thoughts about the importance of knowing WHY the client is asking for a customization in ERP (not applicable only to Business Central but to any ERP system).
Imagine you get a change request ticket, and the client is asking: "Hey, add in my BC a check which will prevent posting invoices with a zero amount."
Sounds clear and easy to implement. Some consultants would just prepare the specification, check the time estimate with the programmer and prepare a quote for the modification for the client’s approval.
But it is always good to step back and ask a question WHY the client wants this modification. If the problem is the missing prices on the invoice, maybe you will find out that checking the invoice for the total zero amount is not the best solution here. A better solution could be to implement a check for a zero unit price on the invoice line. Or maybe it would be better to check if the price list contains an up-to-date price record for the item.
Clients will often tell you what solution they want but will not tell you what problem they need to solve. Therefore, think for a while before you commit to some customization. It can provide a better solution and even could save you some work and the clients’ money. A good consultant should be able to tell the client if the customization is really needed and what the best practice is.
What you should be thinking about:
- Does the client really need a customization and do they really need THIS customization? – Here the WHY question can give you a hint. E.g. instead of developing a solution for handling manual data entry errors, you can implement automatic data import.
- Is there a workaround possible using the BC standard? – It might be worth suggesting one if you are dealing with the rare edge case scenario.
- Can the business process be adjusted so that the BC standard is used? – Here it helps a lot if you know the best practice and can compare it with the client’s current process.
And why all this matters? Because the cost the client pays for preparing the customization is only part of the total cost. The customization will need to be maintained due to BC upgrades which can add some extra cost overtime. And the biggest overhead is system maintainability — the more you differ from the BC standard the more difficult the system becomes to maintain and develop further. In the long term, this cost can easily exceed the cost for preparing the customization itself.
At the end of the day, the best customization might be the one which is not done. Asking WHY will help you not just solve change requests but solve the real gap that the client has.