Contacts: Data Cleaning: Merging + Deduplicating Contacts in Odoo 12 + 13

Purpose

The purpose of this document is to go over the ins and outs of Contact Merging and Deduplicating. It's not uncommon for contacts to be duplicated in the Odoo Contacts app. Merging and Deduplicating provides a method in which to combine like-contacts and delete some superflous records to keep things tidy.

We recommend discussing naming conventions with your team to avoid this situation. Be sure everyone's on the same page when it comes to titles, middle initials, capitalization, and how much information is required to be gathered at the contact creation stage because any one of those factors can hide a contact from a search. 

Good to Know!

There is No Undelete

Deleting contact records is final, and not advisable if there are relevant documents associated with the record, such as incomplete quotes or discussions. In that case,  Archiving the record will hide it from use on future actions without removing the information. 

A record may be archived using Action > Archive.

Process

To get started, navigate to the Contacts app.

Odoo image and text block

Merging vs. Deduplication

Merging is the action used to combine contact records and reassigns all financial records to the destination contact. The Deduplication action should be used when a record is created by mistake and has NO sales or purchases associated with it. 

In the following scenario, we'll use the test subject Mae Berry. Mae works for and owns Mae Berry Daycare. Let's see if she has any duplicate contacts that could be merged.

Search for a partial term that is likely to bring up the records in question. For our example, we have three copies of Mae Berry, so we searched 'Berry' in contact name with a filter of Individuals to find our problem records. We're displaying the records in List view.

Odoo image and text block

You can see that Mae exists as an individual (Mae-Ellen Berry), and a child contact of two separate companies (Hibou Sweets and Mae Berry Daycare).

The following record for Mae, with Mae Berry Daycare, shown below, has two sales associated with it that were intended to be made under the Mae Berry Daycare parent contact. From what you know about Mae, you're confident this is the most correct record for her. This is your Destination Contact. This means that no data will be lost from this record. Information will only be added from the other contacts.

Odoo image and text block

The record below has 1 sale, but it also lists Mae as a Salesperson for Hibou Sweets. You know this is incorrect. Since there's a sale associated with this record, we can't delete it or it will cause a server error. This record should be merged to the first.

Odoo image and text block

This next record isn't associated with any sales or company, her name is spelled differently, but her profile picture, email address, and website link match the records above.

Odoo image and text block

First, let's merge the Hibou Sweets record with the Destination Contact. Enter List View and select the two records and then select Merge from the Action   menu.

Odoo image and text block

This will open the Merge Contacts tool window. Again, the Destination Contact is going to be the final result of the merging. Odoo will assume all information contained therein is correct, and it will not be overwritten. Compare the records and click Merge Contacts when you're ready. 

Odoo image and text block
Odoo image and text block

Once the action is complete, you have the option to pursue the deduplication of other Contacts. 

Odoo image and text block

Click the Deduplicate the Other Contacts button and you will be presented with the following. Check all of your search preferences, and note that if there are more than one selected, Odoo will only propose the merging of the records that have identical information in all of those fields. This prevents overwriting due to similar names, etc.

Odoo image and text block

During the initial implementation, we recommend Merge with Manual Check. Merge Automatically will not allow you to refine the process before the work is done.   

Once done, we can see that Mae Berry, from Mae Berry Daycare, is now showing 3 sales, reflecting our history with the contact accurately. In the chatter below, we can see the record that we merged with this one is noted. 

Important!

Odoo will assume the destination contact is correct but any fields on that record that are blank will be filled in with the data from the merged record! That means it is possible to assign someone's cell number to the wrong contact, for instance. Make sure the contacts you are merging are the same person, or, edit the merging record to remove any information present that does not belong on the destination record. 

Odoo image and text block
Odoo image and text block

As for the individual record for Mae-Ellen, you can simply delete this record because there is no financial data tied to it and she already exists in contacts under the appropriate company. If there were financial data associated with this record, you could  Archive it for reference later, such as when an employee we previously worked with has left the company, but still is tied to financial data. 

To delete a record, select it from the list and choose Delete from the Action  Menu. 

Odoo image and text block