Software Integration Best Practices: MPulse CMMS/EAM and Financial Applications

The advantages of automating business processes between maintenance and finance are many. Businesses have reported these benefits following a successful integration:

  • Accelerate and track the complete purchase lifecycle
  • Reduce emergency non-stock situations by improving usage planning
  • Leverage MPulse’s reporting and forecasting capabilities to drive business intelligence
  • Eliminate manual double entry of inventory and purchasing information
  • Increase accuracy and freshness of data
  • Implement standardized data and improve vendor management

Maintenance and finance are mission-critical business functions for organizations of all sizes, from small business to enterprise. Although financial applications or accounting systems range in features and functionality from QuickBooks to SAP to homegrown systems, the general business work flows andresulting business data integration requirements are very similar.

The best software integration practices described in this paper result from lessons learned over many successful business data integrations of MPulse and best-of-breed financial applications. This document describes the common business data integration touch points and recommended best practices for integrating MPulse with a financial application.

The main objective of business data integration is to provide financial visibility throughout the organization and eliminate error-prone, manual data entry. This is achieved by integrating transactional data between MPulse and the accounting system. To support this effort, several dependent master data records must be integrated as well, most notably Inventory Records and Purchase Requisition Records.

The business data integration will keep both applications in sync so users can be confident they are working with accurate and current information. As new Inventory Items and Purchase Requisitions are entered in MPulse, that information should flow automatically to the accounting system in a timely fashion. Then as transactions related to those records are created in the accounting system, they should be synced back to MPulse to update relevant information and provide financial history for the Inventory Item or Purchase Requisition.

In general, whenever a related record or transaction is modified in one application, those changes should be synced to the other application. It should be stated that the goal of the business data integration is not to build an entire financial system in MPulse and replicate all its accounting business logic and work flow. It is easy to get carried away with the customization MPulse provides. It is best to leave the accounting to the financial application, and synchronize the results back to MPulse for informational and reporting purposes.

Touch Points

Recommended Integration Touch Points

To support the goals of the integration, we recommend the following touch points (places where the two applications interact) between MPulse and the accounting system. Each interface is described in detail in the next section.

  • Inventory Items (Parts, Supply Items, and/or Tools)
  • Purchase Requisitioning
  • Purchase Receiving
  • Vendor Management

Integration Touch Points

The sections below describe the general flow, best practices, and other design considerations for each integration touch point. For the purposes of this discussion, this document assumes MPulse is the origin for new Inventory Items and Purchase Requisitions; however, this is not always the case. For a variety of reasons, some businesses operate by entering new Inventory Items and Requisitions directly into the financial application. That’s OK. You can still benefit from integration by syncing those records and transactions back to MPulse as net-new Inventory Items and Purchase Requisitions, and taking advantage of the reporting and forecasting capabilities that MPulse offers.

Inventory

Inventory Items

Knowing how many parts you have on the shelf is an obvious business necessity; yet managing those counts between two different applications can be a challenge. Manually maintaining inventory location and stocking status to ensure that data is accurate, current, and in sync across multiple applications can be a tedious and error-prone task. Ensuring consistent inventory details in both applications is a prerequisite to transaction integration.

Integration Recommendations for Inventory Items

  1. Sync only maintenance-related inventory. Because financial applications are typically concerned with the entire business operation, we recommend only syncing inventory items that are actually used in maintenance activities. These are commonly defined as non-production inventory—meaning the items are not components of an organization’s end product.
  2. Sync both ways. Changes to MPulse should be synced to the financial application and changes to the financial application should be synced to MPulse. However, keep in mind you do not have to sync every field in both directions. For example, some clients do not want critical information such as price, preferred supplier, part number, etc., to be overwritten by data entered by the maintenance team in MPulse. In these situations, those fields should simply be ignored by the MPulse-to-accounting system sync. Although syncing inventory information both directions is often desirable, it is not uncommon to only sync in one direction; the integration can still function properly.
  3. Swap IDs. Use custom fields flagged as “External IDs” in MPulse and in the financial application (if available) to capture the other system’s ID and “link” the records. This greatly simplifies and improves the performance of subsequent updates to those records because you can determine if the record exists in the other system by simply checking whether that field is populated or not.
  4. Only sync what has changed. For performance reasons, the integration should extract records incrementally to avoid syncing every record every time. This is most commonly done by selecting records whose “last modified date” field has been updated since the last time the integration ran successfully. Alternatively, with a little more work on
    the MPulse and/or financial application sides, you could use a custom “integration status” field to identify which records should be synced based on specific business requirements. For example, maybe Inventory Items should only be synced back to MPulse if the in-stock quantity changes vs. an update to some accounting-only field like lead
    time or shelf life. The integration would then reset that status field for each record it successfully synced.

Purchasing

Purchase Requisitions and Receiving

The Purchase Requisition Record is another master data object that should be kept in sync across the two applications. This allows for purchasing and financial transaction details to integrate properly.

Integration Recommendations for Purchasing

  1. Clearly define the purchase process. It is best to identify the process steps required to purchase inventory from the management of the list of items to be reordered to the method of receipt of those items after purchase. Each step in the process needs to be assigned to one application with updates synced to the other. In general, because of the complexities around general ledger distributions, inventories, taxes, etc., we recommend using the financial application for the purchase ordering and financial details. MPulse is generally responsible for identifying the items to be reordered and for issuing a purchase request to the financial application.
  2. Taxes. To avoid complexity, simply let the financial application handle taxes and sync only the unit price and total costs.
  3. Purchase Receiving. When ordered items are received, the details about the receipt should be entered into the financial application and synced back to MPulse. This assumes that receiving is handled by staff in the accounting department, and this is not always the case. Depending on your business process this step may be reversed.
  4. Swap IDs. Use custom fields flagged as “External IDs” in MPulse and in the financial application (if available) to capture the other system’s ID and “link” the records. This greatly simplifies and improves the performance of subsequent updates to those records because you can determine if the record exists in the other system by simply checking whether that field is populated or not.

