Skip to content

“Everyone Just Defaulted to Making Duplicates”: How Defaqto Cleaned Up 20,000 Dynamics 365 CE Accounts

  • Dynamics 365
  • Deduplication
  • Data quality
The biggest recommendation I can give for it is that Plauti is really user-friendly and easy to set up, from both the admin side and the user side.
duplicate accounts removed in just a few hours
2,000+
contacts across ~20,000 accounts cleaned
~80,000
CRM users working from a consistent account base
100-200
Defaqto customer success story. A man showing statistics to his colleague.

Clean accounts. A hierarchy the team didn’t know they had. And a foundation for what comes after Copilot.

When you’re a financial-advisor and insurer software company growing through acquisition, your CRM isn’t just a system of record; it’s the thing that tells you whether the business you just bought is the same business you already have on file.

Every account represents a real customer relationship: an advisor practice, an insurer relationship, a contract that sales, customer success, and licensing teams all touch on the same shared environment.

But after years of growth and multiple acquisitions landing on one Dataverse environment, Defaqto had a problem that wasn’t going away: roughly 10% of its 20,000 accounts were duplicates, out of a database of around 80,000 contacts.

Native Dynamics 365 CE duplicate detection was already switched on. It didn’t matter. Every flag came with an easy way out, and the merge tool that was supposed to clean things up was quietly making them worse.

Then Defaqto found Plauti, a data management solution that lives natively inside Dynamics 365 CE. In the time it took to run a cleanup and turn on prevention, they removed thousands of duplicate accounts, stopped new ones from forming, and uncovered an account hierarchy that had been sitting under the noise the whole time.

Here’s how they did it.

The Challenge: A Duplicate Check That Existed on Paper Only

Defaqto already had native duplicate detection rules configured in Dynamics 365 CE. On paper, the environment was protected. In practice, protection depended on people choosing not to click one button.

Detection nobody had to respect

Every duplicate flag came with a one-click way past it, and reviewing a flag properly meant giving up the records you were already working on. Most users didn’t bother.

You can also just click on a button that says ‘ignore and save’… everyone just defaulted to just making duplicates almost all of the time.
-Dan Pullinger, Dynamics Manager, Defaqto

Native merge lost data instead of protecting it

The merge tool itself made things worse. Fields disappeared mid-merge, and jobs could only process one duplicate pair at a time, turning even a modest backlog into a slow, manual slog.

Dan Pullinger quote 1

Lost records everywhere

When it merged things together, it lost records somewhere in the middle. It turned off records with more contact on it than the other one. And you can’t merge some of those together.
Lost records everywhere

Dan Pullinger, Dynamics Manager

Defaqto

Defaqto

M&A made the problem urgent, not abstract

This wasn’t a ‘let’s tidy up’ project. Every newly acquired business unit meant reconciling incoming CRM data against a database that was already thick with duplicates, on the same environment used by Sales, Customer Success, and Licensing and Contracting. Nobody could say with confidence which accounts were real, and which were leftover duplicates from the last merge.

At Defaqto’s scale, roughly 10% of the accounts were duplicates. Manual, pair-by-pair review was never going to close that gap before the next acquisition landed.

Why Defaqto Chose Plauti

Dan evaluated three to four tools, several of them built around AI-driven matching. Weighed against the cost, the added AI capability didn’t translate into enough real value for what Defaqto needed. Usability turned out to be one of the deciding factors instead: Plauti’s interface felt simpler and more thought-through than the alternatives he trialed.

One option under consideration would have blocked new-record creation outright and routed anything flagged straight to an admin for review. Dan ruled that model out. Blocking users outright tends to generate frustration without solving anything, and it would have shifted work onto an already-stretched admin team instead of removing it. What he wanted was a way to catch duplicates that kept control in the user’s hands, not one that took a decision away from them and handed it to someone else’s queue.

Before purchasing, Dan built the internal case himself, made the time-cost argument to his line manager, and ran a sandbox trial comparing native detection against Plauti.

The Solution: Clean The Backlog, Close The Door

Phase 1: Cleaning up the backlog

