When we implement IBM Maximo Asset Management for clients, we are usually required to integrate it to an enterprise resource planning (ERP) system. I find myself having the same conversations with every client on the most effective way to achieve this and what steps need to be addressed to ensure the integration design meets all its objectives and delivers seamless integration between the two systems.
The recurring questions prompted me to write my first blog post to discuss these topics.
This blog will focus on the process of integration and not the technical aspects of the integration. Regardless of the ERP provider, the steps required to address this integration process are the same. We should look at each of the following steps:
1. The what: What are the data sets that need to be shared?
2. The when: When is this needed?
3. The how: How are we going to perform the integration?
I thought I would split this into three blog posts. This first post will focus on the what?
There are typically two types of data to consider: master data and transactional data. Common master data sets include the following:
- Organizations
- Sites
- Materials
- Storerooms
- Inventory holding
- Services
- Companies
- General ledger (GL) components
- GL codes
- Currency codes
- Exchange rates
- Financial periods
- Contracts
- Condition codes
- Units of measure
After we have decided on the master data sets that we need to address, it’s time to determine in which system each set will be mastered. This will inform us about the direction of each of these integration points.
In the projects I have worked on, the most common output of this discussion is shown in the table below listing which system will master each data set with the second system being a slave. As an example the material data set would be mastered in the ERP system and integrated to Maximo Obviously there can be exceptions to this depending on the discussions you have with each client.
Data Set
|
Master
|
Comments
|
Organizations
|
Shared
|
Usually manually aligned
|
Sites
|
Shared
|
Usually manually aligned
|
Materials
|
ERP
|
|
Storerooms
|
Maximo
|
|
Inventory holding
|
Maximo
|
|
Services
|
ERP
|
|
Companies
|
ERP
|
|
GL components
|
ERP
|
|
GL codes
|
ERP
|
|
Currency codes
|
ERP
|
|
Exchange rates
|
ERP
|
|
Financial periods
|
ERP
|
|
Contracts
|
ERP
|
|
Condition codes
|
Maximo
|
|
Units of measure
|
ERP
|
|
Now that we have the master data identified, we need to look at the transactional data that has to be integrated between the two systems. Transactional data includes the following:
- Purchase requisitions
- Purchase orders
- Material receipts
- Service receipts
- Invoicing
The first thing I would look at here is the business processes that will be impacted by each of the above data sets.
The reason for this is that there is no real master system for transactional data, which in effect would drive the direction of the integration. Instead, the business process is what determines the flow of this data as shown in the diagram below:
Also in the case of transactional data, the systems will generally be transferring this data on a more frequent basis but I will cover the frequency in more detail in part 2 of this blog.Again, although this can differ, here are the most common results of determining the direction for each of these data set integration points. These results should be based on the process reviews and focused on understanding the actors in each process and how they would interact with each system. In my example below for instance the purchase request process review highlighted that the purchase requests were generated based on the demand from either work orders or the stock reorder routines. This identified two key actors, “Engineering Planners” and “Stores Supervisors”, both of which would be using IBM Maximo as their primary system, therefore requiring the purchase requisitions to be generated in Maximo and sent across to the ERP:
Data Set
|
Source
|
Target
|
Purchase requisitions
|
Maximo
|
ERP
|
Purchase orders
|
ERP
|
Maximo
|
Material receipts
|
Maximo
|
ERP
|
Service receipts
|
ERP
|
Maximo
|
Invoice
|
ERP
|
Maximo
|
And finally we look at the stock movement types of transactions:
- Issues
- Transfers
- Balance adjustments
- Cost adjustments
In most of the implementations I have done, these transactions are all typically generated within Maximo and sent to the ERP system, as this is normally the owner of the stockholding data.
This may not be the case for your client. I have implemented integration models where the ERP system was actually the master for the inventory data. The main point here, though, is that you should now have the basis to start on the next step of the integration design.
I hope this has been informative and useful, and I look forward to you sharing your own experiences. How do they differ from the examples I have covered here?
I hope you will follow me on Twitter @stevealee0 and keep a look out for the next blog post in this series where I will look at the when step of integrating Maximo into your ERP.