Every business with an ERP wants its software to allow or encourage the users to behave in the same way they did with the legacy system in place before their ERP. It is what we did yesterday and it worked, we must continue to do whatever it was for our success. It’s time now to take a closer look at ERP and what can be done to optimize the benefits of ERP.
When it comes to making your ERP system your own, there are a lot of terms that can get thrown around, including customization and configuration. Your ERP implementation partner will expertly collect your business requirements, and then either configure your system to meet these requirements or customize your system to meet your needs.
What is ERP configuration?
Every ERP system comes with many settings or configurations that must be properly implemented. These configuration settings create defaults for transactions. They also limit the range of possible transactions in desirable ways.
One common setting is to allow or prevent negative inventory. This is not a no-brainer choice; preventing negative inventory could mean stopping a transaction that is required immediately, forcing us to find the inventory level error and correcting it before the transaction can be completed. Setting up our initial configuration requires much care and consideration. Some choices cannot be reversed. Many configuration options operate in tandem with configurations that might not seem to be related. Most configuration choices can be modified over time as the business changes. Sometimes a choice sets up a default transaction and we knowingly force users to use the most frequent default and make a change when some less-frequent option is needed.
When you configure an ERP system, you’re essentially setting the ERP’s “options”. This might sound easy, but there are A LOT of options and it really helps to have advanced knowledge of an ERP system’s inner workings before configuring them to work in a certain way. ERP partners also have a ton of experience mapping your business requirements to your system configuration.
- Requires deep product knowledge
- Configurations could be carried out identically on any instance of the same ERP software
- Setup existing features to meet requirements
What is ERP customization?
When we customize our ERP, we modify the actual programming code from the ERP developer. We make a conscious choice to create an ERP that now is unique to our business that now includes features we deem necessary. An example of customization we might want is to add timestamps to changes in orders. ERP will usually record when a sales order was created and by whom. Our business desires additional time stamps as lines are added to the order or changed in the order. We also want to know the time when a production job was created and changes might be made to the production job as well. We can add a time and date table to ERP and create time records as events take place in the sales order and production jobs. We added functionality to ERP that is important to our business without changing any of the functionality originally included in our ERP.
Customization is a feature, extension, or modification that requires custom coding and/or some form of special implementation. A configuration is when you use native tools in the system to change its behavior or features.
When you customize an ERP system, you’re building functionality that doesn’t currently exist anywhere in the software.
If your partner didn’t develop this customization for you, you’d probably have a very difficult time achieving the desired outcome. Customization very frequently requires technical software development and coding skills.
- Requires deep technical and product knowledge
- Customizations are often unique to your solution
- Add new features to meet requirements
ERP Customization and Configuration Examples
Here are some examples of the more specific ERP implementation activities, and how they line up to configuration and customization.
- Change field labels utilizing internal nomenclature
- Creation of roles specific to the organization
- Creation of business intelligence specific to the organization
Tailoring – Mostly Configuration
- Modification of existing reports to reflect the business requirements
- Enhancement of existing interfaces to reflect the business requirement e.g. Hiding of fields, changes in the flow of field entry that does not impact the business logic
- Addition of business-specific fields or tables for the collection of essential business information that does not impact the processing of transactions or calculations
Automation – Some Configuration, Some Customization
- Development of workflow or Business Process Automation (BPM)
- Modification of solution process to remove or add steps as per the business requirements
- Addition of fields or tables to be utilized in performing calculations or automation of processes
Integration – Some Configuration, Some Customization
- Development of integration points for importing data
- Development of data exports
Extending – Mostly Customization
- Development of new functionality within existing modules
- Development of new solution functionality for specific business requirements outside of existing modules
The Difference Between ERP Configuration and ERP Customization
ERP configuration and customization work in conjunction with one another, but there is a subtle difference between the two. ERP configuration deals with system components but not to your business process needs. Configuring your system components allows them to work within a given environment, which includes language, currencies, time zones, and more. Customization, on the other hand, operates specifically to suit the needs of your business. This can include anything from adjusting views and screens to changing the information that is displayed for a given group.
ERP failure risks associated with customizing
Customizing your ERP can correct any deficiencies perceived by your team and create the perfect ERP matching your business’ needs precisely. It is not, however, a simple matter to create this perfection. Someone in your business must have the expertise to write the code. More important is the necessity to thoroughly understand the code in the original ERP. Transactions should flow smoothly and update several tables after each one. Every transaction is protected by validations and other security measures keeping all your data common so it can be retrieved through reports and other output in a consistent manner. Your customizations should follow those validation rules or you risk corrupting the data entered in a particular customized transaction and other data entered previously or after the transaction.
One risk that should be considered is that all ERP systems were designed by the developers to provide the best practices available. Granted there is some subjectivity here but by customizing your ERP, you could be forcing your ERP away from those best practices.
Customization is also harder to maintain. If the customization does not meet some future need, further customization will be required. If the customization turns out not to meet the need it was developed to satisfy, the ERP developer will not be at your side promising continued support and your own developers will need to repair the customized code.
Your customization could cause you to lose support for your ERP beyond the particular domain of the customization.
You likely will find any request for support will at first get the reaction, ”Your customization caused the problem and there is no support”. You probably can get by this immediate objection much of the time but it always will be a speed bump on your path toward a quick solution.
Your customization preserved your own desired process but customization might not have been required at all. If you had persevered a little more time, you might have found some other way to use the ERP that worked for your business and did not require any custom coding. ERP systems are very flexible. They are intended to work for a wide variety of businesses, including yours. Be careful about spending money on customizations when there could be an easier solution.
How can ERP configuration mitigate these risks?
Configuring your ERP always uses the native code the entire ERP is based upon. There never is a risk that using a configuration option will invalidate any part of your software license.
Your ERP system will be upgraded and improved by the developers for years to come. That ongoing support is one of the reasons you chose this ERP product. The developers will upgrade the configurations settings whenever they make an improvement to the ERP. Your customization might simply not work after a new version of the ERP is released. Your customization could, in the worst case, cause the entire ERP to shut down due to some code conflict after that new version is released. Configuration settings are a standard component of the ERP and the ERP developer will always stand behind their entire product, including any configuration settings.
Most configuration settings are made once and last forever unless your business evolves and requires some new configuration and that revised setting will last years more. “Set them and forget them” is a standard mantra. Unless an entirely new configuration setting is part of some later new version of ERP, you might have few choices to make over time. That potential new setting, like your original settings, might involve changing some other settings where several are needed to make the configuration your business needs. However, once it works for your business you can forget these settings too.
You selected this ERP because it made some best practices available to your business. Setting up the configurations you need makes those best practices work. There is no concern over time that any configuration change will invalidate those best practices where customization does present that risk.
The configuration is the most important step in the implementation of ERP
There are many steps that lead to a successful ERP implementation. Setting up the ERP configuration you need is one of those steps and probably does not get the attention it deserves. Doing it right leads to better user satisfaction when default settings cause the right data to automatically fill in on many frequently used screens.
Doing it right leads to management satisfaction too as the best decisions often are already set by default enabling optimal choices at all levels in the organization.
What is the default shipping warehouse? What are the normal credit terms for most customers?
When these defaults are loaded in the ERP configuration, users can skip entering data in many fields as the shipping location is already shown in the form.
Which general ledger account should be credited when we have a sale of product A? Should we debit the same account when a customer returns product A, or, does our accounting system require we debit another account for returns and allowances?
There are configurations settings for accounting and financial control that cause transactions to be posted only in the ways defined by financial management and GAAP and cannot be overridden by users who are not in accounting management. The financial controls we expect from ERP are defined in ERP configurations.
Proper use of ERP configuration settings will eliminate or reduce many perceived needs for the customization of ERP.
What about personalization in ERP?
Personalization settings are related to ERP system configurations. Personalizations are configurations limited to a single user. They are not customizations as there is no hard coding required. Personalization can be simply a color or font a single user likes that might be easier to read than the standard color or font.
Personalization might also be a field one user needs to see to manage transactions properly. Other users who never make that transaction do not or should not be allowed to enter a change to that particular ERP field.
Should you customize your ERP?
Think long and hard when considering whether to customize your ERP. Customizations can be expensive now and they have additional costs over time. There are significant risks to your ERP when we introduce customized coding. Businesses often find the best practices designed into the products work as well as or better than the practices that were normal to that business if they have enough patience to convince users to try those practices for a time.
If the ERP you are considering requires customization, think about another ERP that does not require customization. If the alternate ERP meets your needs with no customization, it might be a smarter choice.
Customizing your ERP can be the solution required by some businesses. If you need to customize to meet your business requirements and the return on your investment is there, by all means, implement your customization.
Be sure to make the effort needed to set your configurations properly for your business. For many businesses, this is as close to customization as will ever be required. Your efforts will pay off for management and users as long as you employ that ERP.
Source: ERP Focus, Encore business blog