Vendors

Vendor Management

The final step in the integration is to ensure that both groups are working from the same list of vendors. This process also ensures that both applications contain the most current and accurate details about each vendor.

Integration Recommendations for Vendors

  1. Sync approved vendors. Often organizations need to communicate the proper vendor to be used. By setting custom fields to indicate “Approved,” the integration can be limited to only those whom the maintenance group should use for ordering items. This approval can also be used to limit the list of vendors to only those relevant to the maintenance group.
  2. Sync both ways. Changes to MPulse should be synced to the financial application and changes to the financial application should be synced to MPulse. However, keep in mind you do not have to sync every field in both directions. For example, some clients do not want critical information such as account number, address, primary contact, etc., to be overwritten by data entered by the maintenance team in MPulse. In these situations, those fields should simply be ignored by the MPulse-to-accounting system sync. Although syncing vendor information both directions is often desirable, it is not uncommon to only sync in one direction; the integration can still function properly.
  3. Swap IDs. Use custom fields flagged as “External IDs” in MPulse and in the financial application (if available) to capture the other system’s ID and “link” the records. This greatly simplifies and improves the performance of subsequent updates to those records because you can determine if the record exists in the other system by simply checking whether that field is populated or not.
  4. Only sync what has changed. For performance reasons, the integration should extract records incrementally to avoid syncing every record every time. This is most commonly done by selecting records whose “last modified date” field has been updated since the last time the integration ran successfully. Alternatively, with a little more work on the MPulse and/or financial application sides, you could use a custom “integration status” field to identify which records should be synced based on specific business requirements. For example, maybe Vendor Records should only be synced back to MPulse if the contact information changes vs. an update to some finance-only field like payment terms or credit limit. The integration would then reset that status field for each record it successfully synced.

Sample Workflow

A typical workflow between MPulse and financial applications looks like this…

  1. A new Part Record is created in MPulse, including stocking information and location details. The new Part Record needs to be ordered and displays on the MPulse Reorder List. The MPulse user creates a Purchase Requisition for the new part.
  2. The new Part Record and the Purchase Requisition are then synced to the accounting system; a new inventory item is created along with a new request for purchase.
  3. Finance sources the best vendor for the Part Record and creates a new vendor record in the financial application.
  4. Finance issues a purchase order to the vendor. Order status is synced back to MPulse along with details regarding the new Vendor Record.
  5. Upon receipt, finance processes receipt details and issues payment to the vendor.
  6. Receipt details—including how many received, date received, and whether any deliveries are outstanding—are synced back to MPulse.

Additional Notes

If you have customer records existing in both systems prior to the integration, there are additional data migration and matching considerations:

  • As with any integration project, you must consider data cleansing to remove duplicates, naming inconsistencies, etc., to prevent the proliferation of “bad” data.
  • There will need to be some kind of one-time global matching exercise to “link” the existing records (e.g., swap IDs). This could be done formally as part of the integration development or informally using utilities like Excel.
  • If it is necessary to link existing records, think carefully about how you will match records: by ID#, by Description, by Manufacturer Part Number, by a custom field, and/or more sophisticated “fuzzy logic” techniques matching on combinations of fields or calculated values.
  • The integration should run automatically “behind the scenes” according to a flexible schedule.
  • Errors that may occur during the integration should be logged to a centralized, always-accessible console or sent immediately to administrators for investigation via email or other communication method such as RSS.

Integration Tool

Until recently, getting all your applications to share data required teams of highly skilled technical consultants and weeks or months of work—sometimes with questionable results. To address this problem, MPulse developed a tool called DataLink Integration Adapter to significantly reduce data sharing complexity. MPulse DataLink Integration Adapter enables your database administrator or local IT team to quickly and easily move data in and out of MPulse using an intuitive interface.

DataLink Integration Adapter can…

  • Import data to MPulse from files, databases, or other applications
  • Export data from MPulse to other applications, files, or databases
  • Schedule imports and exports based on time or file changes
  • Save unlimited “mapping profiles” to your data sources and targets

DataLink Integration Adapter is designed to meet virtually any data integration need, and it’s compatible with a wide array of file and data exchange formats, including…

  • Microsoft SQL Server
  • Oracle
  • Microsoft Excel
  • Text files
  • CSV files
  • XML Web Services

About MPulse Integration Solutions

MPulse Maintenance Software integration solutions enable organizations to scale for growth with integrated applications that deliver organization-wide performance and visibility. MPulse DataLink Integration Adapter significantly reduces data sharing complexity. Organizations can get leading applications, connect them to other software already in use, and see the data from the various systems. Whether you need “boots on the ground” or just a little help migrating data,

MPulse offers a full range of Implementation Services to ensure your success. MPulse Services make it easy for growing organizations to integrate their operations as business needs change without the need to rip and replace existing software. MPulse integrations make it easy to connect cloud and/or on-premise applications—reducing time-consuming, manual, and error-prone data entry into multiple systems. Performance metrics from different systems like MPulse and leading financial applications are available for reporting and analysis to improve business decisions on a daily basis.

To learn more about integrating MPulse with financial applications, please contact your account representative or our customer service team today.