Skip to main content
iVentureTeam

pls_tooltip_button

The button that explains a lead's win probability: a progress wheel, the three factors helping it and the three hurting it.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
August 27, 2026Updated August 27, 20264 min read
Technical namepls_tooltip_button
Viewsform (view widget, <widget> element)
Modulecrm, the CRM app
Used in coreThe probability area on the CRM lead form
VersionsOdoo 20.0, Odoo 19.0, Odoo 18.0
No-code setupNo. It is set in view XML and depends on module-specific data
Alternativesweb_ribbon, progressbar, priority

What the lead score tooltip does

Predictive lead scoring gives every lead a win probability, computed from how similar leads historically closed. The number on its own invites the obvious question: why that number.

This widget answers it. Clicking the button opens a popover with a progress wheel for the probability and two short lists: the three factors pushing the score up, and the three pushing it down.

Before any of that it saves the record, because unsaved edits, a changed country or source, would make the explanation describe a lead that no longer exists.

What this means for your team

Scoring models get ignored when nobody trusts them, and trust comes from being able to see the reasoning. The top and bottom three factors are enough to tell a salesperson whether the model is picking up something real or an artifact of the data.

The factors are also a management signal. If the same field dominates every lead's score, that usually says more about your data entry than about your market.

Supported options in Odoo 19

The widget declares no options and takes the standard view widget props. The data the popover receives is listed below. Read from the predictive scoring tooltip source, Odoo 19.0.

OptionTypeWhat it does
probabilityreturned by the server callRecomputed on opening, drives the wheel and is reloaded onto the form.
top_3_datareturned by the server callThe three factors pushing the score up.
low_3_datareturned by the server callThe three factors pushing the score down.
team_namereturned by the server callThe sales team the comparison was made against.

Three server interactions per click. A save, the explanation call which also recomputes the probability, and a reload of the record. That is deliberate: the alternative is a popover that disagrees with the form behind it.

Working examples

Placing it

<widget name="pls_tooltip_button"/>

No attributes. It reads the lead from the record.

What the popover receives

probability, team name,
top 3 factors, bottom 3 factors,
the wheel's dash pattern

All from one server call, except the pattern.

Clicking again

# the popover closes; nothing is recomputed

The work only happens on opening.

Save, ask, reload, and the guard in between

The sequence on opening is save, ask, reload. The save commits pending edits so the score is computed against what the user actually entered. The server call recomputes the probability and returns the explanation alongside it. The reload pulls that new probability back onto the form.

Between the save and the call sits a guard worth noticing: the widget checks whether it has been destroyed and whether the record still has an identifier. Both can change during an awaited save if the user navigates away, and without the check the popover would open against a component that no longer exists.

The progress wheel is drawn from a dash pattern the widget computes itself. It takes the wheel's circumference from a fixed radius, splits it into a filled length proportional to the probability and a gap for the remainder, and passes that pair to the template.

Right to left layouts get an extra pair prepended, offsetting the pattern by half the circumference so the wheel fills from the correct side. That is the kind of detail that is invisible until you use the product in Arabic or Hebrew.

Version compatibility

VersionStatusNotes
Odoo 20.0Partial / changedNot released. Adds a bottom sheet presentation on small screens.
Odoo 19.0VerifiedVerified against the shipped source.
Odoo 18.0VerifiedFirst version. Same data and wheel calculation.
Odoo 17.0Not availableWidget does not exist.
Odoo 16.0Not availableWidget does not exist.

Upgrade note. Present since Odoo 18. Earlier versions showed the probability without this explanation, so an upgrade adds the popover with the standard views and nothing needs migrating.

What is changing in Odoo 20

Odoo 20 is expected at Odoo Experience in Brussels, 24 to 26 September 2026. The development branch is unstable and this may still change; we re-verify this page after the release.

A bottom sheet on small screens. The development branch adds the interface service and, when the screen is small, opens the explanation as a bottom sheet rather than a popover. The data and the wheel calculation are unchanged.

Common problems and fixes

SymptomCause and fix
The probability changes when I open itThe server call recomputes it, and the record is reloaded afterwards. Expected. The popover and the form are kept in agreement.
Nothing happens on clickThe save failed, or the record has no identifier yet. Save the lead manually and check for validation errors.
The wheel fills the wrong wayIt should not; right to left layouts get an offset pattern. Check the interface language direction is set correctly.
The factors look meaninglessThe model has too little history to distinguish leads. Expected on a young database; scores improve with closed leads.
The popover reopens instead of closingClicking while open closes it without recomputing. Expected behavior.
The widget is missingThe CRM module is not installed in that database. Install CRM.

Lead score tooltip vs the alternatives

WidgetBest forKey difference
pls_tooltip_buttonExplaining a lead's predictive score to the person looking at itSaves and recomputes before explaining, so the popover and the form agree
web_ribbonMarking a lead's stateA label rather than an explanation
progressbarShowing progress as a barA value with no reasoning behind it
priorityA manually set importanceHuman judgment rather than a computed score

There is no alternative widget. The probability field can be shown on its own, which is what happens without this button, and the explanation is then only available by reading the scoring configuration.

Frequently asked questions

Why does it save the lead when I click?+
Because unsaved edits can change the score. Saving first means the explanation describes the lead as it actually is rather than as it was loaded.
Why does the probability change on opening?+
The server call recomputes it, and the record is reloaded afterwards so the form and the popover agree rather than showing two numbers.
What are the two lists?+
The three factors pushing the score up and the three pushing it down, both returned by the same server call.
Why is there a check after the save?+
A slow save gives the user time to navigate away, so the widget verifies it still exists and the record still has an identifier before opening anything.
Does it change in Odoo 20?+
On the development branch it opens as a bottom sheet on small screens. The data and the wheel calculation are unchanged.

A CRM your sales team believes

Lead scoring, stage design and automation only work when the reasoning is visible. We implement Odoo CRM so the pipeline reflects reality, on versions 16 through 19.

Book a free consultation

How this page was produced

The save then call then reload sequence, the destroyed component and missing identifier guard, the dash pattern computed from a fixed radius and the right to left offset were read from the predictive scoring tooltip source on the Odoo 19.0 branch. Version coverage comes from comparing the file across the 18.0 branch and its absence on 16.0 and 17.0, plus a comparison against the public development branch. Spotted an error? Tell us and we will correct the page.