Data QualityMaster Data ManagementIntegration Monitoring

Matching Records Isn't the Same as Knowing Which One Is Right

September 17, 2026 · 6 min read

Every enterprise running more than one system of record eventually hits the same wall. The same customer exists in Salesforce under one name, in the ERP under a slightly different one, and in the billing platform under a third variation entirely. Deduplication tools exist to catch exactly this. They compare records, score how similar they are, and flag or merge the ones that look like matches. What they don't do, and what almost nobody checks for afterward, is confirm which of the matched records actually holds the correct data once the match has been made.

That gap is where duplicate business intent slips through. Not because nobody has deduplication software. Because deduplication and correctness are two different problems, and most tooling only solves the first one.

Why the Same Entity Ends Up as Five Records

Duplicate records aren't usually the result of carelessness. They're the predictable output of how modern systems get populated. A prospect fills out a form on the website and lands in the CRM. A sales rep, unaware the lead already exists, manually creates an account during a call. A migration from a legacy system brings over records that were never reconciled with the ones created after go-live. An acquisition merges two companies' customer bases with no shared identifier between them. And integrations themselves contribute to the problem: when a sync job can't find a confident match on the receiving end, the safe default is usually to create a new record rather than risk overwriting the wrong one.

None of these are edge cases. They're the normal lifecycle of enterprise data, which is why every large organization running a CRM, an ERP, and a billing system for more than a couple of years ends up with some version of the same customer scattered across all three.

What Matching Tools Are Actually Built to Do

Tools built for this problem, from Salesforce's native duplicate rules to dedicated master data management platforms like Informatica MDM and Reltio to open source libraries like Python's dedupe, all work on some version of the same idea: compare two records and calculate how likely they are to represent the same real-world entity. Deterministic matching looks for exact agreement on a key field, like an email address or tax ID. Probabilistic matching goes further, using techniques like edit distance (how many character changes separate two strings) or phonetic algorithms like Soundex to catch near-matches: "Jon Smith" and "John Smith," or a company name with and without "Inc."

This is genuinely useful work, and it catches a large share of duplicates that would otherwise sit unnoticed. But notice what the output actually is. A similarity score. A confidence level. A yes-or-no on whether two records are probably the same thing. None of that tells you which record's phone number is current, which billing address is correct, or which contact title reflects who actually holds the role today.

The Survivorship Problem Nobody Talks About

Once two records are flagged as duplicates, something has to decide what the merged record looks like. This is called survivorship, and it's usually governed by a small set of static rules: most recently updated wins, most complete record wins, or a fixed priority by source system.

These rules work fine until they don't, and the failures are quiet ones. Picture a sales rep re-entering a customer during a renewal call because the existing account didn't show up in a quick search. The new record has the correct, updated billing address. The old record, created three years earlier, has more populated fields overall because it accumulated data over time. A "most complete wins" survivorship rule keeps the old, wrong address and discards the new, correct one. The merge completes successfully. The invoice goes out to an address the customer left two years ago.

Multiply that across a few hundred merges a quarter and you get the pattern showing up in the kinds of industry-specific integration incidents that surface across sectors: duplicate vendor payments in manufacturing because the same supplier exists under two identities, incorrect reconciliation in retail when the same customer is billed under two accounts, or in healthcare, a genuinely dangerous version of the same problem when duplicate patient records merge and the wrong treatment history survives.

Why Lexical Similarity Isn't the Same as Business Intent

There's a second failure mode that runs in the opposite direction. Two records can be lexically similar and still be legitimately different. "Acme Corp" in New York and "Acme Corp" in Ohio might be two unrelated customers who happen to share a common business name, or a parent company and a subsidiary that should be tracked separately for billing purposes even though they're related. A string-similarity engine has no way to know which situation it's looking at. It only knows the names are close.

The inverse also happens. A genuine duplicate created through a maiden name change, a rebranded subsidiary, or a simple data entry typo in a customer ID can fall below the similarity threshold entirely and never get flagged at all. Matching tools are built to compare how records look. They have no model of what a record means in the context of the business relationship it represents, which is exactly the distinction that decides whether a merge is safe.

What Duplicate Intent Detection Actually Requires

Closing this gap takes more than a better matching algorithm. It takes a different approach to the problem:

  • Continuous resolution as data moves, rather than a batch dedup job run quarterly after the damage has already compounded.
  • Semantic understanding of what a record represents, not just how its fields compare character by character, so that a parent and subsidiary aren't collapsed into one record just because their names overlap.
  • Confidence-gated review, where high-certainty duplicates can merge automatically but ambiguous ones get flagged for a human before any survivorship rule fires.
  • A complete audit trail of every merge and every survivorship decision, so that when a wrong address or a stale contact turns up three months later, someone can trace exactly which record won and why.

Closing the Gap Before Quarter-End Cleanup

Most organizations only find out their deduplication process has a correctness problem when someone in finance or operations notices the numbers don't reconcile, and by then it's a cleanup project, not a fix. The alternative is catching duplicate business intent as it happens, at the integration layer, before a bad merge ever gets a chance to write the wrong data downstream.

That's the layer mmune's semantic watchdogs are built to watch. They flag duplicate business intent even when identifiers differ, before it reaches quarter-end reconciliation, with the same kind of full audit trail this problem has always needed. If your team is still finding out about duplicate records from a customer complaint or a reconciliation spreadsheet, it's worth seeing what a continuous, semantic layer catches instead. Find your blind spots.

See what's silently wrong.

10-Day Passive Evaluation. Read-only, 30-minute setup. We'll show you exactly what your data pipelines are missing.