Case Studies

Odoo CRM Deduplication for an Open-Source Project

Leads deduped 1M+
Users 60+
Odoo 15 → 18

A well-regarded name in the open-source world runs its CRM, sales and marketing on Odoo across 60+ users, and came to us with a problem every large CRM eventually hits: duplicate and fragmented contact records quietly corrupting the data everything downstream depends on.

We built a touchpoint deduplication architecture that has cleaned over a million leads and keeps the CRM honest as records arrive, rather than through repeated manual purges. We have also carried them across Odoo upgrades, from 15 to 17 to 18. It is an ongoing relationship, with more work in progress.

What this looks like in practice

  • The deduplication problem. Contacts and touchpoints arriving from multiple sources produce duplicate and fragmented records, which quietly corrupts CRM data and every sales and marketing decision made from it. The fix is an architecture, not a one-off clean-up.
  • A dedup architecture, not a script. We built matching and merging logic that reconciles records reliably as they arrive, so the CRM stays clean going forward rather than needing repeated manual purges. See CRM customisation.
  • Native to their Odoo CRM. The organisation runs its CRM, sales and marketing on Odoo, so the deduplication is built natively into that stack, acting on records at the point they enter rather than after the damage is done.
  • Clean data, better decisions. Deduplicated contacts mean sales sees one true record per customer and marketing segments against reality rather than noise. A CRM is only as valuable as the data integrity underneath it.
  • An ongoing relationship. This is a continuing engagement with further changes in progress, the kind of long-term partnership that comes from doing the unglamorous, high-value work well.

What this means for your build

  1. Depth you can draw on. These systems exist because we went deep on hard problems, and that experience is what you’re buying, not a slide deck of logos.
  2. Engineering, not reselling. The value is the judgement to avoid expensive wrong turns, which only comes from having built the difficult version before.
  3. Scoped to your reality. We’d map your specific problem and scope it with an hours breakdown, rather than assume your situation matches the reference.
  4. Built to survive upgrades. Work built with the framework rather than against it, so it ports across Odoo versions rather than breaking, as the WIP work across v15 to v19 shows.
  5. One accountable partner. Senior oversight from our UK base, with delivery supported by our India team, on the hook for the outcome.

Common questions

We run our CRM and marketing on Odoo. Can you keep it clean?
Yes. Contact deduplication done as an architecture, matching and merging records as they arrive, is exactly this kind of work, so your CRM stays clean rather than needing repeated purges. See CRM customisation.
How is dedup as an architecture different from a clean-up?
A clean-up fixes today's duplicates; an architecture prevents tomorrow's. We build the matching and merging into the flow so records reconcile at the point they enter, rather than accumulating until the next manual purge.
Is this an ongoing relationship?
Yes, it's a continuing engagement with more changes in progress, not a one-off piece of work.

Not sure where to start? Book a free discovery call and we’ll map your current setup, or request a free Odoo health check if you’re already running Odoo.

Next step

Ready to fix your ops?

Book a free discovery call. We'll look at your current setup and tell you honestly whether Odoo is the right move and what it would involve.