Integrations between ERPs and external systems

When analysing the different Enterprise Resource Planning (ERP) softwares that are available on the market today, it is very hard to find one which takes care of all the complex requirements that pertain to a specific part of a business. Most of these systems are designed to take care of the general requirements one might expect when dealing with an area of business and therefore, this might lack some critical requirements for a company which is heavily invested in one of these areas. 

Most of the time, the ERP must communicate and integrate with other external systems, doing this in an efficient manner that does not affect the users which are interacting with the ERP. In order to do so, there are several key questions that one might want to ask during the design of an integration which can provide a better understanding of what is expected from it.

 

What are the performance requirements of the integration?

This is a very important question that needs to be asked as certain systems might have some performance restrictions when communicating with external systems. 

Let’s say that, as part of an integration, the external system must get a list of all the customers set up in the ERP. If run once daily, this is a simple task for the ERP to perform and it will not affect it but, executing the process multiple times an hour might cause the ERP to underperform, especially when taking into consideration that there are other processes that might be also executed at the same time. It is because of this that it is important to define how quickly the integration must happen as well as whether the integration must be run during peak hours of business or if this can be left to off-peak hours where the load on the ERP might be less. 

Another factor is the data transfer protocols supported by the target system. For example, a REST-based integration might be faster than a SOAP-based integration because of its stateless design and high efficiency. Even though most modern system today use the RESTful approach, it is always a good idea to determine the integration protocols that the external system supports.

What information must be logged?

As with any IT system, auditing is a critical point since this helps to trace the interactions between the two systems as well as keeping track of any issues that might arise. Throughout the integration process, there is a heavy dependency on a system that we have no control over and it is because of this that it is imperative that any important information provided by the external system (such as status codes and messages) are stored, irrelevant if the integration process is successful or a failure. One thing to keep in mind is that not every successful integration process results in the expected outcome and, any scenarios such as this must be able to be identified.

Does the integration have to be performed using a synchronous or asynchronous pattern?

It is highly dependent on the integration scenario as well as the target system. Most systems nowadays provide both but suggest that asynchronous patterns are used. As well as identifying what is supported by the target system, it is also important to identify the ERP’s supported integration patterns as these different from one to the other.

What are the properties of the data that needs to be integrated?

It is important to identify the different factors that make up the “data”. The first things that might need to be taken into consideration is the format of the data being integrated. Most modern ERPs support a wide range of formats such as file based, XML and JSON. 

Another point that would need to be specified is the amount of memory that a message contains. Most systems have limitations as to how much data can be transferred in one operation and therefore, it is always a good idea to make sure that this is something which is defined as early as possible. 

Some integration scenarios might also require transformations to be performed on the data before this can be sent to external systems. It is important that this specification is defined during the design stage of an integration since this can greatly affect the effort required to integrate the two systems as well as have an impact on system performance.

 

What security requirements must the integration abide by?

Since ERPs deals with a company’s sensitive data, any integration between the ERP and any external system must be done in an extremely safe and secure manner. Therefore, it is of great importance that security requirements such as the protocol that must be followed, the authentication type and any other details are captured at the design phase so that successful communication between the two platforms can be established. 

person touching screen

In conclusion, there are several questions that must be asked when integrating two systems together, all of which depend on the systems being integrated and the complexity of the integration scenario. An integration between different systems is never easy to design and develop but, hopefully, the questions and their answers defined in this articles is always a good place to start and will help in identifying other requirements that are critical for a successful integration.

Contact us

Michel Ganado

Michel Ganado

Digital Services Leader, PwC Malta

Tel: +356 2564 7091

Etienne Falzon

Etienne Falzon

Senior Manager, Digital Services, PwC Malta

Tel: +356 7973 6377

Follow us