Integrating a sales customer relationship system (CRM) with an accounting system.

This is a specific example of applying the same general thought process to the business function of two systems which need to be integrated. The answers to these questions will be different depending on the specifics of each problem - but the same general concepts will always apply.

Let’s apply the questions from What is the first thing to do when you need to integrate two systems? to a practical example of what we needed to think about when we wanted to integrate our customer relationship management system with our accounting system.

How will we line up records from two systems so we can refer to the common things in each system? How big is the problem? How could we solve it?

For this example the common entity was customers. To solve it we needed to have a way of creating a mapping of customer IDs in the accounting system with customer IDs in the CRM. They happened to have different names within each system - notice I am deliberately not bothering to say which systems we happened to use.

The size of problem of data matching problem was in the order of thousands of records - not millions.

Both the systems in question have the ability to specify custom extra fields in the customer screens which could be used to store the IDs in the other system.

(Hint this is core integration concept - ID mapping)

Who has this knowledge? How can we make it easy to get this knowledge?

The people with the knowledge were sales staff and the finance team. Given we were talking about thousands rather than millions of records, the easiest way to solve this was to use Iguana to make a data feed from both systems and combine the output into an excel spreadsheet. To do this the integration engineer had to write a couple of simple adapters for each system.

From that it was possible with a few short in person conversations with the head of finance and sales to figure out the mapping of customers in the accounting system to the sales system.

It didn’t require artificial intelligence, fuzzy matching algorithms or any other fancy technology. Remember KISS - keep it simple stupid.

When we get this alignment done how can we get everyone to buy in and keep the alignment?

The key here is to quickly deliver something useful after getting the alignment done. If you make something useful that makes the job of the sales people and the finance staff easier, then you have created the motivation for both teams to put the effort in to keep alignment of the systems.

In our case it was all about taking invoices from our accounting system and attaching them to our sales system - it was a huge time saver for both departments since it gave our sales staff the ability to see the financial state of each account without needing to schedule time with the finance team.

This project has progressed to the point that we have now substantially automated the role of an account manager.

Â