Cleaning Up a Messy Customer Database
By CodexierPublished 5 min read
A customer database gets messy the same way in every company: several people register the same customer in slightly different ways, imports bring in half-filled rows, and nobody deletes anything. The result is invoices sent to old addresses, mailings that reach the same person three times and reports nobody trusts. This guide gives a cleanup order that is safe to follow, and the rules that stop the mess from coming back.
Export and back up first
Export every customer, contact and company record with all fields, including internal IDs and created or modified dates. Store the export where access is restricted, because it is a full copy of your personal data, and set a date to delete it once the cleanup is verified. Then decide which system is the master: if customers exist in both the CRM and Fortnox, choose one as the source of truth and note which fields the other one should receive.
Work on a copy or in a test environment when the system offers one. If it does not, make changes in batches small enough to check, and keep a log of what each batch changed.
Deduplicate and merge
Duplicates are rarely identical. The same company appears as AB Bygg, Bygg AB and Byggfirman, with the contact's email in one record and the invoice address in another. Match in rounds, from the most certain to the least certain.
| Round | Match on | How to handle |
|---|---|---|
| 1 | Identical org number or personal email | Merge automatically, keeping the most recently updated values |
| 2 | Same email domain plus similar company name | Review in a list; usually the same company, sometimes a group with several companies |
| 3 | Similar name plus same postcode or phone number | Review each pair by hand before merging |
| 4 | Similar name only | Flag for review, never merge automatically |
Before merging, check what follows the record: orders, invoices, notes and consent. Most CRMs move history to the surviving record, but check this on one test pair first.
Standardise names, addresses and org numbers
Standardising makes the next round of duplicates easier to find and makes the data usable in invoicing, mailings and reports. Decide on one format per field and apply it throughout.
- Org numbers: one format, for example ten digits with a hyphen (556000-0000). Check that they belong to the company named by looking them up at Bolagsverket.
- Company names: the registered name in one field, any trading name in another.
- Addresses: separate fields for street, postcode and town; postcodes as five digits with a space after the third.
- Phone numbers: one format, preferably international (+46), so click-to-call and SMS tools work.
- Email: lower case, trimmed of spaces, with bounced addresses flagged.
- Country and language: a fixed list, not free text, so filters work.
Most of this can be done with formulas or a script on the export and then re-imported. The judgement calls, which record is correct when two disagree, need a person who knows the customers.
Delete what you cannot justify
GDPR's storage limitation principle means personal data should be kept only as long as there is a purpose. Customers with invoices within the last seven years are covered by the Swedish Accounting Act for the accounting records themselves, but that does not justify keeping every contact detail for marketing. Leads that never became customers, contacts who left the company years ago and newsletter subscribers who withdrew consent usually have no remaining reason to stay.
- Write down a retention rule per record type before deleting, so the decision can be explained if IMY or a customer asks.
- Anonymise rather than delete where statistics are still useful.
- Keep a suppression list of people who have asked not to be contacted, so they are not re-imported later.
Rules that keep it clean
- Required fields and fixed dropdowns for the fields reports depend on.
- Duplicate warnings switched on in the CRM, matching on email and org number.
- Web forms and integrations that create records the same way a person would; see sending website leads into your CRM.
- One owner of the register who reviews new records monthly.
- A yearly retention sweep in the calendar.
When you do not need outside help: a register of a few hundred records can be cleaned in a couple of focused days by someone who knows the customers. It is worth buying help when the register runs to thousands of rows, spans several systems, or when nobody internally has the time. Our data entry and back office service does the matching, standardising and review under a data processing agreement; see what that agreement must cover.
Frequently asked questions
Can I just delete all old customers in one go?
Not safely. Some records are tied to invoices you must keep under the Accounting Act, and some old customers may still have active agreements. Filter first, check what each group is linked to, then delete or anonymise in batches.
Should the cleanup happen before or after switching CRM?
Before. Migrating messy data moves the mess into a new system and often multiplies duplicates. Clean in the old system or in the export, then import the clean version.
How long does a cleanup take?
It depends on the number of records, how many systems are involved and how many pairs need manual review. The automatic rounds are quick; the manual review is what takes time, which is why the rounds are ordered from certain to uncertain.
Not sure how big the job is?
Send us the number of records and which systems they live in, and in a short call we will outline a cleanup order and tell you honestly whether it is a job for you or for us. Book a call.
Book a free 15-minute call