Short answer: most lost leads are not lost by one big mistake. They slip through small gaps: nobody owns the new enquiry, the first reply waits, the follow-up has no date, or two people chase the same contact. Odoo 19 CRM has a setting or a habit for each gap. The job is to find which of the five below is yours and fix that one first.
Applies to
- Odoo version: 19. I read the same CRM pages in the 20.0 documentation and they matched, so the steps below should carry over.
- Edition: Community and Enterprise for everything here. Optional extras such as lead mining need credits and are not covered.
- Apps: CRM, plus Website if the enquiry form is your main source.
Where do leads leak?
Picture one enquiry travelling through the system and ask where it could stall.
Leak 1: it never arrives
Enquiries sitting in a personal inbox are invisible to the team. Give each sales team an email alias under CRM ‣ Configuration ‣ Sales Teams, and set the website Contact Us form to Create an Opportunity. Both create records without anyone copying details across.
If you turn on the Leads setting in CRM ‣ Configuration ‣ Settings, new enquiries land as leads first. That gives someone a chance to qualify them before they clutter a salesperson’s pipeline. It applies to all teams by default, and you can untick Leads on a single team.
Leak 2: nobody owns it
An unowned lead is the most common leak. Rule-based assignment fixes it. Switch on Rule-Based Assignment in the CRM settings and choose Manually or Repeatedly. Then open each sales team and edit the assignment domain.
The domain is an ordinary filter. The documentation’s example is Probability >= 20. Anyone who has written an Odoo domain will find it familiar, and anything more specific than the filter builder allows is where a developer gets involved.
Leads handed out by this rule are converted into opportunities automatically. A team or person can tick Skip auto assignment if they should only receive leads by hand.
One trap is worth knowing. Each team member has a Capacity, and the documentation says the daily limit is that number divided by 30. When everyone has hit the limit, new leads stay unassigned, so a quiet leak can reappear on a busy day. Watch for unassigned leads after you switch the rule on.
Leak 3: nobody replies
Ownership is not contact. Give each new record a dated activity straight away. A plan under CRM ‣ Configuration ‣ Activity Plans can create a short sequence in one click, for example a call, then an email. Choose Default user or Ask at launch for who each step goes to.
The first step does not need to be clever. It needs to exist and have a date.
Leak 4: the follow-up fades
Activities mark the next step, but only if they are marked Done and replaced. Odoo’s documentation stresses this, because past-due activities clutter the pipeline.
For a manager, CRM ‣ Reporting ‣ Pipeline with the unattended leads filters shows leads with due or overdue activities. The documentation notes the report cannot be complete if people skip activities. For follow-ups that really are disappearing, I would look here before touching anything else.
Leak 5: two people chase the same person
Odoo compares the contact’s email address and phone number, and shows a Similar Leads smart button on the record when it finds a match. In the 19.0 source, the match is a computed many-to-many field on crm.lead called duplicate_lead_ids, so a developer can read it like any other field.
Merge only when it is the same person. The docs say merging cannot be undone, and give examples where merging is wrong, such as a different contact at the same company with a similar address.
When it fits and when it doesn’t
These fixes suit a team that handles a steady flow of enquiries from a few channels, where the loss is in the handling.
They will not help if the real problem is demand. A pipeline that is empty because few enquiries arrive needs marketing attention, not tighter assignment. Likewise, if the team is too small for assignment rules to matter (one person receiving everything), skip leak 2 and spend the time on activities.
Worked example: a commercial cleaning firm
Enquiries come from a web form, a shared email address and phone calls the office manager jots down.
First, point the web form at Create an Opportunity for the sales team and give that team an email alias, so the first two channels reach the CRM by themselves. The office manager creates the phone ones by hand. Turn on Leads so the manager can qualify them. Add one activity plan with a call and a written quote follow-up. Finally, check the unattended leads view every morning for a week.
Nothing there needs code. If later the firm wants to route by postcode, that is a domain on each salesperson’s assignment rules, and a developer only needs to step in if the postcode logic is more complex than a filter.
Common mistakes
- Enabling rule-based assignment before stating who should get what.
- Letting every enquiry become an opportunity, which puts weak leads in front of the team.
- Treating the Similar Leads button as an instruction. It is a prompt to check.
- Counting leads captured and ignoring leads answered.
Related
If the issue is that people avoid logging activities, start with getting your team to use the CRM. The wider system choice is in ERP vs CRM. The same problem is covered in plainer terms on sajjalbajaj.in.
Official references
- Odoo 19 CRM documentation
- Create leads from email or manually
- Convert leads into opportunities
- Assign leads with predictive lead scoring
- Merge similar leads and opportunities
- Unattended leads report
- crm.lead model, 19.0 source
How this article was checked: I read the 19.0 documentation pages listed above, compared them with 20.0, and confirmed the duplicate field name in the 19.0 crm.lead source. Menu names come from the documentation. I did not run a live database.
If your leads are leaking and you want help finding where, take a look at my portfolio and get in touch.