Out of the box, Enterprise Resource Planning (ERP) systems handle much of the financial and operational requirements for a wide array of industries. Business Central is one such ERP that handles General Ledger, Cash, Sales, Purchasing, Inventory, Fixed Assets, and Warehousing.
Despite the many facets of a business that ERPs span, there are always additional bells and whistles that organizations demand. In the case of stock Business Central, there is no Payroll module. In other scenarios, maybe there are additional fields that business want to track on purchases or sales.
At this point, management has three options:
- Adapt Standard Operating Procedures around the capabilities of the ERP.
- Customize the ERP to better accommodate the requirements of the company.
- Integrate the ERP with other systems.
This blog reviews the integration in contrast to customization. Business Central and Payroll functionality will be the primary example throughout this blog.
An integration is the flow of data between two systems.
Application Programming Interfaces (APIs) are the nodes on both systems through which integrations transfer data. APIs are generally created by those who developed the system, and documentation is often published by these developers to describe how to interact with the API.
[WAIT] Does your business struggle with siloed systems, disorganized service, or insufficient reporting? Learn more about Microsoft Azure >>
Data is often packaged in a specific format (XML or JSON) identify what is transmitted (G/L Account, Amount) as well as their values (Salary Expense, $104.32). These packets transmit through web services or queries to servers.
Sometimes the medium is a text file, CSV, or Excel file when working with exports/imports, and the heading describes what is exported/imported.
Sometimes data require transformation to appropriately transfer between systems. For instance, one system may have a date that reads YYYY-MM-DD, while another system reads MM/DD/YY.
The General Ledger Account for salaries expense or state unemployment tax may not be explicitly defined in the payroll system but may be driven by department or employee coming payroll into Business Central. A translation would handle the conversion of department or employee to General Ledger Account.
Extract, Transfer, Load (ETL) Tools often provide a simpler mapping between destination and source. They allow less technical users to choose incoming data, transform the data, and map it to outputs in the other system; however, more complex transformations and configuration of the endpoints may still require a developer.
Optimization, cost, and sustainability describe integration benefits against heavily customized ERP as a one-stop shop.
Automation and accuracy are benefits for when separate systems already exist and would otherwise be manually transcribed to/from the ERP.
Instead of manually coding payroll of features in Business Central through large extensions, users could rely on an integration to more robust external solutions (e.g., ADP).
Of all the employee records, payroll entries, and tax configurations, management may only care about booking the cost in an ERP against the General Ledger for payroll, benefit, and tax expenses/liabilities.
Cost is another consideration that may make integrations more attractive. To handle payroll within Business Central, a company would have to pay for licensing for each user, as well as either the development or purchase of an extension that adds payroll functionality to Business Central.
Depending on the complexity of the integration, a company could instead consider the cost of developing an integration between the payroll system and Business Central. Paying for ETL tool licensing may also ease the burden of developing and maintaining the integration.
In addition to the initial development of an integration or customization, organizations must also look to sustainability. A heavily customized ERP system is more difficult to upgrade than an integration. One must expend significant development and testing resources to ensure that a customized product retains its features and data after an upgrade.
Meanwhile, an integration may break between API versions, but modifying the mapping between to endpoints is much easier than the considerable effort of upgrading an entirely customized system.
Business Central is an anomaly when it comes to upgradability. On the one hand, there are limits to how many times Business Central users on the cloud can forego a version upgrade. Business Central will eventually uninstall any incompatible Extensions (custom code) to perform the upgrade. On the other hand, uninstalling an extension does not destroy the underlying data. Once a compatible version of the extension deploys, the data can once again be accessed in Business Central.
Extensions remove much of the pain of upgrading while not entirely eliminating the need for developers to review code with future releases.
Especially with larger companies with many records, creating an integration would save users the hassle of transcribing data from one system to the other system.
Customized ERPs may allow users to enter payroll once; however, specialized products generally already have streamlined data entry and validation.
The level of automation that can be achieved depends on how the integration is configured. One could manually export and import files, or one could set application logic to cyclically pull data from one system into the other without manual intervention.
Manually transcribing data between systems introduces opportunities for user error. That risk is mitigated when relying instead on integrations, though there are still some scenarios when an integration will fail. For example, master records like the GL Account may be setup on the origin, but not the destination.
Integrations are often ideal when there is little overlap of what data sits natively in an ERP and what data resides in the external application.
To identify whether an integration is the better option over customization, an organization should consider the following:
It’s easy for management to say that payroll should be integrated; however, it’s crucial to identify exactly what data are necessary and where. A more precise answer would be that processed payroll entries from ADP’s Time Entry module should be sent to Business Central’s General Journal on a biweekly basis.
Managers need to work with their consultants and developers to identify if an API exists for what they hope to integrate. The quality of the documentation for that API affects how much can be accomplished independently without substantial testing or support from whoever developed the endpoints.
If an API is unavailable, then organizations should look for export files that can be generated and whether they have the pertinent data for the integration.
Choosing the medium for the integration is another important aspect. An ETL tool, like eOne Solutions’ SmartConnect, can allow less technical users to design simpler integrations where the data doesn’t require complex transformations or staging. Alternatively, a developer can create Job Queues within Business Central that periodically query and transform data from the external system. That data then gets written to master records
(Customers/Vendors/Employees) or to transactions (General Journals/Purchase Documents/Sales Documents/Payment Journals/Cash Receipts).
Simple Business Central extensions are commonly developed to add fields that track unique identifiers from the integrated source. Tracking this information helps prevent importing duplicate entries, while the simplicity of just adding a field limits the risk of incompatibility in future updates.
Assignment of duties is key to ensuring a successful integration. Organizations should pick experienced personnel who can accurately identify integration requirements. Assigning Testers will allow for the vetting of an integration against the requirements prior to deployment to production. Internal or external Administrators need to be assigned for handling records that failed to integrate and modifying integration settings to accommodate changing requirements in the future.
In conclusion, integrations offer a compelling alternative to customization when considering the sustainability of an organization’s ERP, but successful integrations require crystal clear requirements and communication. Research must also be conducted to identify what APIs are available and whether they adhere to the requirements.
In the end, a combination of simple Business Central extensions and well-planned integrations can save time and money when adding functionality outside of stock Business Central.