The same customer is in the system four times under slightly different names, so nobody can say how many customers you have. Post goes to an address someone moved from in 2019. A report gives two different answers depending on who runs it.
Nobody notices bad data until it costs something. It might be a mailshot sent twice to one person and once to someone who asked to be removed, or a data protection request you can’t answer with confidence.
CDE Systems cleans it up. We work on a copy, agree the rules with you, and show you the results before anything changes. Then we look at how the bad data got in, so you aren’t paying to clean it again in three years.

When it usually comes up
A migration is on the way. This is by far the most common reason people ask. Moving to a new system is the one point where duplicates can be dealt with cleanly, and there’s little sense paying to carry twenty years of them across. Access migration · SQL Server migration
People have stopped believing the reports. A reporting tool can only show what’s in the data, so a wrong customer count stays wrong however it’s presented. Reporting and business intelligence
Two systems have become one. It might be two departments or two businesses. Each kept its own customer list, and the merged list has a lot of people on it twice.
Someone asks to see their data. You search, find them three times, and can’t be sure there isn’t a fourth.
What the work involves
Fixing obvious errors. Misspellings, impossible values and entries that should come from a known list. The checks can be strict, so an address with no valid postcode is rejected outright. Or they can be forgiving, where a record that nearly matches a known good one gets corrected to it.
Using a source you trust. If there’s reliable reference data to check against, we use it and don’t guess.
One way of writing each thing. Street or St, Limited or Ltd, Road or Rd. Your own company name probably has forty versions by now, and they become one.
Finding duplicates, including the near ones. “J Smith, 4 High St” and “John Smith, 4 High Street” are the same person, but an exact match won’t see it. Most of the real duplication sits in records like that.
Addresses that work. Corrected addresses and postcodes mean post arrives, and any report broken down by area can be relied on.

Nothing changes until you’ve seen it
It’s reasonable to be wary of anyone working on live data. This is how we keep it safe.
- The work is done on a copy. Your live system isn’t touched until you say so.
- You agree the rules first. What counts as a duplicate, which version of a record wins, and what gets merged or just flagged.
- You see a sample before the full run, using records you’ll recognise.
- It can all be undone. The original is kept, alongside a log of every change.
- Borderline cases come to you. A person decides those, not the matching rules.
Stopping it coming back
Cleaning puts right what’s there now. It doesn’t stop the next bad record arriving tomorrow. That’s the job of validation, which checks data as it’s typed or imported and won’t accept what doesn’t fit.
So once the data is clean, we trace how the problems got in. The usual culprits are a free-text box that should have been a drop-down, a form that never checks the postcode, and an import that has been adding duplicates every month for years. Fixing those is part of the job. Cleaning without it is mopping the floor with the tap running.
Filling the gaps
As well as correcting records, we can make them more complete. That means adding details you don’t hold, such as a phone number for an address, from a reliable source. It helps before a marketing campaign, or when the records you have are right but sparse.
A note on data protection
Under UK GDPR, personal data has to be accurate, kept up to date and held no longer than necessary. If one person is in your system three times, it’s hard to show you’ve found everything when they ask to see their data or have it deleted. Cleaning is often what makes those requests straightforward.
We work with client data under a written agreement. You’ll know exactly what we hold, where it’s kept and when it’s deleted.
Case Studies
Commercial Catering Service & Maintenance (field service)
Aire Valley Catering
Field service apps that work with no signal
Aire Valley Catering’s engineers work in commercial kitchens across the UK, often with no usable signal, and every job still has to be recorded. We built four production…
View case study
Transport and logistics
ACC Worldwide
A faster SQL Server system, noticed on day one
ACC Worldwide’s staff used one business system all day, every day, and it was slow. We worked on the SQL Server environment behind it. The speed-up was immediate,…
View case study
Travel and leisure (adventure travel and expeditions)
Jagged Globe
Keeping bookings, customer records and the website in step
Jagged Globe runs on an internal database and a booking website that have to agree every day, and sometimes they didn’t. We traced and fixed the transfers between…
View case study
Send us a sample
Send us a sample of the data and we’ll look at what’s in it. You’ll get back the duplicates, gaps and inconsistencies we find, and how they probably got there, before you’ve spent anything.
