An issue that's come up while we've been cleaning up our records for GDPR - we have a significant number of records where organisations have been entered as individuals, and vice versa.

This is mostly through user error - for example from records bulk imported as individuals, but also because individuals use an organisation email to sign up or contact us, or we only have an individual contact email for an organisation.

However, there is duplication between these contacts, and testing on CiviCRM I realise that if you create a new individual contact with the email of an existing organisation, 'Check for Matching Contacts' doesn't find the existing organisation. And, of course, the dedupe rules can only be run on either individuals, households or organisations.

Is there any way to set a dedupe rule across all contacts? e.g. a basic check to see if an email is already on the system?

3 Answers 3


You can change a contact's type either by the API or (safer) using the contact-editor extension. Obviously once you fix the types the dedupe rules will work better for you - but I don't know of an easy way to search for dupes across types.

  • Thanks for the tip! I've mostly just re-imported the ones I've found, but will keep that in mind for the future.
    – liblogger
    Commented Jun 12, 2018 at 9:39

Unfortunately you cannot merge 2 contacts of different type AFAIK. Dedupe rule is set of each contact type. Current code in CiviCRM doesn't allow to merge contact of between Org-Ind.

The only possible way to do is to write an script to find duplicate contacts and do merge.

Quick solution(might work or not): 1. Find Contact and Sort on basis of email. 2. Select and delete the contacts



  • Unfortunately we've just got too many contacts for a manual check like that to be practical :(
    – liblogger
    Commented Jun 12, 2018 at 9:37

Actually you can force a merge just it's not officially supported. You need to hack the merge url to use the internal contact ids (the id that appears at the bottom of the contact summary page where it says "Contact ID").

For example, the number 16 after cid below is the "loser" contact and the number 134 after oid is the "winner" contact. The winner is the one that remains at the end. So just take this url and replace those numbers and of course the domain name.


  • Oh, neat. I haven't actually found any where I'd really need to merge them (rather than just deleting the duplicate), but that's useful to know.
    – liblogger
    Commented Jun 12, 2018 at 9:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.