← Back to blog

Duplicate Customer Records: Causes, Costs and How to Fix Them

October 25, 2026
Duplicate Customer Records: Causes, Costs and How to Fix Them

Duplicate customer records are two or more entries for the same real-world customer, and in a service business they cost you money every week. They cause invoices to go to the wrong contact, visits to be booked twice, and compliance history to be split across entries so nobody can see it whole. You fix them in three steps: decide which records really are the same customer, merge them without losing history, then remove the double entry that created them.

This guide is written for UK engineering, maintenance and facilities teams, where a customer is rarely just a name. It is also a site, a set of assets, a contract and a run of certificates.

Curcle
Keep Customer Records Connected
Curcle brings customers, jobs, assets, compliance and invoicing together in one system, giving service teams a shared source of operational information.
Explore Curcle

TL;DR

  • Duplicates are usually a symptom of disconnected systems and re-keying, not careless staff. Cleaning without fixing the process means they come back.
  • Match first, merge second. Merging records that merely look alike destroys data, and it is hard to undo.
  • In a service business, the customer, the site and the asset are three different things. Duplicates in any of them cause problems.
  • Under the UK GDPR, personal data must be accurate, and the ICO ties that to what you use the data for, so billing and service records matter.
  • The lasting fix is one system where the customer is created once and everything else (jobs, certificates, invoices) hangs off that record.

Table of Contents

What duplicate customer records actually are

A duplicate is any case where one customer exists as more than one record. The obvious version is an exact copy. The more damaging version is a near-copy: "Halden Property Ltd" in your accounts package, "Halden Property Limited" in your scheduling tool, and "J. Halden" in a spreadsheet of landlord clients.

Researchers who work on this problem separate two ideas. Entity resolution is deciding which records refer to the same real-world entity. Deduplication is the act of merging or deleting them. Teams often jump straight to the second without doing the first properly, and that is how two genuinely different customers get merged by accident.

In field service you will usually meet four kinds of duplicate:

TypeExampleTypical result
Exact duplicateSame name, address and phone entered twiceDouble invoices, two job histories
Near duplicateSpelling, abbreviation or punctuation differencesSearch misses the existing record, so a new one is created
Cross-system duplicateSame customer in CRM, accounts and job softwareReports that never agree
Site or asset duplicateSame boiler or fire panel logged under two site entriesMissed servicing, split certificate history

The last row is the one generic CRM advice ignores. If you inspect a building twice a year, a duplicate site record can mean one of those inspections quietly falls off the schedule.

Why duplicates appear in service businesses

Typing errors are the smaller cause

Typos do matter, and they are predictable. The research behind text similarity in deduplication pipelines reports that most typos in customer data affect a single character: an insertion, omission, transposition or substitution. That is why a search for "Smyth" fails to find "Smith", and a new customer gets created.

Disconnected systems are the bigger one

The larger cause is structural. Work on entity matching in industrial applications describes duplicates arising from incomplete data spread across separate feeds, such as web, in-store and service systems, rather than from simple typos alone. Service firms recognise this immediately: the quote lives in one tool, the job in another, the invoice in a third.

The same paper's authors report that, before unified matching, businesses misidentified an average of 23% of their customer base. That figure comes from the retail and marketing data the study worked with, not from UK engineering firms, so treat it as an indication of scale rather than a benchmark for your own database. The mechanism is the same, though: wrong customer counts distort every report built on them.

When software only handles a narrow task, such as scheduling or invoicing, someone has to create the customer again inside it. Each time, there is a chance of a slightly different spelling. Many firms build this up over years through CRM tools such as Salesforce customer relationship management, alongside accounts packages and spreadsheets, until no single system holds the truth.

Process gaps

Three habits create duplicates in almost every engineering office we see described:

  • Urgent jobs. An engineer or call handler is under pressure, searches quickly, finds nothing and creates a new record.
  • Multiple contacts. The facilities manager, the accounts clerk and the landlord's agent each get entered as separate customers rather than as contacts on one.
  • Company changes. A customer is renamed, acquired or moves, and the new name is entered as a fresh account.