Defaqto ran Plauti against a database of roughly 80,000 contacts and 20,000 accounts, about 10% of which were duplicates, to clear years of manual entry and M&A-driven data merges.

**In just a few hours once the job was run, Defaqto removed 2,000+ duplicate accounts. **

Manually merging that number of duplicate accounts would have been a near-impossible task to manage. Instead, flagged duplicates went through a vetting process with the sales team, using a Power BI dashboard Dan built to track the job and surface duplicate groups, so teams could easily see who owned which accounts when asked to review them.

Phase 2: Real-time prevention at the point of entry

Clearing the backlog was only half the job. The bigger shift was stopping new duplicates from forming in the first place. Plauti checks for potential matches in real time as someone is about to save a record, and if it finds one, it shows exactly what the match is against instead of asking the user to guess. Nothing gets blocked and nothing routes to an admin queue; the person creating the record sees the evidence and decides for themselves.

Phase 3: Field-level rules over what a merge keeps

Native merge had already shown Dan what data loss looks like at the field level. Plauti’s field-level merge rules gave him a way to decide, field by field, exactly what to keep and what to discard whenever two records combine, closing the gap that native merge had left open.

Dan Pullinger quote 2

A simple before-and-after headcount

There's no way of really visualizing that other than here's a big list of 1,000 names, and it's dropped down to 500 names, because we've merged half of them together.
A simple before-and-after headcount

Dan Pullinger, Dynamics Manager

Defaqto

Defaqto

Looking Ahead: Is the Data Ready for AI?

Defaqto uses Copilot today for admin tasks, email drafting, and pipeline prediction, with a handful of confident users. For Dan, the link between data quality and Copilot’s usefulness is direct: when the underlying data is cluttered with duplicate and inconsistent records, Copilot’s output inherits that same clutter, surfacing false positives and misjudging what an account is actually worth to the business.

Asked to rate his confidence in giving leadership an AI-readiness score today, even after the cleanup, Dan was candid: the cleanup fixed what it could see, duplicates, but it couldn't tell him what else was wrong. Which fields were half-empty. Where formatting was inconsistent. Whether the data that survived the merge was actually complete enough to trust.

The merge count proved the team was making progress. It didn't prove the data was healthy. Dan had been looking for a way to answer that question for a while and had a written list of what he'd need. When Plauti showed him Monitor, a diagnosis layer that runs data-health checks across every entity and field inside Dataverse, his reaction was immediate.

"We've been looking for a way to show our Dynamics health status for a while. Out-of-the-box Dynamics doesn't really give you anything."
–Dan Pullinger, Dynamics Manager, Defaqto

Results: Confidence, Clarity, and an Account Hierarchy Nobody Knew Was There

1. Reporting reflects the real business

"Our reports are cleaner because we now look like we serve fewer customers. But that is correct, because we're actually selling to the same person."
-Dan Pullinger, Dynamics Manager, Defaqto

2. An outcome nobody asked for

Defaqto came for deduplication and left with a usable account hierarchy. Cleanup revealed parent, child, and grandchild account relationships that had simply been invisible under duplicate noise.

"We found lots of accounts that aren't duplicates, but actually these are child and parent accounts. We've now got a better hierarchy system in place because of it."
-Dan Pullinger, Dynamics Manager, Defaqto

3. Confidence that holds up, not a perfection claim

Dan draws a clear line between this and a claim that the data is now flawless. New duplicates still show up. What’s changed is how quickly the team catches and fixes them, and how much more confidently everyone from users to stakeholders can rely on what the CRM tells them.

4. A recommendation with two parts

Asked what he’d tell another Dynamics 365 CE admin weighing the same decision, Dan’s answer wasn’t about return on investment or a metric. It came back to the same thing that mattered to him from the start: being able to see exactly what a tool is doing and being able to change it himself.

The biggest recommendation I can give for it is that Plauti is really user-friendly and easy to set up, from both the admin side and the user side. I know exactly what I’m setting up and how, and I can tweak it whenever I like.
-Dan Pullinger, Dynamics Manager, Defaqto

Hungry for more?

Ready to take control?

With a product tour, you can walk through the product yourself without installing anything, or book a demo for a guided look.