Why Duplicate Detection?

Microsoft Dynamics CRM 4.0 Duplicate Detection is a feature that comes in very handy. Every CRM system has an issue with duplicate records. Over time, it is easy for users to enter a record that is a duplicate of another record in the system. This problem is particularly bad if you have tight security controls so that users cannot see each other's Leads and Contacts. Microsoft provided an answer to this issue with Duplicate Detection (introduced in CRM 4.0).

Every business using Dynamics CRM 4.0 should have Duplicate Detection turned on. But they also need to carefully manage it.

The Rub

One particularly useful feature of Duplicate Detection is that it will also allow you to detect duplicates between different types of records. For example, you can test to see if a Contact exists that matches a Lead. Sounds good, right? The problem is that, whenever you convert a Lead, it deactivates the Lead and then creates a Contact - with the same information. Thus creating a duplicate record. Now - whenever you try to save that Contact, you get the pop-up alert that informs you that a matching Lead exists. This slows down your users and hurts your bottom line. To make matters worse, users get so used to bypassing the Duplicate Detected warning pop-up dialog box that they completely ignore it - and you're back to square one with your duplicate record problem.

The problem comes up because you cannot tell CRM to ignore Leads that have been deactivated. So whenever it performs the check, it compares the contact you are saving to ALL Leads.

The Fix

There are a variety of approaches that can be used to fix this problem. I will use the simplest one here. Larger businesses should develop a more rigorous version of what I have documented, below. This approach assumes that you are using E-mail address as your duplicate detection criteria.

(1) Create a workflow that copies the Lead email address into another field, such as the description field, and then deletes the email address from the email field. This should be an On Demand and Child Workflow available rule.

Copy Email Address to Stop Duplicate Record Pop Up Alert

Update Lead record based on workflow

(2) Create another workflow that runs whenever the status changes. It should call the child workflow, above, if Status=Converted or Merged=Yes.

(3) Finally, create an Advanced Find to lookup all existing Leads that have been Merged or Converted. Run the workflow created in #1, above, on this Advanced Find. This will get rid of all those pesky duplicates that were already created.

Advanced Find to update existing Leads

(4) After you're done with #3, you can change the workflow you created in #1 to not be available On Demand (cleans things up for your users a bit).

You're golden! Your users will write glowing reviews about your proactive resolution of this problem to the CEO. The CEO will praise you publicly and offer you large bonuses. You will ask to bring in the brilliant Microsoft Partner that came up with this idea to help you continue to revitalize, improve and integrate your CRM implementation. You'll pass stories down to your family for generations to come about the day that you solved the duplicate detection problem!

NOTE: Your workflow may not keep converted leads from triggering an alert because the "index" stored in CRM does not update immediately.

Okay, well maybe the CEO part isn't totally accurate! Happy Dup Detecting!