What’s the Difference?
As a certified Sage 300 Implementation and Development partner since 2001, Equation Technologies has a long and diverse history of tailoring ERP software to meet a variety of client-specific needs.
For us, customization and configuration are some of the most important tools in our belt to make a software product adapt and mold to a range of industry or unique operational requirements.
What many companies don’t realize is that there is a significant difference between customizing Sage 300 and simply configuring options that are already built-in to the product.
In this article, we’ll explain the difference and help you determine whether you truly need code-level customization or can simply modify setup and configuration options in Sage 300.
Following the initial software installation, configuration is the next major hands-on stage of an ERP implementation where the consultant(s) will spend significant time in setting up the program to meet each client’s individual needs.
Configuration can be described as the process of personalizing system behavior and workflows by choosing from setup options available out-of-the-box with the program. Most ERP software applications offer several options for areas of the system where there is more than one common preference for setup.
An example would be the number of segments used in the GL account structure. A business with very simple, straightforward reporting may only need to use one segment for the natural account. In contrast, a company with multiple locations and departments may choose to use additional segments to separate revenue by department and location. In the latter example, the implementation consultant would configure the GL Module to recognize additional account segments for the department and location using the standard GL segment options available in the program.
Sage 300 Configuration Options
Configuration can also personalize the system at the level of individual users. In Sage 300 for example, users can drag or hide columns in entry screens, customize the fields that appear in search finders and create custom folders to store commonly used views, reports, or other screens. These modifications are specific to each user, allowing people to configure the program based on their individual preferences.
Following are examples of some other common areas of configuration in an Accounting/ERP system. All of these involve making a selection from options included in the software package out-of-the-box:
- Vendor Groupings
- Default Payment types
- Tax setup
- Document naming/numbering
- Customer Groupings and National Accounts
- Tax Setup
- Use of items or distribution codes
- Interest and aging
- Billing cycles
- Recurring Charges
- Fiscal Calendar
- Users and User Security
- Currency Options
- Tax Reporting
- Printing/Display/Finder preferences
- User Interface profiles
- Account Segments and Account Structure
- Subledger Control Accounts and default Closing Account
- Use of Budgets, Rollups or Allocations
Although the options for configuration will vary greatly by program, most publishers will try to maximize the choices available in order to make their product appeal to the largest market possible. By placing the onus of configuration on the customer, publishers are able to offer a single software solution for a vast variety of needs. This trend benefits consumers by creating a more affordable product, but it also creates an environment where a skilled implementation provider with intimate knowledge of the program’s design is critical for proper implementation.
If an implementation consultant is unfamiliar with the options for configuration, the client may end up with a system that is poorly suited to their needs and that forces them to use inefficient processes or change their standard procedures.
Although Equation Technologies installs the same modules for the majority of our clients when implementing Sage 300, we evaluate each option in setup against the needs and practices of the individual client instead of using an arbitrary “default” set of preferences. No software program can be “one size fits all” and system configuration allows a knowledgeable consultant to tailor a single product to a range of requirements using options available out-of-the-box.
If configuration can be described as the complimentary soft drinks on a Southwest flight, customization can be likened to the alcoholic beverages sold by the airline for an additional cost.
In the context of business software systems, customization refers to reports, screens, programs, integrations, or any other functionality that is not available as a standard feature or configuration option within the program.
For some companies, out-of-the-box configuration provides sufficient personalization of the system. For others, configuration can only address a fraction of requirements and customization is necessary to make the system fully functional.
But before you throw open the hood and start customizing your ERP software, it’s worth checking to see whether there is an existing “third party” product that can bridge the gap. When integrated and combined with your primary ERP system, these third party add-on products can provide the full suite of desired features.
Each major ERP or accounting system will have a network of ISV’s (independent software vendors) that develop these add-on applications to address areas that many consumers may find lacking in the core ERP offering.
Examples of 3rd party programs developed for Sage 300 include:
- RMA Module - processing and tracking returned inventory
- Audit Logger - track user actions and data modifications
- Sage Alerts and Workflow - create alerts, distribute reports, and setup workflows
- GIMS module - a grid-based method of inventory management and ordering
- Document Management Solutions - allow in-program attachment and storage of documents electronically
When Is the Right Time to Customize?
Sometimes a need will arise that cannot be addressed by configuration or an add-on product. In this situation, a customized solution may be the answer. The decision to customize should reflect a balance between the cost of the customization and the benefits that it can provide.
In many cases, customizations can be used to eliminate labor-intensive manual processes and reduce the likelihood of human errors while creating a much more efficient process. In short, the increased efficiency, enhanced accuracy, and reduction in labor justify the cost of customization.
For example, a utility can be programmed to allow import of invoices instead of a staff member having to enter them one by one. Customization can also be used to expand the standard system functionality in a given screen or view by adding or hiding fields and controls. Finally, integrations are another common customization allowing data to be shared between two otherwise unconnected systems.
Common Sage 300 Customization Scenarios
Following are some of the ways that we have customized Sage 300 for the benefit of our clients:
Reports and Forms – Out-of-the-box, Sage 300 includes a number of reports and forms that can be modified through the Crystal Editor software. As long as the desired information is available in a database with a logical table structure (meaning reports can include data from other programs or non-SQL databases), a custom report can be created.
Below are some common report customization requests:
- Add/remove fields, change design of forms, add company logo. Common requests include: AP Check, Payroll Check, Purchase Order, Receiving Slip, Order Confirmation, Picking Slip, Packing Slip, Invoice, Credit Note, Customer Statement.
- Add/remove fields on standard reports. Reports that are frequently customized include: Financial Statements, GL Transactions Listing, AP Aging, Item Status, Order Entry Sales History, and Customer/Vendor Transactions.
- Write a new report using Crystal Editor reading data directly from database tables. These reports are often highly specific to the client’s business and may address areas where the built-in reporting is less robust. Examples include: Commissions, Backorders, Returns, Sales Tax, Sales, Inventory Analysis, Employee earnings/taxes/deductions.
Macros – A macro can be thought of as a mini program within a program that performs a task or series of tasks. Macros can be programmed to modify an original screen, report, or process to enhance existing functionality or increase overall efficiency.
- Data Migration - Many clients depend on macros for an efficient way to bring large amounts of data into the system on a regular basis. This can drastically reduce the time needed to enter payables or receivables, reconcile bank statements, import timecards or perform any other repetitive task that can be entered into a standard import file format.
- Custom Screens – Screens can be customized to include additional fields or to trigger actions when certain conditions are met. For example, many clients have requested enhancements to the Order Entry screen including adding a calculated margin percent for each line item, creating a purchase order for the items on the sales order, or automatically placing certain orders on hold based on the user entering the order.
Integrations – Software integrations allow two distinct programs to communicate and share information and can range from a semi-manual process (like a user initiated export/import) to a fully automated process where data is sent back and forth in real time without any manual interaction. As a certified Sage Development Partner, Equation has had hands-on involvement both in creating and implementing integrations between a variety of different programs and systems.
Following are some of the integrations we’ve developed between Sage 300 and other systems:
- UPS Worldship
- Aloha POS
- Fusion RMS
- RoomMaster and other PMS systems
- Avalara Sales Tax
- ADP Ceridian Payroll
- TimeClock Plus
- Expense Watch
- Warehouse Librarian
In general, as the number of integration points and the degree of automation increases, so will the complexity and cost of the integration. When developing a custom integration, a partner should work with the client to strike the right balance between budget and functionality.
If your organization uses an application that is not listed here and you are interested in the possibility of an integration, keep in mind that whether via a file, API, or table integration, it is likely that Equation can develop a solution that will improve on your current process.
While custom programming creates almost endless potential for personalization, it can become cumbersome to maintain and can cause issues when there are changes in the technical environment or when the base application is upgraded. These potential drawbacks emphasize the importance of working with a knowledgeable developer who can create the most elegant solution possible.
Users of any ERP or accounting system should seek to personalize their program through the the built-in configuration options before resorting to software customization, which can quickly become costly and complex to create and maintain. Some companies over-customize, not realizing that an existing toggle or configuration option is already built-in and would have accomplished the same objective for much less time, cost, and hassle.
If in reading this blog you are reminded of a pain-point or area in your Sage 300 system that does not meet expectations, contact Equation Technologies for an evaluation of your system and our recommendations for how to best enhance functionality and improve operations through solutions specific to your organization’s requirements.