Skip to content
← Back to Journal
Guides
7 min read

Duplicate customers: what to check before merging

Compare customer records with a matching matrix, preserve their identifiers and document unresolved questions before an irreversible merge.

By Frihet Team
Duplicate customers: what to check before merging

TL;DR: Before merging duplicate customers, establish that the records represent the same entity and that one is actually redundant. Preserve identifiers from each system, separate likely matches from ambiguous cases, and check how the provider handles relationships. A decision log helps investigation; it does not guarantee that a merge can be undone.

Contents

To review duplicate customers, compare the identity and purpose of each record before deciding whether a merge is needed. One record in sales and another in billing can be correct. What may be missing is a reliable link between them.

The problem starts when an operations team finds two similar histories and someone proposes keeping “the most complete” record. One might hold the current contact; the other, the references an integration uses. Counting filled fields does not resolve that conflict. This guide provides a matching matrix and a decision log for reviewing the case before changing it.

One record in each tool can be correct

Distinguish the same entity represented in two systems from two redundant records within one system. The first may need an identifier mapping; the second, an investigation into how the duplicate arose. Neither justifies deleting a row because of its name.

Define what each record represents: an organisation, a contact person, a location or a commercial account. Someone working at a company is not a duplicate of that company. Two locations should also remain separate if your operations need to treat them separately.

This review fits into preparing a migration, but also works without switching tools. Keeping both records and explaining their relationship can be the correct outcome.

Preserve the source before normalising

Work from a read-only copy. For each row, retain the system, workspace, record type, original identifier and extraction date. CRM / W1 / account / A17 identifies something different from BILL / W1 / account / A17: identical numbers do not establish an identical customer.

Keep original values and add comparison columns for spacing, capitalisation or known name variants. Do not remove suffixes, departments or references that may distinguish entities. A blank field means “no data”, not “matches another blank”.

Record where each signal came from. A shared code is more useful when you know who assigned it and have checked its mapping. A code copied through a faulty import can spread the same error into both records. The most recent edit does not automatically make a value correct either.

Three outcomes, four fictional cases

This example is entirely fictional. All records belong to workspace W1; ORG and EV codes are exercise references, not tax identifiers or customer data. The described evidence is assumed to exist solely to illustrate the reasoning.

Record pairEvidence in the exerciseProvisional outcomeNext check
CRM/A17 and BILL/B62Both refer to ORG-07; note EV-01 matches, but the responsible contact differsLikely match; review requiredConfirm the ORG-07 mapping and resolve the current contact
CRM/A18 and BILL/B63Similar trading name; EV-02 confirms separate organisations, ORG-08 and ORG-09Confirmed non-matchKeep separate and record why the name is misleading
CRM/A19 and BILL/B64Same abbreviated brand; no organisation references or independent evidenceAmbiguousAsk the owner for evidence identifying each record
CRM/A20 and BILL/B65EV-04 shows a contact person and an organisationRecords are not equivalentPreserve each type; review their relationship if supported

Do not invent confidence percentages. “Likely” starts a review; it is not an approved merge. “Ambiguous” keeps the case blocked and states what is missing. Even after confirming identity, you still need to decide whether anything should change.

A record without orders is not necessarily redundant: it may be new or serve another purpose. Classify it using evidence, not the number of empty fields.

An alias map does not execute a merge

Suppose the owner resolves the first case: A17 and B62 represent ORG-07, but both tools need their record. The decision is to retain them and document the mapping. In an independent worksheet, ENTITY-F07 can be your working reference:

system,workspace,record_type,source_id,entity_key,review_id
CRM,W1,account,A17,ENTITY-F07,R-01
BILL,W1,account,B62,ENTITY-F07,R-01

These columns form a custom worksheet, not a Frihet import format or an instruction to a connector. entity_key groups reviewed identities; source_id preserves the original reference. Writing an alias in a spreadsheet does not change either tool.

Do not flatten people, companies and locations under one key. Do not combine them through an unchecked chain of similarities either: if A resembles B and B resembles C, you have not established that A and C are the same.

Write a decision someone else can review

Copy this record for each pair. When the decision changes, preserve the earlier proposal and add a new version that supersedes it.

Review: R-01 / version 1
Full references: CRM/W1/account/A17; BILL/W1/account/B62
Evidence: EV-01; ORG-07 mapping checked by the owner
Conflict: different responsible contact; current value confirmed in EV-05
Decision: retain both records and document mapping ENTITY-F07
Reviewer: ROLE-OPS
Action in the tools: none
Outstanding: check how the connector uses this mapping
Supersedes: no previous review

The codes are fictional. In practice, reference evidence the reviewer can access and avoid copying unnecessary personal data into the worksheet. If a change is later authorised, separately record who performed it, when, the previous references and the observed result. “Approved”, “executed” and “verified” are different states.

This history is revisable, not a guarantee of reversal. Correcting a written decision does not automatically reconstruct data already changed.

Check the provider before merging

Behaviour depends on the product and record type. HubSpot documents that merges cannot be undone and that identifiers, properties and associations follow specific rules. Do not assume the ID selected as primary will always survive unchanged.

Shopify also states that a merge cannot be reversed and excludes certain profiles, including those that have or have had subscription contracts. These examples do not describe Frihet or another provider you use.

Before any irreversible action, answer these questions:

  • Is this combination of record types supported, and do you have the necessary permissions?
  • Which values are kept or discarded, and which ID will the result have?
  • What happens to history, relationships and external references?
  • Will synchronisation recognise the change, recreate a record or fail?
  • What recovery is actually available, and what does your copy leave uncovered?

Read about integration scope and check the contract for the connector you use. Reading records does not prove that a connector can propagate merges.

Close the case by checking its origin too

If a merge is authorised, first agree how to limit its effects on connected systems. Rehearse with synthetic data in a supported test environment; if none exists, keep the case blocked until the provider resolves the unknowns. An export alone does not demonstrate that you can restore everything.

After an authorised change, compare fields and references with the expected result and check the next synchronisation before extending the batch. If the outcome is uncertain, investigate before repeating the action.

Frihet’s customer management includes exporting the customer list as CSV. That can provide input for a review; it does not imply support for importing this worksheet or automatically merging customers.

Finish by recording why the duplicate arose: manual creation, an import or a connector rule, where evidence supports it. If you do not yet know, assign an owner and a pending check. Two retained records with a clear relationship are a valid result; a shorter list with an unexplained history is not.

Sources checked on 14 September 2026. Review your provider’s current documentation before operating.

Share

Was this article helpful?

FAQ

Are two customers with the same name duplicates?

A name is not enough to decide. They could be different people, companies in the same group, or a company record and a contact record. Names help find candidates; identity requires evidence and review.

Must I merge a CRM record with a billing record?

Not necessarily. Each tool may need its own record. If they represent the same customer, documenting the correspondence between their identifiers may be enough, without deleting or merging anything.

Can a CSV undo a merge?

Not on its own. It may preserve fields for investigation, but does not guarantee restoration of relationships, history, permissions or effects in connected systems. Check each provider’s documented behaviour and recovery options.

Compare with

Frihet — Business without drama

Start Free