Home · Solutions · Sales & marketing

Solution · Sales & marketing

The CRM is cleaned every night, so Monday's pipeline is worth reviewing

CRM data hygiene: duplicates, stale deals, missing fields

Nightly robots merge duplicate accounts, complete company data from official registers and flag deals nobody has touched, with each owner nudged in Teams.

Quick winMicrosoft TeamsHuman in the loopDeterministic automation
1,300open deals sit in the CRM of this illustrative distributor before the quarterly review. Nobody can say which of them are real.

Executive summary

Challenge

The pipeline review starts with an argument about the data, not about the deals.

What changes

We build a nightly hygiene run on the UiPath Platform.

Business value

Reps get back the part of each week spent correcting records a rule could have corrected overnight.

Systems involved

the CRM itself, holding merged, completed and flagged records; the Power BI semantic model behind the hygiene score; a SharePoint change log

Business problem

Pipeline reliability

A CRM decays by design. Every account added in a hurry, every trade-show list imported without a check, every company that renames itself after a restructuring leaves a record that is almost right. Nothing breaks on the day. It accumulates, and after two or three years the database holds several versions of the same customer, deals nobody has touched since spring, and companies with no tax id and no next step.

Salespeople feel it first and work around it: two records checked before a call, an address retyped from a signature block, an opportunity re-dated because a review is coming. None of that time is recorded, which is why it survives every cost-cutting exercise. Finance feels it next, when a contract goes out under a legal name that exists in no register.

Management feels it last and worst. A forecast is a claim about the future built on records describing the past, and when those records cannot be trusted it is an opinion with decimal places. The usual answer is a cleanup project, after which the database drifts back within two quarters, because nothing changed about how the data is produced.

How it works today

The pattern below is what we find in sales teams running the same CRM for a few years.

  1. PersonBefore a call a rep opens the account and finds two or three records for the same customer, each with a different owner
  2. WaitingA missing tax id or the correct legal name waits until somebody checks a register or asks the customer again
  3. SystemDeals move to the next stage with no next step and no close date, because the CRM asks for neither
  4. PersonOn Friday the sales director exports the pipeline to Excel, strips out what looks stale and rebuilds a forecast by hand
  5. Risk of errorOpportunities untouched for ninety days stay in the quarter's number until someone notices, and two reps call the same group in one week
  6. PersonMarketing sends a campaign twice to a duplicated contact and the account manager hears about it from the customer
  7. WaitingA cleanup project runs once a year, and the database drifts back within two quarters
PersonWaitingSystemRisk of error

Why the current process costs more than it appears

The cost grows where nobody is looking.

  • Bad data is paid for twice: once when a rep works around it, again when finance finds an invoice carrying a company name that exists in no register.
  • Forecast credibility is the larger loss and never reaches a budget line. A pipeline number that cannot be defended moves the discussion off the market and onto the spreadsheet.
  • Duplicate accounts split the customer view: two owners, two histories, two pricing conversations, and a customer who asks why your company does not seem to know itself.
  • Annual cleanups are the most expensive way to run data quality, because what is corrected in March has drifted by September and is bought again at full price.
  • Nobody records the time. Ten minutes here and half an hour there never reaches a cost line, so the expense stays invisible to the people who could fund fixing it.

Cost of inaction

Twelve months of Monday reviews on today's data≈ €59,280
Three planning cycles with the same duplicate accounts≈ €177,900
The same process once the team reaches 60 sellers (per year)≈ €79,000

The rep time is the part that can be counted, and it is not the expensive part. The expensive part is a revenue plan built on a pipeline nobody can qualify, discovered in the quarter when the gap has to be explained rather than in the quarter when it could still be closed.

There is also a structural cost. Each year the CRM drifts further from the registers, from the ERP customer master and from what the sales team believes, so every new system needing customer data starts by paying for a migration cleanup. Postponing that only raises the bill when a CRM replacement or a credit-risk project forces the question.

Illustrative scenario

A plausible organisation with realistic proportions. The figures are there to be recalculated on your data; they are not a client result.

Organisation

A B2B distributor of technical components, 45 salespeople in four countries, Microsoft Dynamics 365 Sales on a Microsoft 365 tenant, orders in an ERP the CRM does not talk to.

