CRM Lead Scoring & Routing
Rule-based lead scoring and automatic assignment by territory or round-robin
Native predictive lead scoring in Odoo is Enterprise-only and opaque, leaving Community teams to qualify and hand out leads by gut feel. That means hot leads go cold while reps argue over distribution, costing pipeline and conversion. Sales-operations and CRM managers handling inbound volume feel this most. This module adds a transparent rule-based gb.lead.scoring.rule engine plus territory and round-robin routing on crm.lead, auto-assigning qualified leads to the right rep with every decision logged.
Key Features
Weighted Scoring Rules
Each gb.lead.scoring.rule targets any crm.lead field with operators including set, equals, contains, greater/less than, in-list and email_domain, validated against the real field list. The matching engine adds the rule's points to the lead, so qualification logic is transparent and fully tunable.
Stored Score & A/B/C/D Grade
compute_lead_score totals every matching rule into gb_score and writes a human-readable gb_score_detail breakdown. A stored _compute_grade then bands the lead into A (hot, 80+), B, C or D, so reps see lead quality instantly in list and form views.
Territory Routing Rules
gb.lead.territory.rule matches leads by country, state, CRM tag and email domain in sequence order, mapping each to a crm.team. The first matching rule decides routing, giving precise control over which region or segment lands with which team.
Three Assignment Strategies
pick_user supports fixed salesperson, round-robin (tracking last_assigned_index) and least-loaded (by open opportunity count). An optional capacity_per_user cap skips reps who already hold too many open leads, keeping distribution fair and balanced.
Minimum-Score Gate & Audit Log
auto_assign only assigns leads scoring at or above the rule's min_score, and every decision writes a gb.lead.assignment.log row with outcome (assigned, skipped_score, skipped_no_user or no_rule). Managers get a complete, queryable trail of why each lead went where.
Hourly Score-and-Route Cron
An ir.cron (cron_score_and_route, off by default) sweeps up to 200 unassigned active leads, scoring then routing each in one pass. Enable it for fully hands-free inbound qualification, or trigger runs manually instead.
Bulk Re-Score Wizard
The gb.lead.bulk.rescore.wizard re-scores selected, all-open or unassigned-only leads in one click, with options to also auto-assign and to route only grade A/B leads. It is built for re-grading the pipeline after you change scoring or territory rules.
Team Insight & Rebalancing
crm.team is extended with gb_avg_score, gb_hot_lead_count and a territory-rule count, plus action_rebalance_open_leads to re-route unassigned leads after editing rules or adding members. Sales ops can see and rebalance each team's pipeline health directly.
Use Cases
Screenshots
Assignment Log
Rescore Route
Scoring Rules
Why Choose This Module
Add a transparent, rule-based scoring engine and an automatic routing engine to Odoo CRM leads and opportunities — no Enterprise predictive-lead-scoring required. Score leads on the attributes you choose, then auto-assign qualified leads to the right rep by territory, round-robin or workload, every decision logged.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: crm
- Support: support@pokutsoft.com
Update date: 2026-07-02