Features
On top of Dolibarr's third party and quotation, not beside them
Dolibarr already has a customer file and a quotation. This module does not create second ones:
Dolibarr already has a customer file and a quotation. This module does not create second ones:
llx_societe stays the customer record and llx_propal the quotation of record. A quotation that is created, sent, signed or refused is picked up automatically and attached to the customer's deal when exactly one is open — never “the most recent”, which would file the quotation under the wrong deal and distort two forecasts at once. An order validated from a quotation closes the deal as won.
Lead capture from ten sources
Leads arrive from a public web form (no Dolibarr account needed), a trade show, a campaign, a purchased list, a referral or direct prospecting: ten configurable sources, whose yield you can follow. Each lead carries its consent — given, refused, withdrawn or not recorded — with a dedicated alert for the sources that require it. The public form goes onto your website through a single address to publish, with no development.
Leads arrive from a public web form (no Dolibarr account needed), a trade show, a campaign, a purchased list, a referral or direct prospecting: ten configurable sources, whose yield you can follow. Each lead carries its consent — given, refused, withdrawn or not recorded — with a dedicated alert for the sources that require it. The public form goes onto your website through a single address to publish, with no development.
A duplicate is flagged, never refused
The module finds a lead's twin on the e-mail address when there is one, otherwise on the normalised company name. It flags the match and does not reject the row: rejecting the row means losing the prospect, and the prospect who signs up twice is precisely the one who is interested. The salesperson sees the match, decides whether to merge or keep both, and nothing has vanished in the meantime.
The module finds a lead's twin on the e-mail address when there is one, otherwise on the normalised company name. It flags the match and does not reject the row: rejecting the row means losing the prospect, and the prospect who signs up twice is precisely the one who is interested. The salesperson sees the match, decides whether to merge or keep both, and nothing has vanished in the meantime.
Assigned to the least-loaded salesperson, not by rota
A new lead goes to the team member with the fewest leads in progress. Not a rota: a rota keeps feeding a salesperson who is on leave while the clock runs, and the lead waits for nobody. With real workload as the criterion, the person who is absent or swamped receives less, and the teams and territories you declare remain the frame of the distribution.
A new lead goes to the team member with the fewest leads in progress. Not a rota: a rota keeps feeding a salesperson who is on leave while the clock runs, and the lead waits for nobody. With real workload as the criterion, the person who is absent or swamped receives less, and the teams and territories you declare remain the frame of the distribution.
Six qualification axes, divided by the weights actually filled in
Budget, authority, need, timeline, profile fit, engagement: six axes, each weighted, give a score out of 100 and a grade from A to D. The total is divided by the weights actually filled in, not by the whole grid: a lead whose budget nobody has yet asked about is not a lead with no budget. Without that rule every recent lead would be scored as poor, simply because it is recent.
Budget, authority, need, timeline, profile fit, engagement: six axes, each weighted, give a score out of 100 and a grade from A to D. The total is divided by the weights actually filled in, not by the whole grid: a lead whose budget nobody has yet asked about is not a lead with no budget. Without that rule every recent lead would be scored as poor, simply because it is recent.
Multi-channel sequences, stopped at the first reply
Multi-step cadences — e-mail, call, social message, SMS, letter, wait — with their delays, message templates and, for each step, the open and reply rates. The sequence stops at the prospect's first reply: chasing someone who has already answered is the surest way to lose them. It is not a mass-mailing tool: it runs cadences and counts what comes back.
Multi-step cadences — e-mail, call, social message, SMS, letter, wait — with their delays, message templates and, for each step, the open and reply rates. The sequence stops at the prospect's first reply: chasing someone who has already answered is the surest way to lose them. It is not a mass-mailing tool: it runs cadences and counts what comes back.
Responsiveness counted in open hours, not clock hours
A lead filed on Friday at 18:00 against a four-hour commitment is not late on Monday at 09:00: it has used none of its four hours. The clock walks the team's calendar — opening slots, Saturday duty, public holidays — and counts only the hours when someone can be reached. Five commitments (first contact, first follow-up, quote sent, quote follow-up, decision), each with a duration per priority. A clock stops when the event happens or when the lead leaves the queue: a lead qualified in March waits for nobody any more.
A lead filed on Friday at 18:00 against a four-hour commitment is not late on Monday at 09:00: it has used none of its four hours. The clock walks the team's calendar — opening slots, Saturday duty, public holidays — and counts only the hours when someone can be reached. Five commitments (first contact, first follow-up, quote sent, quote follow-up, decision), each with a duration per priority. A clock stops when the event happens or when the lead leaves the queue: a lead qualified in March waits for nobody any more.
Escalation on three levels
A broken commitment rises to level 1, level 2 and then management, according to the overrun observed, to the manager of the team concerned. An escalation already raised is not raised again on every run of the scheduled jobs: that is how an inbox learns to ignore a module. Eight configurable alert rules complete the set-up, and the e-mail templates can be edited.
A broken commitment rises to level 1, level 2 and then management, according to the overrun observed, to the manager of the team concerned. An escalation already raised is not raised again on every run of the scheduled jobs: that is how an inbox learns to ignore a module. Eight configurable alert rules complete the set-up, and the e-mail templates can be edited.
Pipelines, stages and the full history of moves
Configurable pipelines and stages: each stage has its probability, colour, expected duration and whether a quotation is required. Deals carry product lines, margin and weighted amount. Every stage move is kept, including the moves backwards, because deals do go backwards. Stalled deals are detected beyond a threshold you set; competitors met, each one's position, and loss reasons, with the share of revenue lost per reason.
Configurable pipelines and stages: each stage has its probability, colour, expected duration and whether a quotation is required. Deals carry product lines, margin and weighted amount. Every stage move is kept, including the moves backwards, because deals do go backwards. Stalled deals are detected beyond a threshold you set; competitors met, each one's position, and loss reasons, with the share of revenue lost per reason.
Four forecast tiers that are never added together
Open pipeline, best case, commit, won: four tiers that are never added together, since each contains the one before; adding them would count the same deal twice. Coverage ratio and targets per salesperson and per team come with them. Commissions follow a cascade of rules: the most specific rule wins, and the accelerator applies only to the part above the threshold, otherwise a deal one euro over would pay more than a deal twice as large just under it.
Open pipeline, best case, commit, won: four tiers that are never added together, since each contains the one before; adding them would count the same deal twice. Coverage ratio and targets per salesperson and per team come with them. Commissions follow a cascade of rules: the most specific rule wins, and the accelerator applies only to the part above the threshold, otherwise a deal one euro over would pay more than a deal twice as large just under it.
The measurable share: what the figures do not cover, named
A deal with no third party, no salesperson, no stage or no amount is never counted as won: it is left out of the measurement, its reason is named among nine and the exact field to correct is printed. Every screen shows the share of rows its figures actually describe. A dashboard that announces a hundred per cent success rate over the eleven deals it could measure, out of ninety, does not say what it appears to say.
A deal with no third party, no salesperson, no stage or no amount is never counted as won: it is left out of the measurement, its reason is named among nine and the exact field to correct is printed. Every screen shows the share of rows its figures actually describe. A dashboard that announces a hundred per cent success rate over the eleven deals it could measure, out of ninety, does not say what it appears to say.
Eight dashboards, 68 reports, exports and a 51-route API
Eight web dashboards and 68 reports in 9 families, exportable as CSV, Excel, Word, PDF and JSON, with scheduled e-mail delivery. A secured REST API of 51 routes and 9 scheduled jobs move clocks, scores, sequences, indicator snapshots and alerts along without intervention. Each screen appears or disappears according to the permissions, 53 of them in 19 groups.
Eight web dashboards and 68 reports in 9 families, exportable as CSV, Excel, Word, PDF and JSON, with scheduled e-mail delivery. A secured REST API of 51 routes and 9 scheduled jobs move clocks, scores, sequences, indicator snapshots and alerts along without intervention. Each screen appears or disappears according to the permissions, 53 of them in 19 groups.
A demonstration set that installs and uninstalls in one click
The module ships with about 8,100 demonstration rows: 312 leads, 121 deals, 1,900 activities and 13 months of history, so every screen shows figures from the moment of activation. A button on the configuration page installs or removes them. Uninstalling leaves the rows the user created untouched: you do not have to choose between clearing the demonstration and keeping your own work.
The module ships with about 8,100 demonstration rows: 312 leads, 121 deals, 1,900 activities and 13 months of history, so every screen shows figures from the moment of activation. A button on the configuration page installs or removes them. Uninstalling leaves the rows the user created untouched: you do not have to choose between clearing the demonstration and keeping your own work.
What the module does not do
-
The module modifies no native Dolibarr table. It creates its own
llx_salesprospectingpro_*tables and plugs in through hooks and triggers. - It requires the Third parties and Commercial proposals modules. Without them it says so on the screens instead of showing zeroes.
- It does not correct your data. It names what is missing and refuses to measure what it cannot measure; the typing stays yours.
- It is not a mass-mailing tool. It runs sequences and counts their returns, but does not send mass campaigns itself.
- It does not replace Dolibarr's quotation or order. It mirrors them and links them to the deal.
- It does not automatically enrich records from external databases.
Putting it to work
- Enable the Third parties and Commercial proposals modules if they are not already, then Sales Prospecting Pro. A complete demonstration set is already in place.
- Grant the permissions to your user groups. With no permission row the left-menu entries stay invisible.
- Open the configuration page: grade thresholds, default delays, working days and hours, stalled-deal threshold, commit probabilities, commission rates.
- Replace the demonstration reference data with your own: teams, salespeople, territories, pipelines and stages, calendars, responsiveness policies, sources and campaigns.
- Publish the address of the public capture form on your website.
- Enable the scheduled jobs so that clocks, scores, sequences, indicator snapshots and alerts advance by themselves.
- Uninstall the demonstration data in one click from the configuration page when you are ready to work on your own.
Technical summary
| Module number | 1800000 |
| Version | 1.0.0 |
| Dolibarr | 16 to 23 |
| PHP | 7.1 to 8.4 |
| Depends on | Third parties, Commercial proposals |
| Tables | 45, prefix llx_salesprospectingpro_
|
| Columns | 1,021 |
| Permissions | 53 in 19 groups |
| Constants | 36 |
| Scheduled jobs | 9 |
| Dashboards | 8 |
| Reports | 68 in 9 families |
| REST API | 51 routes |
| Alert rules | 8 |
| Exports | CSV, Excel, Word, PDF, JSON |
| Languages | 1,567 keys in English, French, Spanish, Italian, German |
| Files | 275 |
| Demonstration data | about 8,100 rows: 312 leads, 121 deals, 1,900 activities, 13 months |
| Licence | GPLv3 |