Volume

9,000 accounts and 1,300 open deals; under a strict matching rule about one account in twelve is a duplicate, under a loose one closer to one in seven; roughly a quarter of open deals carry no next step.

Current process

Data quality is a project, run once a year with an export and a spreadsheet. Between projects each rep fixes whatever blocks their own call.

Bottleneck

Around forty minutes a week per rep on record fixing, plus the hour the sales director spends each Friday rebuilding a pipeline they are willing to present.

Solution

A nightly robot deduplicates accounts, completes company data from official registers and scores every deal against agreed rules; owners get their own short list in Microsoft Teams, and a hygiene score per team makes the data a managed number.

Potential outcome

In the modelled case weekly fixing time falls to a few minutes of confirmations, and the board sees a pipeline built from records that pass a stated test. Illustrative figures, not a client result.

Proposed solution

We build a nightly hygiene run on the UiPath Platform. It reads yesterday's new and changed records through the CRM API, applies a rule set your sales organisation owns, and writes back only what those rules allow. An identical tax id, or an exact legal-name and address match, merges automatically; anything softer becomes a task showing both records. Every write is stored with its previous value.

Company data comes from official sources rather than a signature block. VAT numbers are checked against VIES; for Polish counterparties the robot reads legal name, address and status from KRS or CEIDG, raising material differences for a person instead of overwriting them. Deals are scored on rules that already exist informally: no activity in ninety days, no next step, no close date, too long in one stage.

The interface is Microsoft Teams, where the sales team already works. Each owner gets one message listing their own records, and uncertain merges arrive as UiPath Action Center tasks completed inside Teams. Before the Monday review, the digest and hygiene score per team land in the sales channel and refresh in Power BI. No AI is involved and none is needed: every rule is a comparison a person could check by hand.

Native capabilities used

UiPath Orchestrator time triggers, queues and audit; UiPath Integration Service connectors for Microsoft Dynamics 365 CRM, Salesforce and Microsoft Teams, plus Connector Builder; UiPath Action Center tasks completed in Microsoft Teams; Power BI reports pinned as a Teams tab

What we build

The match and merge rules and their thresholds, the enrichment mapping and overwrite policy, staleness and mandatory-field rules per stage, the nightly job and its change log, the owner nudge and escalation, the hygiene score and Monday digest

Custom integration

Register lookups against VIES, KRS and CEIDG through Connector Builder; Pipedrive through its REST API where that is the CRM

How the automated process works

  1. AutomationOvernight the robot reads new and changed accounts, contacts and deals through the Integration Service connector
  2. AutomationMatch rules compare tax id, legal name, domain, address and phone; certain duplicates merge, likely ones queue for a decision
  3. SystemMissing company data is completed from registers: VAT status from VIES, legal name and status from KRS or CEIDG
  4. AutomationEvery open deal is scored on activity age, next step, close date and time in stage
  5. PersonUncertain merges and register mismatches arrive as Action Center tasks and are resolved inside Microsoft Teams
  6. AutomationEach owner receives one Teams message listing only their own records, with a date by which each should be cleared
  7. AutomationOn Monday the pipeline digest and the hygiene score per team are posted to the sales channel and refreshed in Power BI
AutomationSystemPerson

Human-in-the-loop model

Automation handles

  • Nightly duplicate detection across accounts, contacts and open deals, merging only on evidence agreed in advance
  • Completion of company data from official registers, under a policy stating which fields may be overwritten and which only proposed
  • Staleness and mandatory-field checks, the owner nudge in Teams and escalation to the manager after a second miss
  • The weekly hygiene score per team and owner, and the Monday pipeline digest

People decide

  • Merges the rules cannot settle: one group under two legal entities, or a customer that genuinely changed its name
  • Whether a quiet deal is closed, re-dated or defended; the robot asks, the owner answers
  • The rules themselves: what a duplicate is, when a deal is stale, which fields are mandatory at which stage
  • Anything that changes account ownership, territory or credit terms on a live customer

Before and after

