In this blog series I’ve been thinking about the most common questions I get when integrating IBM Maximo Asset Management into an enterprise resource planning (ERP) system.
As I mentioned in my first blog post, I split this process into three steps:
- The what: What are the data sets that need to be shared?
- The when: When is this needed?
- The how: How are we going to perform the integration?
In Part 1 I discussed the what component, and in this blog post I am going to cover the when.
Once you understand what data you need to share between the Maximo and ERP systems, you need to find out when the data is needed.
To get the answer, you need to look into your business processes and the data that is required to support them. For example:
- A company’s data would be required to create a purchase requisition.
- Currency data would be required for the above company and the resulting purchase requisition.
Personally, I use a data flow diagram to visualize the flow of data that each business process needs :

After you look at each business process and think about the data that is required to support it, you can create your data flow process.
In this case, I was working with the business process for the initial setup of a new organization.
In the case of the purchase request process, there would also be a data dependency for the purchase requisitions on the general ledger (GL) accounts being available. Because of this, your data flow would build as you work through each process.
The whole idea here is to understand the data dependencies and then use this in the next step, which is to look at the timing and frequency.
For the master data sets that we identified in Part 1, this is reasonably straightforward. However, if not given the time it deserves, your implementation will run into multiple issues with data that is not available to complete a task within a process.
The frequency of data integration really depends on each process within your organization but it will usually fall into one of two categories: real time or batch integration.
Real Time integration is based on an agreed event against a single record that would trigger the integration action for this record, whereas batch integration selects a number of records matching specific criteria at an agreed point in time and then sends these via integration as a group of records.
An example of real-time master data integration would be a company record that is required by a user to create a purchase requisition. In this case as soon as the company record is created and approved for use in the ERP system it would be sent to Maximo and therefore available to the user.This could also be batch integration with a relatively short, maybe hourly, timeframe.
An typical example of batch integration would be for the exchange rates data set which may only need to be updated on a monthly basis so would be scheduled as such.
Real-time integration in the true sense is almost always required when we start to look at the transactional data flows. Transactional data is generally transferred on a more frequent basis, and there is a natural flow in the creation of these data sets.
In the case we looked at in Part 1 the purchase requisition (PR) is required in order to create the purchase order (PO). Now we need to know at what point the PR will be ready to move to the next step in the process. For real-time integration, these are called trigger points, and in our case we will define this trigger point as the PR status changing to “approved.”
So now our data flow would look like the following diagram:

Data Set
|
Source
|
Target
|
Trigger Point
|
PR
|
Maximo
|
ERP
|
On approval of PR
|
PO
|
ERP
|
Maximo
|
On approval of PO
|
Material Receipts
|
Maximo
|
ERP
|
When status of receipt is COMP
|
Service Receipts
|
ERP
|
Maximo
|
When status of receipt is COMP
|
Invoice
|
ERP
|
Maximo
|
On approval of Invoice
|
When it comes to invoices, I usually have a discussion with my clients to cover the reasons why they might require invoices back in Maximo. In my opinion, this really comes down to one thing: Does the company allow approval of invoices that have high value variances between the PO value and the invoice value?
If your answer to this question was yes, then you will need to consider invoice integration because this could significantly affect the following:
- The value of any stock balances you have and therefore any recent and future costs of issues of these materials
- The total costs of materials against work orders and therefore the rolled up costs against assets and locations
If your answer was no, then the impact on the costs in Maximo would be minimal and it may not be worth the effort to integrate the invoice data set.
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 my next blog post in this series where I will look at the how of integrating Maximo into your ERP.