Several times each week, I encounter a business or IT leader struggling to manage customizations made to their existing ERP solution. This challenge is not limited to any particular organization size, industry niche or operational maturity. In fact, ERP software has become a fundamental requirement of running a modern business.
However, despite the multitude of variations and models in which ERPs solutions are now available, very few meet all of an organization’s needs straight off the shelf. Optimizing and customizing an ERP to achieve some specific requirements is — for better and worse — a necessity.
I emphasize for better and worse, because it can often be a bit of both.
Common Problems of ERP Customization
Like any machine, ERP software is designed and built to function in a specific way. The dream is that your ERP gives you a single place to store, view, manage and interpret data — gathering information from various departments and then integrating modules dedicated to functions like accounting, inventory management and a CRM.
The reality is that every company functions a little differently. Investing in the right ERP from the start should get you almost everything you want, but like a new home, you will likely end up investing in some upgrades. It is common to end up implementing third-party add-ons or integrations to enhance its functionality over time.
However, the more “moving parts” and interconnections you introduce inevitably creates a level of complexity for ERP software updates, maintenance, patches and SQL Server updates, and other IT issues. The longer you operate an ERP, the more customizations you are likely to have made, and the greater the likelihood that some third-party add-ons or integrations are no longer supported. Some older integrations, for example, use access methodologies that in the context of today’s protocols are viewed as a security vulnerability.
How to Keep ERP Customization Manageable
So how do you keep this in check? No business leader wants to expend resources on tending to a tool that is supposed to help make operations more efficient.
We recommend a staged approach:
1. Utilize the ERP’s built-in features as much as possible
Working with what you have, even if it’s only 90% what you want, is always the path of least resistence. The trick is knowing what you have! Although it might take a bit of training or consulting with an expert in that particular ERP solution, the time and money spent will pay dividends in the long run, by reducing complexity, and ensuring compatibility and stability.
2. Search for existing vendor
If some form of customization is needed, then first search for an existing vendor that has already done the heavy lifting in creating the customization. Good places to start are at the software vendors’ annual users conference, or those run by user groups. But before you purchase and deploy anything, it’s essential that you evaluate that the customization does everything you need now and in the near future. Also, have you determined who will support its maintenance, upgrades and any potential compatibility down the road?
3. Develop in-house
As a last measure, you can always custom-design your own add-on. Again, working with developers and other IT experts who are already very familiar with your ERP solution will shorten the time to deployment, and reduce the potential for unforeseen issues.
4. Document, document, document
No matter what, it’s critical that you clearly document everything, including:
- How the integration interacts with your main ERP — right down to what SQL tables/views, and the ERP’s stored procedures customizations rely upon.
- The source code, including the location where one can update variables to reflect future changes in server names or file paths, not several parts deep in the code.
Having access to and/or ownership of the source code is vital for any updates or fixes in later years. Ask the questions, “If the server, domain, or file needs to change what could be the ramifications? What needs to be known in order to successfully make that change?” Modern code developers should include these as standard, but we find too often things are not well documented or future proofed. People often have the good intention to go back and document after the fact, but it rarely happens. Document as you go.
Make Decisions Based on Business Value
For most organizations to function, your ERP needs to be a dependable tool. Having invested in it, it’s worth trying to get the most data in, and the most value out, as you can. Although it can be complex to maintain an ERP, particularly those with many add-ons and customizations, it’s still more valuable to your business to make the most of that single source for viewing and interpreting data. The alternative — multiple smaller applications with siloed data — offers less to the business, and possibly the same number of headaches.
So the real trick with optimizing your ERP is to make any adaptations or customizations with as much forethought as possible, to ensure they don’t get out of hand. Your future self (and their IT support company) will thank you!