Skip to main content
iVentureTeam

Odoo Sales / CRM widgets

Sales and CRM widgets render pipelines and quotations: stage bars, expected revenue, product configurators, margins and the order-line helpers sales teams live in.

Most accept options that change selling behaviour (not just looks), so each page lists the exact option names verified against the source.

14 widgets documented53 uses in Odoo coreVersions 16.0 → 20.0 verified per widget

Every sales / crm widget, by use in Odoo core

Odoo Sales / CRM widgets: name, purpose, field types and uses in Odoo core
WidgetWhat it doesField typesUses in core
res_partner_many2oneType three letters into a customer field and Odoo suggests real companies with their logo, address and VAT. That is res_partner_many2one: a standard many2one wrapped with Odoo's company autocomplete service. It lives in a module most people have never looked at.many2one20
so_line_fieldThe Sales Order Item column on Odoo timesheets is rendered by so_line_field, a many2one variant that quietly records whether a human picked the item. Here is what it actually does.many2one8
badge_rottingThe badge_rotting widget renders a stage column that carries a red 12d pill when the record has been sitting in that stage too long. It is the list-view member of Odoo 19's rotting family.many2one3
loyalty_one2manyThe Rules and Rewards blocks on an Odoo loyalty program form look custom, but loyalty_one2many is just the standard x2many widget wearing a different template: a heading with the field label and an always present Add button.one2many, many2many3
many2one_avatar_leader_userA user picker that knows who runs the team: many2one_avatar_leader_user renders the standard avatar dropdown and marks the selected sales team's leader with a (Team Leader) tag.many2one3
rottingOdoo 19 marks records that sit too long in a pipeline stage as rotting. The rotting widget is the red day-count badge that appears on their kanban cards.integer3
rotting_statusbar_durationThe rotting_statusbar_duration widget is the Odoo 19 form statusbar that shows how long a record spent in each stage and warns, on hover, when the record has gone stale.many2one3
so_line_create_buttonOn a billable project task, the Sales Order Item field carries a small plus button. That is so_line_create_button: a many2one that can spawn a whole sales order in a dialog and wire the task to its first service line automatically.many2one3
sol_product_many2oneEvery product you pick on an Odoo quotation goes through sol_product_many2one: the widget that decides whether you get a plain product, a variant configurator, a combo picker, or a grid.many2one2
loyalty_data_fieldThe loyalty summary on a sale order: points, rewards, whatever the server computed. It is a display with no options at all, and it does not survive into the next version.json1
quotation_document_many2manyThe upload area for the PDF pages Odoo wraps around a quotation. It borrows the product document kanban wholesale and changes three things: where uploads go, what they attach to, and that only PDFs are accepted.many2many, one2many1
so_template_line_o2mQuotation templates gained optional sections in Odoo 19, and this widget is what keeps them honest: move a line into one and its quantity becomes zero, move it out and the quantity comes back.one2many1
sol_o2mThe order lines table on every Odoo quotation. Most of what it adds to the generic sectioned list is one feature: making combo products behave like a single line that happens to have parts.one2many1
sol_textThe description cell on a quotation line. It behaves like the shared section and note text field everywhere except on a combo line, where it deliberately drops to a single line input.text, char1

Each widget page has the usage XML, Studio steps, every developer option, and a per-version compatibility table verified against the shipped Odoo source.

We use cookies to improve your experience

Essential cookies make the site work; with your permission we also use analytics to improve it. See our cookie policy.