BeforeAfter
Time a rep spends fixing recordsabout 40 min a weeka few minutes of confirmations
Duplicate accountsfound by a customer or an annual projectdetected nightly, merged or queued
Open deals with no next step or close dateabout a quarter of the pipelineflagged the night they qualify
Company data such as legal name and tax idtyped from signature blockschecked against VIES, KRS and CEIDG
The pipeline reviewopens with an argument about the dataopens with the digest posted that morning

Systems and integrations

We do not add technology to make an architecture look serious. Every element below has a specific job in this process.

Inputs

  • Microsoft Dynamics 365 Sales accounts, contacts and open deals
  • the nightly change feed from the CRM API
  • the VIES, KRS and CEIDG registers
  • the stage model and field rules owned by sales operations

Automation layer

  • UiPath Orchestrator
  • UiPath Robots
  • UiPath Integration Service
  • UiPath Action Center

Target systems

  • the CRM itself, holding merged, completed and flagged records
  • the Power BI semantic model behind the hygiene score
  • a SharePoint change log

Human touchpoints: Action Center tasks in Microsoft Teams; the owner nudge in a Teams chat; the Monday digest in the sales channel; the hygiene report as a Power BI tab

Microsoft Dynamics 365 Sales accountsUiPath OrchestratorUiPath Robotsthe CRM itselfAction Center tasks in Microsoft Teams

Technologies used

UiPath Robots + Orchestrator

run the nightly job on a time trigger, queue each record, retry, and log every change with its previous value

A
UiPath Integration Service (Microsoft Dynamics 365 CRM and Salesforce connectors)

read and write accounts, contacts and deals through the CRM API, not its screens

A
UiPath Integration Service Connector Builder

the register lookups and any CRM without a ready connector, Pipedrive among them

A
UiPath Action Center in Microsoft Teams

uncertain merges and register mismatches resolved without leaving Teams

A
Microsoft Teams (Integration Service Teams connector)

owner nudges and the Monday pipeline digest in the sales channel

A
Power BI

the hygiene score per team and owner, pinned as a tab in the sales channel

A
VIES, KRS and CEIDG public registers

VAT status, legal name and registry status for enrichment

B
Averified product capability (vendor documentation)Bverified external source

Illustrative economic model

What it is worth, with the arithmetic shown.

Illustrative model
195 rep-weeks a month × 40 minutes of manual data fixing= 130 h / month
130 h × €38 fully loaded hourly cost= €4,940 / month
× 12 months≈ €59,280 / year
Annual selling time released (illustrative)≈ €59,280

The unit is a rep-week, and it is a modelled one: 45 salespeople across roughly 4.33 weeks give 195 rep-weeks a month, and we assume 40 minutes in each goes on correcting records, chasing a tax id or reconciling two versions of one customer. Nothing in that came from a measurement at a client. €38 is a fully loaded hourly cost for a B2B sales role in Central Europe. The model shows selling time released, not headcount removed.

Run the numbers on your data

hours released per month
of annual capacity released

An illustrative estimate from your own inputs. It models released capacity; it is not a promise of savings.

Business benefits

  • Reps get back the part of each week spent correcting records a rule could have corrected overnight
  • The pipeline review starts from the deals, because the argument about the data was settled before anyone joined
  • Duplicate accounts stop producing duplicate outreach, double-counted pipeline and split commission credit
  • Company data is verified against the register instead of retyped, so contracts carry a legal name that exists
  • Deals going quiet surface while they can still be rescued, not at the end of the quarter
  • A new salesperson inherits a clean territory instead of a two-month personal cleanup project

The management view

  • Forecasts rest on records that pass a written test, so the number can be defended without an anecdote
  • Coverage and win-rate ratios stop moving because somebody deleted rows in a spreadsheet before a meeting
  • Territory and account ownership stay clean, which cuts commission disputes and two reps calling the same group
  • Data quality becomes a managed number per team rather than a recurring complaint with no owner

Board-level KPIs

duplicate account rateshare of open deals with a next step and a close dateshare of accounts with a verified tax idmedian deal age in stagehygiene score per sales team

Security and governance

