If you run a sales team on Odoo and have ever wondered why some leads sit in limbo despite having automatic assignment turned on, there’s now an explanation baked into the documentation — and it comes down to simple arithmetic.
Odoo’s CRM module has always offered automatic lead assignment for sales teams. Enable it, set your team members’ capacities, and leads flow to reps without anyone manually dragging cards around a pipeline. But the system has a guardrail that isn’t immediately obvious: it divides each team member’s monthly capacity by 30 to calculate a hard daily maximum. Once that daily number is hit, no more leads go to that person until the clock resets.
The Math Behind the Cap
Every sales team member in Odoo has a Capacity field. This number represents how many leads they can handle over a 30-day rolling window. Set it to 120, and the system interprets that as 4 leads per day. Set it to 90, and the daily limit becomes 3. Set it to 60, and it’s 2.
The formula is straightforward: take the Capacity value, divide by 30, and that’s the maximum number of leads Odoo will assign to that team member on any given day. There’s no configuration option to change the divisor, no way to set a custom daily limit separate from the monthly capacity. The 30-day window is fixed.
This design makes sense for steady-state lead flow. If your team processes leads at a consistent pace, the daily distribution stays even and no one gets buried under a Monday morning avalanche. But it creates a specific failure mode that catches teams off guard.
What Happens When the Dam Fills Up
Here’s the scenario that trips people up. Say you have a three-person sales team. Maria handles 120 leads per month (4/day), Thomas handles 90 (3/day), and Sophie handles 60 (2/day). That’s a combined daily capacity of 9 leads.
Now imagine a Tuesday where a campaign fires and 14 leads come in. Odoo assigns the first 9 across the team according to their capacity ratios. The remaining 5 leads? They go nowhere. They sit unassigned — not queued for the next day, not assigned to anyone as overflow, just sitting in the pipeline without an owner.
This is the behavior that the documentation now explicitly calls out. Leads can go unassigned if all team members’ daily capacity has been met. The system won’t force-feed leads to reps who have already hit their ceiling, even if there are leads waiting and reps who are technically available.
Why the System Won’t Just Assign Them Anyway
The instinct is to think the system should push excess leads through regardless. But the capacity limit exists for a reason: it prevents lead hoarding and ensures follow-up quality. A rep who receives 4 leads per day can reasonably call, email, and qualify all of them. A rep who receives 12 on a spike day will triage, cherry-pick the best ones, and let the rest go cold.
By capping daily assignment, Odoo is making an opinionated choice: it’s better to have leads temporarily unassigned than to dump them on reps who can’t work them. The assumption is that someone — a sales manager, a team lead, an automation rule — will notice the unassigned leads and either redistribute them manually or adjust capacities to handle the volume.
The Practical Implications for Sales Managers
If you’re running automatic lead assignment and occasionally see leads sitting without an owner, the first thing to check is whether your team’s combined daily capacity matches your actual lead volume. Add up every team member’s capacity, divide by 30, and compare that number to your average daily inbound. If the leads regularly exceed the total daily capacity, you have a structural gap.
The fix is either to increase individual capacities (which means your reps need to handle more per day), add more team members to the assignment rotation, or accept that some leads will need manual routing during peak periods. There’s no setting to create a spillover queue or next-day rollover — that would need to be handled through a scheduled action or automation rule.
It’s also worth noting that the capacity field determines both the monthly volume and the daily ceiling. You can’t say “this rep handles 120 per month but can take up to 8 on a busy day.” The daily max is always capacity divided by 30, no exceptions. If you want a higher daily burst capacity, you have to raise the monthly number — which means that rep will receive more leads across the entire month, not just on spike days.
For teams that deal with unpredictable lead volume — seasonal businesses, companies running periodic campaigns, or anyone whose inbound fluctuates significantly day to day — this is a meaningful constraint to design around. The automatic assignment works beautifully for steady flow. For spiky flow, you need a plan for the overflow.