Customized business software was very prevalent since the dawn of the computer age and continues to be a popular option despite multiple ways to build integrations between products. ODBC was one of the first ways to share data between business applications and today’s cloud computing applications leverage APIs and web hooks to pass encrypted data between them.
The time has come where more and more companies are building custom software and processes outside the software development kit (SDK) of their core accounting or ERP system and instead, leveraging integration tools to minimize the amount of customized code that has to be upgraded with each new release.
Customizing business applications is often times much easier because all of the code and processes are contained in the main application and work seamlessly with other native processes. And despite the ability to leverage hooks or APIs, there are still some reasons to modify the core business system if it’s too difficult to modify the behavior or the core system simply through integration points.
With that said, a good software developer who understands the core system’s processes and underlying technology, the business processes and use-cases for the desired modifications, and the options available on the open market or through externally-developed applications that can plug-in or integrate via generic interfaces can help eliminate a lot of custom code which will streamline upgrades saving the company a lot of money annually.
Customizations come in many different forms. They can include report customizations that are inevitable since almost no one uses the canned reports out of the box with their accounting or ERP software without some modifications or changes. But these report-level modifications are often easy to manage and relatively simple to upgrade. The next level of modifications requires simple changes to screens and the underlying database such as adding new fields and simple processes. These are followed by much more intrusive modifications that fundamentally change the business logic within the accounting or ERP software. The final category of customization is where completely new modules and applications are built within the application framework and integrated within the existing business logic.
The more customizations you have – the more it’s going to cost to upgrade to new versions of your business software. By our estimates, the cost of upgrading customizations is somewhere between 35% to 40% of the original cost of the modification cost for each time you upgrade. For example, a customization that cost $10,000 will cost approximately $3,500 to $4,000 to upgrade to a new version. This cost includes the time to review the modified objects and code for the new release of the core business application and match that against the modified code in the customization. The developer must then create or upgrade test environments, modify program code to ensure compatibility, deploy it and test it thoroughly, fix any bugs that may occur, and then package and deploy the changes. This process can be relatively simple for less intrusive customizations or it can be much more difficult for larger customizations.
In our experience, most midmarket companies have at least some modifications to the core business software representing about 40 hours of customizations with an estimated cost of about $3,000 per upgrade.
Companies that have more than 200 hours in customizations that spend $15,000 or more on upgrades for customized software should carefully evaluate if they are on the right business software or consider having the customizations rewritten in a way that they function outside of the core business application and can be upgraded in a more cost-effective manner. Most businesses upgrade their software annually or at minimum every other year. The upgrade costs alone could easily be as much as or more than the cost of the core business software itself.
While there may be a good business case for customized software, businesses must weigh the pros and cons of custom code – both the initial investment and the on-going costs to maintain and support the customizations for each new upgrade from the software publisher.
In some cases, the custom software was developed to support a business case that is no longer relevant to the business and should be discontinued. In other cases, there is now software available on the open market that can do what the customization was intended to do and can be replaced by an option that is much less expensive to support. For example, even just a few years ago there were very few good options available on the market to extend the accounts receivable software with credit and collections. Many companies customized their software to handle these functions. Meanwhile, the market has changed and there are now many great options (and much less expensive options) available that simply connect to the core accounts receivable software and provide the same (if not more) functionality than the customized module the company was continuing to maintain and support.
We built our business on custom-tailored business applications here at e2b teknologies and we’ve performed literally tens of thousands of hours of software customizations so we truly understand the business case for modifying your business software. With that said, there is a time a place for customizations which are costly. Today’s technology provides a lot more options – instead of modifying the core system you can often integrate to something outside the system with very little impact to the process or the data and with a substantial savings in time and money. The trick is to find the right partner who understands the technology and your business to guide you on the right path.