Widget category
Odoo Selection & Status widgets
Selection and status widgets turn selection fields into radios, badges, priorities and state bubbles — the visual language of record status in Odoo.
They are the cheapest UX win in the system: one widget attribute in Studio changes how clearly a whole pipeline reads.
4 widgets documented27 uses in Odoo coreVersions 16.0 → 20.0 verified per widget
Every selection & status widget, by use in Odoo core
| Widget | What it does | Field types | Uses in core |
|---|---|---|---|
| badges_selection | New in Odoo 20 and the replacement for selection_badge. It declares a single option and quietly reads four more, two of which do conditional choice filtering with no Python at all. | selection | 26 |
| selection_badge_with_filter | In Odoo 19 this widget shows a selection as badges filtered by another field's value. In Odoo 20 the same registration name belongs to a completely different widget, so the same XML does something else. | selection | 1 |
| hr_presence_status_private | An employee presence indicator that Odoo 19 registers for form views only. Odoo 20 both lifts that restriction and quietly changes how it looks. | selection | — |
| work_entry_source_field | A radio field that knows one rule: a fully flexible calendar cannot use Working Hours as a work entry source. It warns the user rather than letting the server reject the save. | selection | — |
Each widget page has the usage XML, Studio steps, every developer option, and a per-version compatibility table verified against the shipped Odoo source.
Other widget categories
Need these working in your Odoo?
The team that documented every widget also builds with them — custom views, upgrades and performance work by senior Odoo developers.
