The Big Nasty Surprise in Every ERP to CRM Integration

, ,

Does this story sound familiar?

For years your sales team has been frustrated that they do not have any sales data. They cannot see any order information, or if they do, it is because someone in finance has been emailing a spreadsheet every day or week. The information is dated, there is no detail and they cannot take action. At the same time, the management team is complaining because the sales team does not appear to be proactive. It seems like they are surprised at the end of the quarter when they miss their number.

“Why doesn’t the sales team DO SOMETHING BEFORE the end of the quarter?” thunders the CFO/CEO/COO or some other CXO.

And then Jenny, the CIO, speaks up. “What if we integrate the ERP and CRM system so the sales team can see all the order data?” she asks.

And the clouds part. YES! That is the answer! Everyone cries at once. The project plan is drawn up. The architecture is clear. An ROI analysis shows a massive payback and quickly. The project is green lit. The vendors are selected and the implementation roars to life. Finally the day of the go live for the new system is here. Everyone is excited.

The training begins and that’s when Jenny the CIO finds out why CIOs have such huge turnover. She overlooked one really mundane and nasty mistake…


Sandy and Bill are on the sales team. They show up for the day of go live training and are given access to the sparkling shiny new CRM. It’s an awesome system. Mobile friendly, easy to use, beautiful looking reports. “Wow” laughs Bill, “It looks so clean and easy to use. I think this is the year I actually start using the CRM!”

“Yeah” says Sandy dreamily, “It’s everything I ever wanted a CRM to be. Imagine how much I’ll sell this year. Let me pull up my list of prospects and customers.” A sudden storm cloud passes over Sandy’s face. Her brows knit together and she raises her hand.

The trainer comes over. “There seems to be some kind of glitch here,” Sandy says politely. “It appears I didn’t get my customer list imported correctly. I’m seeing seven different accounts for Yahoo. Look! Here is ‘Yahoo’, ‘Yahoo!’, ‘Yahoo, Inc.’, ‘Yahoo Corporation’, ‘’ and ‘Yahoo – do not use anymore’. I know Yahoo is my longtime customer for the past three years, so which one is mine?”

The trainer notes the problem and promises to look into it. “Uh wait” says Bill, his voice taking on a stressed tone, “I have 51 records for Wal-Mart and I don’t recognize any of them! Where did these come from?” Before the trainer can respond the flood gates open; panicked sales people are reviewing customer list after customer list, all with similar complains of account data that does not mean anything to them. They are reviewing, yelling, crying out, someone pulls out an inhaler.

The trainer is trying to hold it together, but eventually he breaks down and says “Hey, we just moved the data from the ERP to the CRM. This is your data, not our data!” “It’s not mine!” the sales team fires back. Who entered this stuff? The training meeting ends and Bill leaves with a mumble “Man, they screwed it up again. I’m never using this CRM!”


As the project goes live the story gets worse. The contacts in the ERP mean nothing to the sales team either. “I don’t need the A/P person, I need the general manager . . . where is his number?!” cries Sandy. No one can find their contacts. The accounts do not make sense. The CIO is in hysterics because she promised a great ERP/CRM experience and the consultants who put it together ask “Didn’t know you this was your data?”


If only this story were an isolated incident, but the reality is that it isn’t; it happens over and over again. Why? In our experience the answer comes down to four factors:

#1- The people using the ERP system do not complain, so no one is aware it is a problem

One of the major differences between financial systems (back office) and sales and marketing systems (front office or “Customer Experience”) is that back office book keeping is mandatory. Everyone needs to know where the money is. The sales and marketing team however can do their job (albeit not as well) without a CRM. So if the ERP is not usable or is too time consuming, the answer from the CFO is ‘too bad’ and the job just gets done. So if there are seven records for one account because they need to have different billing information, well, that’s just how it is going to be.

#2- Keeping data clean and simple has little value in ERP

