Deduptio

Duplicate deals in Attio

The short answer

Attio's interface cannot merge deals — merge is available for company and person records only. So a duplicate deal is either deleted, which loses its history, or merged through the API. Before doing either, be sure the two records are one opportunity and not two real ones with similar names.

Why duplicate deals are a different problem

With people and companies, two records describing the same entity are simply wrong. Deals are not like that. A single customer can correctly have several open opportunities at once: a renewal and an upsell, two business units, this quarter's project and next quarter's. They often carry near-identical names, the same company, the same owner and overlapping dates.

That means the first question is never "how do I merge these?" but "is this one opportunity or two?" Get that wrong and you have not cleaned data, you have deleted a deal from the forecast.

How duplicate deals actually appear

Deciding whether two deals are one

Strong evidence that they are the same opportunity:

Evidence that they are two real deals, no matter how similar the names look:

The three ways to resolve one

  1. Copy across and delete. Move what matters onto the surviving deal by hand, then delete the other. Free, and fine when the duplicate is empty. Anything attached to the deleted record is gone permanently.
  2. Close one as a duplicate. Set the loser to a lost or void stage with a reason, and keep it for the audit trail. Nothing is deleted, reporting stays honest as long as your stage filters exclude it, and the pipeline number is correct.
  3. Merge through the API.Attio's record merge endpoint covers objects the interface does not, so deals can be merged — notes, tasks and activity move to the survivor rather than being deleted. This is what Deduptio does for deals and custom objects.

One caveat worth knowing before you merge deals: a required status or select attribute with no stored value comes back set to that attribute's first option if the merge is later rolled back, so a restored deal can return at a different stage. Check the stage after a restore.

Matching rules for deals

Deals have no natural unique identifier — no email, no domain — so rules are built from references and combinations:

Because deals reference companies, the parent object needs to be clean first. Deduptio resolves reference keys through pending duplicate groups so that two deals pointing at two copies of the same company still match — the mechanics are in cross-object matching.

Stopping the pattern

Duplicate deals are as much a process problem as a data one. The two changes that work: require an account check before opening an opportunity, and reopen rather than recreate when a lost deal comes back. A weekly scan on the Deals object catches the rest while the pipeline number still matters.

Scan your Deals object

Connect your Attio workspace, write one match rule, and run a scan. Scans are read-only — you see every group and the reason it matched before anything is merged.

Start a free Attio duplicate scan

Related