Assigner
Blog / Guides 9 min read

Lead Distribution Software Open Source: What Open Source Lead Management Actually Costs to Run

August 2026 · Assigner

Routing Studio
Assigned

Routed by your rules - illustrative sample
Inbox
Assignees load
Skipped

Yes, there is real open source lead distribution software, and the three serious options are EspoCRM, SuiteCRM, and Odoo. All three can round-robin inbound leads across a team, and all three attach a condition to that ability that the download page does not mention. EspoCRM puts assignment rules inside Workflows, and the documentation states plainly that "The Workflows tool is available in Advanced Pack", a paid extension. SuiteCRM does it natively in the Workflow module but cannot split leads unevenly. Odoo assigns on a schedule rather than on arrival, so the clock on a new lead starts ticking before anybody owns it. The license is free. The distribution is not, and the gap between those two facts is where most self-hosted lead routing projects go wrong.

Which open source tools actually distribute leads

Plenty of lists will tell you a dozen open source CRMs handle lead management. Managing a lead and distributing one are different jobs. Storing a lead, showing it on a pipeline, and letting somebody claim it is table stakes. Deciding automatically which of eleven reps gets the lead that arrived nine seconds ago, and doing it fairly, is the part that separates the field.

ToolNative distribution methodsWhat you getWhere it stops
EspoCRMRound-Robin, Least-BusyTarget Team, Target User Position, and a List Report that defines what counts as busyAssignment rules live in Workflows and BPM, which are in the paid Advanced Pack
SuiteCRMRound Robin, Least Busy, RandomAssigned To options inside the bundled Workflow module, no extension neededNo weighted split, and community reports of inactive users still drawing leads
OdooRule-based assignment with capacityPer-salesperson domain filters and a daily cap derived from a Capacity fieldRuns on a schedule, not on lead arrival, and edition gating differs
Build it yourselfWhatever you writeTotal control over the rule and the dataYou now own the rule, the state, the audit trail, and the pager

EspoCRM: the assignment engine is good, and it is in the paid pack

EspoCRM has the cleanest model of the three. Assignment rules are configured as an action inside a workflow, and you get two distribution types. Round-Robin walks a user list from top to bottom and then starts again. Least-Busy picks whoever currently holds fewer assigned records. Three settings shape the pool: Target Team decides who is eligible, Target User Position narrows that to a position within the team, and List Report defines which records count toward the busy calculation.

That last option is the one worth stealing conceptually even if you never run EspoCRM. Least-busy is only useful if "busy" means open work. If the count includes every lead a rep has ever been assigned, the newest hire wins every draw for a year and the rule quietly becomes seniority-based distribution. The List Report exists so you can scope the count to leads that are still open, and skipping it is the most common way teams break their own load balancing. The same trap applies to any tool, which is why round robin versus load balancing is a design decision rather than a checkbox.

The catch is licensing. EspoCRM's core is genuinely free and open source, and the documentation states that the Workflows tool is available in Advanced Pack. Advanced Pack is a commercial extension. So the honest description of EspoCRM lead distribution is that the CRM is free, the routing is a paid add-on, and your total is the extension license plus hosting rather than zero. That is still cheap compared with the enterprise category, and it is not the free that the search phrase implies.

For applying a rule only to leads that arrive through a web form rather than to every lead in the system, the documented pattern is to create a separate campaign record for the capture form and condition the workflow on the Campaign field. It works, and it is the kind of indirection you should expect throughout: the capability exists, and reaching it takes a step that is not obvious from the settings screen.

SuiteCRM round robin: native, free, and unweighted

SuiteCRM is the one case where lead distribution really does come with the free download. The bundled Workflow module offers Round Robin, Least Busy, and Random as Assigned To options, so a workflow that fires on new lead creation and assigns from a role or a security group is a twenty-minute build with no license to buy.

Two limits show up quickly once real traffic hits it. The first is weighting. Every team eventually needs an uneven split: a new rep on half volume during ramp, a senior rep who also carries escalations and should take fewer, a 2/2/2/1/1 pattern across a mixed team. The native workflow has no concept of a weight, so the answer is either a paid third-party add-on from the SuiteCRM store or a custom logic hook. This is exactly the requirement that weighted round robin lead distribution exists to solve, and it arrives sooner than anyone plans for.

The second is eligibility. Community threads recur on the same complaint: the rotation keeps handing leads to users who are inactive or whose employee status is terminated. Nothing in the platform is going to tell you this is happening. You find out when a prospect complains that nobody called, and the lead is sitting under a name that left in March. If you run SuiteCRM round robin, put a monthly check on the eligible-user list in your calendar, because the system will not run it for you.

Odoo rule-based assignment: capacity is clever, the schedule is not

Odoo takes the most interesting approach of the three and it is worth understanding even if you never use Odoo. You turn on Rule-Based Assignment under CRM, then Configuration, then Settings. Each salesperson and each sales team carries a domain filter describing which leads they should get, and a Capacity field describing how many they can absorb.

The capacity math is specific and genuinely useful: the daily maximum is the Capacity figure divided by 30. A rep with a Capacity of 120 receives at most 4 leads a day. That is a real answer to the problem every rotation eventually hits, which is that even distribution says nothing about whether the person can actually work the volume they are handed. Most tools in this category do not have anything like it.