In a system where no historical records can be deleted, the need to create new account records and keep the billing and shipping straight always takes precedence over concerns about duplicate records. Furthermore, it is common for orders to be placed by one central office and shipped to many different locations. (Example: Wal-Mart’s HQ might order product for its multiple distribution centers or even individual stores.) Every ERP implementation has a different way of keeping that straight. It makes sense to the finance team, but the sales team just goes blind when they see it.

#3- Data Cleansing is a Dirty Job A dirty, thankless job that no one values and everyone considers grunt work of the lowest level.

Have you ever seen an employee get the “employee of the month” for removing a bunch of duplicate records? Of course not. Yet, it is a key part of the data hygiene that keeps a company’s record keeping healthy.

#4- Everyone assumes the sales team will be ok with the data

No. They won’t. Trust us. You are walking head first into a proverbial buzz saw.


So how does one keep a bunch of high energy sales people from exploding when they see ERP data that is dirty and confusing and messy? There are at least three things we’ve seen that will cut down or eliminate this problem. Each has varying degrees of success and effort.


A. Clean the Data First

No one likes to hear this. Everyone wants to get going with the ERP/CRM integration. Cleaning data sounds boring (hint: it is) and is stopping us (in theory) from realizing the HUGE ROI that comes from this integration. For too many clients the temptation of the exciting project reveal is too great. They cannot wait and go for it. However, many of our clients on their second or third CRM/ERP integration will stop and perform this step. Good judgement? It is often written that “Good judgement comes from experience. Experience comes from bad judgement.” Apparently it is a lesson we all have to learn once (us included!) 

B. Redesign the Integration

Often times when the real business need is examined, the gains for the integration come from the awareness the Sales Team obtains from the orders and less from the matching of consistent account records. In that case, it is possible to NOT integrate the account and contact records for the customer and just bring over sales data in some organized and aggregated fashion. In other cases, we’ve used a “key accounts” intermediate table to aggregate the sales data by key account and give the sales people the information they need by key account. Again, for one way sales visibility it can work wonderfully. In situations where two way integration is desired, that model often breaks down. In some cases if an ERP is already set up with a parent/child relationship among its accounts, we can usually map just parent accounts to CRM.

C. Reset expectations

One client of ours has a very strong personality in the CFO position who had a lot of firm guidance on operations. He kept his data relatively clean and so he was able to enforce a standard on account creation that was consistent and reasonably easy to grasp. He worked with his counterpart in sales to make sure both parties acknowledged that integrating data meant both sides had to integrate the way they thought about customers. With the right expectations, the sales team was able to move forward and adopt the new CRM with reasonable success.

D. Reverse the Arrow

This was a particularly bold move, and for one client this worked well. Instead of sending account records from the ERP to the CRM they did it entirely the other way around. New accounts were created in CRM (where new customers are born anyway) and sent to the ERP system. It was a bit more complex than that (approval processes and whatnot) but the gist is that the entire company was set up to view the customer from the sales point of view first and then fulfillment and billing followed suit. In final analysis, that big ERP/CRM integration holds a lot of promise for ROI, but only if you solve the dirty data problem. It also unites two very powerful departments – sales and finance. If it is done correctly, there is a new level of proactive sale people, higher levels of sales adoption and quicker fulfillment for customers. But avoid the dirty data trap at all costs. It is a mundane trap that gets even the best because it is just one of those details that no one enjoys researching.

Contact us and we will help you assess and plan for a project that will get you where you want to go with a minimum of surprises!

Z.E.N. tip # 7863 (Using External Keys in OSC Web Services)

, ,

As part of our ongoing efforts to make life in the Cloud easier for everyone, we are proud to release the first in an ongoing series of SFCG Z.E.N. tips (Zero Effort Needed).

The series as a whole is designed to give fellow Cloud dwellers some handy tools to improve their experience. Today’s tip comes to us from Senior Integration Engineer/Cloud Ninja David Byrd.

* * * * *

Recently, I have been exploring the new realm of Oracle Sales Cloud web-services. My goal is to illustrate some best practices in using the web-services API. Today I would like to focus on the Sales Cloud release 10, in particular using the Account and Contact services for initial testing in SOAP-UI. So after retrieving the appropriate WSDL for the instance for the Account and Contact, you should have WSDL locations like below where xxxxx is the Oracle Sales Instance:

These web service stacks have similar actions for retrieving, inserting, updating and deleting data. The main action I want to focus on is the mergeAccount and mergeContact. These actions are very similar and let you insert a record if the key does not exist, or let you update it if it does.

That is great, but the newest release takes it a step further, and allows you to update via an External ID. An example of the mergeAccount xml is shown below Ex1

In release 10, the SourceSystemReferenceValue field truly works as an external key to update an account when using the mergeAccount after initial insertion. You do not need the Sales Account PartyID at all. But it gets even better, please review the mergeContact xml below:


Notice the AccountSourceSystemReferenceValue field is set to the same value of zzzzz001. The actually makes the association of the current contact being inserted or updated, to the account already loaded with an external id of zzzzz01.

The value of just this simple external key will allow you to migrate data for Account and Contacts from other systems, and not worry about the actual Sales Cloud keys during your migration.

* * * * *

If you have any ideas for future topics in the Z.E.N. tips series just let us know in the comments and we’ll do what we can!

3 Reasons a Dedicated, Pre-warmed IP is a Great Investment

, , , ,

Your company has finally made the jump into the big leagues and signed up to take advantage of all the business tools Eloqua has to offer. To ensure the maximum return on your investment as quickly as possible, you need to start getting your emails out to as many people as you can. But how do you make sure they actually get your message? A dedicated, pre-warmed IP is one of the most effective ways to do so, and here’s why:

3) You Can Control Your Own Destiny: As professional marketers, you have a good idea who your perfect target audience is. Using a powerful marketing automation tool like Eloqua, you can best target those customers and ensure they hear your message. After getting the software set up and crafting the perfect message to target those perfect customers, it would be a real shame if they never even got your email. Having a shared, cold IP you run that risk. Sure you can save a few bucks by sharing an IP, but is that really the best idea? The old adage ‘pound wise, penny foolish’ comes to mind. A shared IP address means your email deliverability (your ‘sender score’) is directly impacted by the actions of the other Oracle Eloqua clients sending their campaigns from the same IP. All it takes is one bad campaign from another company going out over your shared IP address to lower your score to the point that no one sees that content you spent so long perfecting. With a dedicated IP address for your Oracle mail server, you increase your ability to get your emails into the inboxes of your target contacts.

2) Your Only Chance at a First Impression: The Internet Service Providers (ISPs) are the final decision makers on how email gets marked- either good email or spam. While it is possible to get content that has been marked as spam through to your recipient, it’s better to not get it flagged in the first place. IP warming is a great way to avoid this. So what is IP warming? Put in its most basic terms, IP Warming is sending out low volumes of emails to get the various ISPs used to you and to help build your reputation or ‘senders score’- which is partially used to determine if your content is spam or not. Think of it as getting the IPSs to trust you. If your first email from a new IP is sent to too many people on your mailing list at once, you might not ever be able to reach them again. It’s much better to start off on the right foot and get the ISPs on your side to begin with. That way when you send out that awesome email you’ve spent so long perfecting, you know it’s going to reach as many people as possible.

1) A Higher Rate of Qualified Leads Passed to Your Sales Force: Once you have your dedicated, pre-warmed IP up and going you can best utilize all the features Eloqua has to offer. You can be assured that more of your content is reaching your target audience and can better track who is interested in what. By assuring that your message gets to the right people, you will see a higher rate of qualified leads being passed to your sales force. This means that they won’t be wasting their time or efforts trying to sell to people who don’t want to buy, but instead can focus on customers who DO want what you’re selling.

A dedicated, pre-warmed IP should not be viewed as optional equipment but instead as a basic requirement that will help get you up and running as quickly as possible. Here at SFCG we have regularly delivered IP Warming in the course of our customer’s Eloqua implementations and so far they have all gotten up faster and more effectively then customers who do not take advantage of this service.