What duplicates cost you

The costs are practical before they are statistical.

  • Invoicing errors. Charges go to the wrong entity, or two accounts for the same customer each carry part of the balance, so credit control chases the wrong person.
  • Scheduling waste. Two records can produce two planned maintenance visits, or none, because each record believes the other holds the next due date.
  • Broken compliance history. A certificate on record A is invisible when you look at record B. For gas, electrical, fire, F-Gas or lifting equipment work, an incomplete history is an audit problem, not an inconvenience.
  • Unreliable reporting. Customer counts, revenue per customer and contract renewals are all wrong if one customer is counted twice.
  • Slower work. Staff learn not to trust the data, so they double-check by phone, which adds the administration you were trying to remove.

The UK GDPR angle

Customer records contain personal data: names, phone numbers, email addresses, home addresses for domestic work. The UK GDPR's accuracy principle, Article 5(1)(d), says personal data must be accurate and, where necessary, kept up to date, and that every reasonable step must be taken to erase or rectify inaccurate data without delay.

The ICO links accuracy to the purpose of the processing. It does not expect extreme measures on every record where that is not needed for the purpose, such as a one-off order. But if you rely on the record to bill someone or to deliver a recurring service, as maintenance and engineering firms do, an unreliable record is much harder to defend.

Two practical points follow. First, when you merge, decide which version of each field survives and keep an audit trail of what changed. Second, merging also helps with other principles: a customer who asks what you hold on them is easier to answer when there is one record, not three. If a particular request is complicated, your data protection lead or the ICO's guidance for small organisations is the place to check.

The UK GDPR angle — overview diagram

How to find duplicate customer records

Start with the data you already have. You do not need special tools for a first pass.

  1. Export your customer list from every system that holds one, including accounts and any spreadsheets.
  2. Standardise before comparing. Make everything one case, strip punctuation, and treat "Ltd", "Limited" and "LTD" as the same. Normalise postcodes and phone numbers to one format.
  3. Match on strong identifiers first. Company number, VAT number, email domain, postcode plus first line of address and phone number are far more reliable than names.
  4. Then use fuzzy matching on names. Because single-character errors dominate, a match that tolerates one or two character differences will find most near-duplicates.
  5. Sort matches into three piles: certain, probable, and unsure. Only the first pile is merged without a human look.

Be careful with transitive matches. Record A matches B on phone number and B matches C on address, but A and C may be different branches of a business, or a landlord and a tenant. The industrial entity-matching work stresses linking records through shared attributes without creating incorrect merges, and that caution holds for a spreadsheet as much as for an algorithm.

Watch out for lookalikes that are not duplicates

These are genuinely different customers and should usually stay separate:

  • Different branches or sites of the same chain, each with its own assets and compliance cycle.
  • A landlord and the tenant at the same address.
  • A managing agent and the property owner.
  • Two people with the same name at different properties.

For these, the answer is a parent and child structure, a customer with several sites, rather than a merge.

How to merge without losing data

Merging is where most of the risk sits, so slow down here.

  1. Back up first. Take a full export before touching anything.
  2. Choose a surviving record for each group. Usually this is the oldest, or the one with the most complete history.
  3. Move the history, do not delete it. Jobs, certificates, quotes, invoices, photos, notes and attached documents should all end up on the surviving record.
  4. Resolve conflicts field by field. If two phone numbers exist, keep both as contacts rather than choosing one. Prefer the most recently verified value.
  5. Check the sites and assets. After merging customers, look for duplicate sites and assets under the survivor. These often surface only now.
  6. Reconcile with accounts. Make sure the account reference and any outstanding balance map correctly to the survivor.
  7. Log it. Record who merged what and when, so a mistake can be traced and reversed.

A useful rule: if you cannot say with confidence that two records are the same customer, do not merge them. A duplicate is an irritation. A wrong merge, where one customer's certificate history appears under another, is a compliance and data protection problem.

Stopping duplicates coming back

Cleaning a database is a one-off job. Preventing duplicates is a design choice.

Create the customer once

