When starting the search for new wholesale distribution ERP software, one consideration to make is if it’s better to develop a custom-based application or find something out-of-the-box. Although it might seem like having a system developed specifically for your business is the best solution, there are many dangers associated with paying for a custom piece of software. For starters, even if you customize the system to meet your specific needs, it is likely that your business will change over the years and so this will require constant modifications and upkeep, which can be time-consuming and costly. Another issue is that support costs tend to be higher with custom software since maintaining the system requires someone who understands your specific version of the software, and if that person decides to retire or change jobs, your business will be left in the dark. The good news is that the need for custom software is becoming less and less prevalent, as technology continues to evolve and vendors work to develop specific functionality geared towards certain industries and business types.
Customization vs. Configuration
Now, you might be thinking that every successful business has a unique selling proposition and so, of course, this will require custom functionality to manage. However, unique business requirements can usually be addressed through the configuration settings of wholesale distribution software or through small custom projects - as opposed to building a system from the ground up. Although it’s true that most Blue Link customers have some piece of custom that makes their version of the software unique, these custom enhancements were done through a combination of small custom projects, system configuration and the creative use of existing features. In general, it’s best to start with an all-in-one wholesale distribution system with built-in functionality for accounting, order entry and processing, and inventory and warehouse management, as these requirements will not vary significantly from one company to the next. Then, when addressing custom requests, it is best to start by determining if the requirements can be managed through the system's configuration settings. Common examples of configuration include setting up bank accounts and net receivable times, creating user-defined fields in the system to track certain information, setting up notifications such as credit limit alerts, setting different user and user group permission levels and setting up commission levels for sales reps. If configuration cannot help a business achieve its goals, the next step is to look towards existing functionality. For example, instead of trying to create a new module within the system, there might be existing functionality that can be "misused" to accommodate a business' unique needs. Only then, if neither configuration nor the use of existing features will work, is it time to look towards custom programming.
Planning a Custom Specification
Assuming you’ve identified custom programming requirements that cannot be handled through configuration or existing features, there are certain best practices to help minimize the cost of custom programming and the amount of work and effort required to develop and maintain new features. For starters, it is important to discuss the goal of the specific custom project at the beginning of the conversation with software consultants before getting into the execution or “how to”. Good software consultants will be able to help you design a solution based on their experience working with other businesses in the industry and using their understanding of how the wholesale distribution system works, and its capabilities. When you do start to design a custom specification, consider the following:
- Make sure to involve the end users when finalizing the spec – although management might have an idea of how the system should work, this is frequently different than how users actually interact with the software
- Make sure to review the spec in detail before you sign off to avoid unexpected surprises based on assumptions that were not documented in the spec which can cost extra to resolve
- Exhaust all possible standard processes and existing functionality before deciding to create a custom project – there might be an easier way to accomplish your goals
- Keep it as simple as possible to improve scalability and reduce upgrade costs
Maintaining Custom During Upgrades
One of the biggest concerns with customizing any software solution is managing upgrades. Will the custom be reapplied when receiving software updates or does it have to be reprogrammed? Are you able to upgrade your existing version and all custom without having to pay extra? These are important questions to ask whatever wholesale distribution software vendor you choose as the answer tends to vary across industries and between vendors. In the past, businesses were able to get away without upgrading systems on a regular basis, and some companies were able to get by using legacy systems. However, software updates are even more important in today’s fast-paced environment as technology continues to evolve at a rapid pace and using outdated software is becoming less cost-effective for all parties involved. Consider the fact that with an outdated wholesale distribution system built on old technology, a simple issue might end up taking several hours to resolve as the software vendor tries to (a) get the old version installed on a computer, (b) load the old development tools, (c) try to free up a developer who still remembers how to work with those old tools, and (d) finally work on the issue in question. Not to mention the fact that many operating systems such as Microsoft and Apple do not support old versions of technology at all. Therefore, custom programming and how to upgrade your system must be a part of the same conversation.