Duplicate Detection while creating/updating records in Titan

Welcome to the next in the series of posts on Duplicate Detection in Titan.

Now you have an idea what duplicate detection is in CRM 4.0 and how to set up your system for de-duplication to work.

The duplicate detection feature can be used to prompt you if you are trying to create a record which is a duplicate of one or more records already present in the system. Also, if you modify an existing record which causes it to become a duplicate of an already existing record, the system will prompt you about the same. You can choose to cancel the creation or updating of the duplicate record or save the duplicate anyway. The remaining part of this post explains in detail, how and when the prompt occurs, and what actions the user can take once the duplicates are detected.

The Duplicates Detected page

Let’s say, there is a published duplicate-detection rule which says that two contacts are duplicates if they have the same First Name, Last Name and Business Phone fields.

Steve, say, is your new sales representative who goes to conferences and field visits, meets people and collects their contact information. In the most recent field visit, Ben bumps into this gentleman named Bill Gates, who seems to be quite interested in the latest detergent powder that Steve’s company, say Mr Clean Detergents, has come out with. Bill however has already been using Mr Clean’s products, courtesy Paul, the ex-salesperson of Mr Clean. So, Bill’s contact details are already present in the CRM solution deployed by Mr Clean. Oblivious of this, Ben enters the contact details of Bill on the Contact page in CRM and clicks the Save button. The Duplicate detection dialog pops up, as shown in the picture below. Note that the same dialog will appear if Ben decides to click on ‘Save and Close’ button or ‘Save and New’ button on the entity form.

The duplicates detected page consists of the following 4 parts, in order of appearance from top to bottom:-

1) The new/updated record table – This contains information about the record which the user has just created or updated. The row in this table contains some of those values which the user has typed on the entity form before hitting Save.

2) The potential duplicate records drop down list – This drop down lists the different types of duplicates found in the system, and the number of duplicates of each type. The duplicate-detection rules determine what the different types of duplicates for a particular record could be. For example, if a rule specifies that a Lead is a duplicate of a Contact if they have the same First Name and Last Name then the system will look for duplicates of the current Contact among Leads also. And if there is one Lead in the system with name “Bill Gates”, then this drop down will have an item “Leads(1)”.

In the current example, however, assume that only two contacts were found to be duplicates of the record the user is trying to create.

3) The duplicate records table – This table shows all the duplicates of the type selected in the Potential duplicate records drop down above. So, in the figure below, this table contains all duplicate contacts, since Contacts is the type selected in the drop down above. If there were more types of duplicates, say Leads, then the Potential duplicate records list will contain an entry for Leads. If Leads is selected, then this table is refreshed to display those lead records which are duplicates of the current record.

4) Button panel – This panel consists of 3 buttons.

a. The Save Record button is used to ignore the duplicates of the current record and go ahead and save it anyway. It was perhaps, because Paul pressed this button when he was creating an entry for Bill Gates, that there were two records with the same name (Bill Gates) and Business Phone (+1-(425)-341-xxx) already present in the system.

b. The Cancel button is used to cancel the creation/updating of the current record. If Ben decides, based on the duplicates displayed in the Duplicate records table, that the record he is trying to enter already exists and he needn’t create a new record, he would press the Cancel button. Pressing this button takes you back to the entity form on which you had pressed the Save button.

c. The Help button is used to display help on this page.


Resolving Duplicates

There’s more you can do than just Save the current record or cancel it. You can perform the following actions on the duplicate records in order to resolve the duplication:-

1) Delete the duplicate record. If Ben decides that the duplicate record is stale (has outdated data like e-mail address) or has lesser information than the one he is trying to enter, then he can simply delete the record by clicking on the Delete Icon on the top left of the Duplicate records table. The deleted record will disappear from this table. Then Ben can go ahead and save the new record by pressing the Save Record button.

2) Deactivate the duplicate record. Ben might not want to lose the data entered by Paul. So, instead of deleting it, he can go to the More Actions menu and Deactivate the record. However, this option will work only if the type of duplicates reported in the table are of one of the following types: Accounts/Contacts/Leads. The user may also Activate an inactive record if he wishes to, by selecting Activate from the More Actions drop down menu.

3) Update the duplicate record. If Ben discovers that the record entered by Paul has more information than the one he is trying to enter, but has one or more fields missing, he can open the record by double clicking it (or by selecting Edit from the More Actions menu), and add new information or update existing fields and save the record. After saving he can simply click on Cancel to abort the creation of the existing record.

Note that when any of the above actions is taken, the record on which this action is taken is removed from the duplicate records table, even though that record might still be a duplicate of the current record.

Advanced Topics

Here’s another attempt, if I have been unable to satiate your curiosity until now J.

1) Why are the duplicates called Potential?Note that the adjective ‘Potential’ qualifies the term ‘duplicate records’ in the picture above. Here’s why. Let’s say, we remove the Business Phone criteria from the duplicate-detection rule used in our example above and publish it. This would mean that any two contacts with the same First Name and Last Name are duplicates of each other. Now there could be several Bill Gates in the world, and unfortunately the one whom Ben met was different from the one whom Paul had met. So, while entering his contact details, the system would still prompt Ben that there is already a Bill Gates in the system. Now, it’s up to Ben to decide whether that Bill is the same as the one he met. The system doesn’t know if the two people are the same. All it can do is tell you which records match the criteria you have specified. And hence, the usage of the adjective ‘potential’.

2) What columns are shown on the tables in the Duplicates Detected dialog? – The following columns are shown on the tables in the Duplicates Detected dialog:-

a. Primary Field – This is the user-friendly information (typically the name) of a record using which you identify the record. For example, the full-name of a Contact, the name of an Account and so on.

b. Status – The status of the record. The most common values of this field are Active and Inactive.

c. Modified On – The date on which this record was last modified. This helps you determine how old the record you are viewing is.

d. The Rule fields – The above 3 columns are followed by those fields on which there are published duplicate-detection rules. For example, if there are two duplicate detection rules, one which says that contacts are duplicates if they have the same e-mail addresses, and the second which says that contacts are duplicates if they have the same first name, last name and business phone numbers, then the table will contain all the email-address columns on which the first rule is defined, the first name field, the last name field and the business phone field. The rule fields are displayed because it is due to some or all of these fields that the record was detected as duplicate of the current record.

e. The Lookup view fields – All Lookup view fields which are not already part of one of the above types of columns, are displayed next. You may customize the fields in the lookup view of an entity from the Settings->Customization area.

Note that the new/updated record table also consists of all the above fields, except Status and Modified On.