The most effective measure is to remove re-keying. If the quote, the job, the certificate and the invoice all draw from one customer record, there is nowhere to create a second version. Practitioners in UK field service describe a single integrated platform replacing patchworks of spreadsheets, CRM and accounting as the way to eliminate double entry. One example you may see cited is a UK pump business that went from thirteen systems to four, but it is a vendor's own case study, so use it as an illustration rather than a promise.

Make search easy and creation deliberate

  • Put a customer search in front of every "new customer" button, and make the search tolerant of spelling errors.
  • Show a warning when a new record shares a postcode, phone number or email with an existing one.
  • Require a small set of fields, such as a postcode and a contact method, so records are comparable.

Model the real structure

Give the customer, the site, the contact and the asset their own places. Many duplicates exist because people had nowhere else to put a second site or a second contact, so they created a second customer.

Control who can create and merge

You do not need to lock everyone out, but limit merging to a few trained people, and give engineers in the field a way to flag a suspected duplicate rather than creating a new record on a van tablet or phone with no signal.

Keep a monthly routine

Run a duplicate check on a schedule, monthly for most small firms, weekly if you take lots of new customers. Short, regular checks beat a big annual clean-up.

Our perspective

We built Curcle inside a real UK service and engineering business, and the lesson that stuck is that duplicate records are rarely a data problem. They are a symptom of software that handles one narrow task and leaves people to copy information between tools. Nobody creates a second record out of laziness. They do it because the system in front of them cannot see the first one.

That is why we do not treat merging as the headline feature. We would rather the customer is created once, with sites, assets, contacts, jobs, certificates and invoices attached to the same record, so the question "is this the same customer?" rarely arises. When it does, a person should decide, with the history in front of them. We think software should help you spot what needs attention and leave the judgement to you, and every click should earn its place.

For compliance-led businesses the stakes are higher. If a certificate history is split across two entries, the audit trail is incomplete, and that is the thing you will be asked about.

— Luke Herridge

Fixing it at the root with one connected platform

If you are juggling a CRM, a scheduling tool, an accounts package and spreadsheets, a cleaner database will drift back within months. Curcle brings jobs, customers, engineers, assets, compliance, stock, quoting and invoicing into one system for UK field service, engineering and facilities businesses, so field and office teams work from the same record. Integrations with accounting software mean your finance records stay linked rather than retyped.

You can see how the customer, job and compliance features fit together, or look at the pricing plans: Starter is from £99 per month, Professional from £249 per month and Business from £499 per month, while Enterprise has no published price. If your work is trade-specific, we also have pages for Gas Safe engineering, EICR contractors, HVAC maintenance and facilities management.

A simple one-week clean-up plan

If you want to act now, this is a realistic sequence for a small office.

DayTask
1Export every customer list and back it up. Note which system is the master.
2Standardise names, postcodes and phone numbers in the exports.
3Run strong-identifier matches, then fuzzy name matches. Sort into certain, probable and unsure.
4Merge the certain group. Review the probable group with someone who knows the customers.
5Check sites, assets and open balances on the merged records. Agree rules for creating new customers.

Then put the monthly check in the diary, and look hard at why the duplicates were created. If most came from re-entering data between two systems, that is where the long-term saving lies.

FAQ

How do you identify duplicate records?

Standardise the data first, then match on strong identifiers such as company number, postcode, phone number and email domain. Follow with fuzzy name matching to catch spelling variations. Always have a person review the uncertain matches before anything is merged.

Is holding duplicate customer records a breach of UK GDPR?

Not automatically, but the accuracy principle requires reasonable steps to keep personal data accurate for the purpose you use it for. The ICO's accuracy guidance says this depends on that purpose. For billing and recurring service work, leaving known duplicates in place is harder to justify.

What is the difference between entity resolution and deduplication?

Entity resolution decides which records refer to the same real-world customer. Deduplication is the act of merging or deleting them. Doing the second without the first is the usual cause of accidental data loss.

Should I merge customers who share the same address?

Not without checking. A landlord and tenant, a managing agent and an owner, or separate businesses in one building can all share an address. Where one customer has several locations, use a customer with multiple sites rather than a merge.

Sources