Then there is the part that undoes it. Assignment does not fire when a lead arrives. It runs as a scheduled action, configured under a Running setting where you choose Manually or Repeatedly and set a frequency somewhere between minutes and weeks. Older versions defaulted to once a day and processed leads in batches. So on default settings, a form fill at 9:02 in the morning may have no owner until the job runs.

For any team whose leads came from a paid ad, that is the whole ballgame. Speed to lead is measured in minutes, not in cron intervals, and a batch window is a structural ceiling on it rather than a tuning problem. You can shorten the interval, and you should, but you are still choosing between database load and response time instead of simply assigning on arrival. One more thing to confirm before you commit: Odoo ships Community and Enterprise editions with different feature sets, so verify which edition carries rule-based assignment in the version you are installing rather than assuming the documentation page applies to the free build.

What open source lead distribution actually costs to run

The license is $0. Here is everything else, and it is worth writing down before the decision gets made in a meeting where only the license line is on the slide.

  • Hosting. A CRM that inbound leads depend on is production infrastructure. Realistically that means a server with backups, monitoring, and a staging copy, not the cheapest instance available.
  • The paid pieces. EspoCRM Advanced Pack for workflows. A SuiteCRM store add-on for weighting. Whatever plugs the specific gap your team hits in month two.
  • Upgrades. Self-hosted PHP CRMs need version upgrades, and customizations are what make upgrades expensive. The more logic hooks you wrote to fix the routing, the harder each upgrade becomes.
  • Somebody's time. This is the line that never makes it onto the slide. Standing it up, keeping the server patched and the deploys boring, and debugging the day rotation silently stops is a recurring claim on an engineer, and engineer hours are the most expensive thing in the comparison.
  • The failure mode. When routing breaks on a hosted product you file a ticket. When it breaks on your own box at 6pm on a Friday, that is your evening.

Run those numbers against real vendor pricing rather than against your impression of it. The enterprise end of this market is genuinely expensive: LeanData pricing lands at a median of just under $23,000 a year in recorded contracts, which makes self-hosting look like an obvious win. The rest of the category is nowhere near that, and lead routing software pricing across the whole field starts an order of magnitude lower. If the paid option costs less per year than the engineering time you will spend on the free one, open source is not the cheap choice, it is the expensive one wearing a free label.

When open source is the right call

There are real cases for it, and they are not the ones people usually cite.

Data residency or regulatory constraints. If lead data legally cannot leave infrastructure you control, this stops being a cost comparison. Self-hosting is the requirement and the engineering time is the price of doing business.

You already run the CRM. If SuiteCRM or Odoo is already your system of record and an engineer already maintains it, adding a round robin workflow is genuinely a small piece of work on top of a cost you are already paying.

The rule is strange. Some distribution logic is specific enough that no product models it. Routing by license state and product line and a partner tier that only exists in your own tables is a case where writing it yourself may be the only honest answer.

Volume is low and fairness is loose. Twenty leads a week across four reps who all sit in the same room does not need much. A simple round robin workflow is fine and nobody is going to audit it.

When to buy instead

The signal is not lead volume, it is how many dimensions the decision has. One dimension, take turns, is easy in any of these tools. The moment the rule needs to know who is on vacation, who already has nineteen open leads, who is certified on the product the lead asked about, and which territory the account sits in, you are building a small scheduling engine and maintaining it forever. That is the point where skills-based routing, workload balancing, and availability routing stop being features on a comparison grid and start being the reason the thing works at all.

The other signal is where the work arrives. Every option here routes records that live inside that specific CRM. If some of your inbound comes through a help desk, a web form that posts somewhere else, or an ops queue in a spreadsheet, a CRM-native workflow cannot see it, and you end up running two distribution processes that disagree with each other. Lead distribution software that sits beside your stack rather than inside one product is the version of this problem that scales.

Assigner is the paid side of that comparison, priced to be an honest one: $12 per user per month billed yearly, no seat minimum, and no sales call before you can use it. It routes support tickets, sales leads, and internal ops tasks in one engine by round robin, weighted rotation, live workload, skill, availability, and territory rules you control, and records which rule fired and who else was eligible on every assignment. It sits beside the CRM you already run rather than replacing it. The AI assists your triage, the rules stay yours, and the demo data shown is illustrative rather than a live integration.

Quick reference

  • EspoCRM: Round-Robin and Least-Busy, with Target Team, Target User Position, and a List Report that defines busy. Assignment rules require the paid Advanced Pack.
  • SuiteCRM: Round Robin, Least Busy, and Random in the bundled Workflow module. No weighting, and check your eligible-user list monthly.
  • Odoo: Rule-based assignment with a real capacity model, daily cap equals Capacity divided by 30. Runs on a schedule rather than on arrival. Confirm edition gating.
  • The cost that gets missed: engineering time, not the license. Price it against what the paid tools actually charge before deciding.
  • The question that decides it: how many dimensions does your routing rule have, and does all the routable work live in one system?

Stop hand-sorting your incoming work

Route every ticket, lead, and request to the right available person by skill, workload, and availability, using rules you control, and every assignment shows why. Rules you control, no black box.