Knowledge Base / Contacts

Merging Duplicate Contacts

Updated October 5, 2026

Duplicates happen — a parent fills out an application while an admin also adds them by hand, or the same file gets imported twice. Merging combines two contacts into one, moving all history (invoices, payments, enrollments, forms, emails, notes, files) onto the contact you keep.

Warning: Merging is permanent and can't be undone. Review the details carefully before you merge.

Find duplicates

  1. Go to Enrollment → Families.
  2. Open the actions menu (the ⋮ button) in the top-right corner and choose Review duplicates.

The Review duplicate contacts page lists groups of contacts that share the same name, with each one's email and roles so you can tell them apart. Click Review on a group to open the merge page for the first two contacts in it. If a group has more than two contacts, merge a pair, then come back to the list for the next.

You can also merge any two contacts by hand: on Families, select exactly two contacts with their checkboxes, open the bulk actions menu, and choose Merge contacts.

Merge two contacts

The Merge contacts page walks you through the merge:

  1. Under Which contact to keep?, select the surviving contact. The other contact's records will be moved onto it.
  2. Under Choose which details to keep, pick the value to keep for each field — name, emails, phones, gender, birthday, student number, family, and address. The keeper's values are selected by default, falling back to the duplicate's when the keeper's is blank.
  3. If anything needs your attention, a Please confirm before merging section appears. Read each warning and check its box to acknowledge it — you can't merge until all are checked.
  4. Click Merge contacts, then click Merge contacts again in the Merge these contacts? confirmation.

You land on the surviving contact, now holding both contacts' history and all roles from both. The duplicate is removed.

Warnings you may see

These don't block the merge, but read them carefully:

  • Both contacts have payment history or invoices — everything is combined under the surviving contact.
  • The contacts are in different families — the merged contact keeps the family you selected in the details list.
  • Both contacts manage a family — confirm the surviving contact manages the correct one.
  • The duplicate has its own Stripe customer record — it's left orphaned in Stripe (no data is lost, but it's no longer linked in TeachHero).

When a merge is blocked

Some situations block merging entirely until you resolve them:

  • Both contacts have their own login account. Detach one login before merging so a real account isn't stranded — if both logins are genuinely in use, these may be two different people.
  • Both contacts are separate Stripe customers and the duplicate has saved payment methods. Those cards couldn't be charged after merging, so remove the duplicate's payment methods first.