ERP Consulting: 4,300 Customer Records, 900 Duplicates — Inside a Cleanup That Actually Stuck

The argument in the meeting was between the sales director and the credit manager, and it was not really about customers. It was about one account that existed four times in the system, with a $50,000 credit limit on each. The customer had figured it out. Nobody else had.

How you get 900 duplicates without noticing

This was a B2B industrial supplier, about $70 million in revenue, 4,300 customer records. We matched them on name, address, phone and tax ID. About 900 were duplicates — 21% of the file.

None of it was deliberate. A rep types “Acme Industrial Supply Co.” and creates a new record because the search didn’t find it. A web order arrives and the system builds a fresh account. A branch buys a competitor’s customer list and imports it with slightly different formatting. Three years of that and your customer file is a museum of good intentions.

The real damage: credit exposure was understated by roughly $240,000, and the same customer got quoted four different prices by four different reps in the same month.

Who owns a customer record?

This is the question that decides whether the cleanup lasts. In most companies nobody owns it, which is exactly why it rots.

Here they made one decision that mattered: sales owns the relationship, finance owns the record. A rep can request a new customer, but it’s created by one named person in finance within one business day, after a mandatory duplicate check.

The one-day promise is the whole trick. If creating a customer takes a week, reps will work around the process every time — and they’d be right to.

The rules that prevented round two

  • Merge duplicates in batches of 50, never in one giant run, and reconcile the open order and invoice history for each before merging.
  • Make the tax ID a required field. It’s the one identifier that’s hard to fake and easy to match.
  • Search by phone number and postcode, not just name. Half the duplicates we found had names spelled differently and identical phone numbers.
  • Block account creation from the web store and route it to finance for a 24-hour match.

What good looks like six months later

Duplicates dropped to under 40, and the residue gets cleaned monthly in a 30-minute review. Price consistency across accounts improved enough that the pricing team found $610,000 of annual revenue leaking through inconsistent quotes to the same customer.

That’s the part people don’t expect. A customer master cleanup looks like housekeeping and turns into a margin story. When ERP Consulting work is scoped narrowly as data migration, this benefit usually gets left on the table.

Do this today: take your 50 largest customers by revenue and search each one by phone number in your system. Count how many records come back. That number, multiplied across your whole file, is your real starting point.