The automation holds exactly the rights it needs, and not one more.

  • The robot writes through a dedicated CRM service account whose permissions cover only the objects and fields in scope; no salesperson's login is borrowed
  • Every automated change is stored with its previous value, the rule that produced it and a timestamp, so a merge can be explained to an auditor or unwound
  • Merging is destructive in most CRMs, so automatic merges are limited to evidence classes signed off by sales operations; everything below the threshold goes to a person
  • Register lookups send a company identifier and nothing else; no contact-level personal data leaves your tenant, and results are written to structured fields
  • The automation tenant is provisioned in UiPath Automation Cloud's EU region; the API keys and the service-account secret it uses are held in the Orchestrator credential store, backed by Azure Key Vault where one already runs

Why now

01

A pipeline that cannot be qualified is usually discovered in the quarter it matters, when the options are expensive; the modelled €4,940 a month of sales time is the smaller half of the cost

02

Checking counterparties against public registers has become routine in Poland as e‑invoicing moves through KSeF, so a CRM that disagrees with the register now creates work in finance, not just untidiness in sales

03

Register APIs and CRM connectors are ordinary infrastructure today, so this needs an agreed rule set and a named owner rather than a data science project

Relevant executive roles

CFO

The pipeline behind the revenue plan rests on records that pass a written test, and the customer data used for invoicing matches the register

Sales Director

Reviews are about deals rather than data, and the hygiene score turns data quality into a per-team number that can be managed

CIO

CRM writes go through the API under a service account with a complete change log, replacing imports and macros built by whoever was available

Common questions and objections

Our reps will ignore another Teams message.

This one lists only that person's records and links straight to each, so it is cleared in minutes rather than postponed. It escalates to the manager after a second miss, and the hygiene score makes each team's backlog visible, which is what changes behaviour.

Automatic merging sounds dangerous.

It is, which is why the robot merges only on evidence you approve in advance, such as an identical tax id or an exact legal-name and address match. Everything softer becomes a task showing both records, and previous values are kept so a merge can be reversed.

We are replacing the CRM next year.

Then this is the right order. Migrating duplicates and blank tax ids into a new system doubles the cleanup bill, and the matching rules move with you because they live outside the CRM.

When this is not the right solution

  • A team of fewer than about fifteen sellers, where a focused afternoon each quarter is cheaper than building and owning a rule set
  • The CRM is not really used: if deals live in personal spreadsheets and the CRM is filled in afterwards, cleaning it cleans the wrong thing
  • Nobody owns the definitions. If the company cannot agree what a duplicate is or when a deal is stale, we start with a workshop rather than a robot

A question for the next management meeting

Is there a written data test our CRM records must pass, and how much of our open pipeline sits today on records that would fail it?

Implementation approach

What we deliver, and what we need from you to start.

We deliver

  • A data audit on a CRM export: duplicates under each candidate rule, stale deals, and where fields are missing
  • The match and merge rules with their certainty thresholds, agreed with sales operations and tested on your records first
  • The enrichment step against VIES, KRS and CEIDG, with field mapping and a policy on what may be overwritten
  • Staleness and mandatory-field rules per sales stage, with the owner nudge and manager escalation in Microsoft Teams
  • The Power BI hygiene score per team and owner, and the Monday digest in the sales channel
  • A pilot on one country, then rollout, with the rule set handed over in writing to its owner

We need from you

  • An export of accounts, contacts and open deals, or read access to a CRM sandbox
  • A named owner for the definitions of duplicate, stale, and mandatory per stage
  • A service account in the CRM with write permission limited to the objects in scope
  • Your sales stage model and any data rules already written down

Stages

Audit

Measure duplicates, stale deals and field gaps in your data and put a number on each

Rules

Agree matching, merging, enrichment and staleness rules with sales operations, in writing

Build

The nightly job, register lookups, Teams nudges, Action Center tasks and the Power BI score

Dry run

Every change is proposed for a period without being written, and the proposals are reviewed

Go-live

Writes enabled one rule class at a time, starting with the safest, change log watched daily

Handover

The score enters the sales cadence, rules are tuned, ownership sits with sales operations

Quick win. Effort depends on how many CRM objects are in scope, how far match rules must reach beyond the tax id, and whether duplicate and stale are already defined.