Hi all,
We are currently implementing Nonprofit Cloud and are running into issues finding a deduplication tool that merges all of the records within a Household. We are currently testing the Plauti app.
When the Household merges, the Party Relationship also needs to be merged, two duplicate Person Accounts under the "winning" household also need to be merged. In addition, after the Person Accounts are merged, their duplicate Contact Point records also need to be merged. This is a lot of steps and requires a lot of manual intervention. We also need to be able to do this in mass, not just on a one-off basis.
How are others dealing with duplicate management?
#Nonprofit Cloud
@Mckenzie Freeman there isn't one native merge that walks the whole household graph in bulk.
Nonprofit Cloud keeps the household as a Party Relationship Group on an Account, the people as Person Accounts, and email, phone, and address on Contact Point records. A normal Account merge gets blocked when both households already have a Party Relationship Group, because that group is unique per account. The supported path is the Party Relationship Group merge, and that is still one pair at a time. There's an IdeaExchange request for bulk merge of household accounts that have those group records, which is the wall you're hitting.
Person Account merge is a second step, and it does not merge or reparent Contact Point records. The losing person's email, phone, and address can be left behind, so someone still has to decide which contact points survive. A dedupe app can find the duplicates. I wouldn't assume Plauti collapses the group, the person, and the contact points in one transaction just because it can merge accounts.
For a mass cleanup I'd split it. Match and merge the people first, then merge the Party Relationship Group onto the winning household, and review the contact points that didn't follow. The people doing the group merge need Merge and Split Groups on a cloned Group Membership permission set. If you're in the thousands, the group merge API takes a primaryAccountId and a secondaryAccountId, still one pair per call.