Widget category
Odoo Project / Timesheet widgets
Project and timesheet widgets render task states, progress, allocations and the timers and grids hours are booked through — the raw material of services billing.
If utilization or billable accuracy is the goal, start with the timer and grid widgets; they decide how friction-free time capture actually is.
15 widgets documented74 uses in Odoo coreVersions 16.0 → 20.0 verified per widget
Every project / timesheet widget, by use in Odoo core
| Widget | What it does | Field types | Uses in core |
|---|---|---|---|
| many2many_avatar_user | The Assignees field on project tasks is this widget: user avatars as pills, an avatar card on click, and a kanban quick-assign popover that saves the record instantly. | many2many, one2many | 24 |
| project_task_state_selection | The task state selector is the colored status bubble on every Odoo task: In Progress, Changes Requested, Approved, Done or Canceled, with click behavior that adapts to where you are. | selection | 11 |
| name_with_subtask_count | The (2/5 sub-tasks) suffix on task names in Odoo project lists comes from name_with_subtask_count, a char widget with auto-loaded counters and a surprising history. | char | 7 |
| project | On an Odoo task form the project field is not a plain dropdown: the project widget wraps the standard many2one and shows a gray Private placeholder when the task belongs to nobody's project. Small widget, one hardcoded assumption worth knowing. | many2one | 5 |
| status_with_color | The green On Track and red Off Track bubbles on Odoo project cards come from status_with_color, a project module widget that maps five health values to five fixed bubble colors. Its two knobs are attributes, not options, and Odoo 20 replaces both. | selection | 5 |
| priority_switch | Project tasks use priority_switch, not the plain priority widget. The stars look identical; the difference lives entirely in the command palette. | selection | 4 |
| project_is_favorite | The star on every Odoo project card is not the plain favorite widget. project_is_favorite exists for one reason: letting users star projects they are not allowed to edit. | boolean | 4 |
| todo_done_checkmark | Odoo's personal to-dos mark completion with a single circled check. todo_done_checkmark is a state_selection in disguise, with two pieces of memory the source docs never mention. | selection | 4 |
| project_state_selection | The green, orange and red status bubble on an Odoo project is project_state_selection. It swaps the generic state colors for the five-color project palette, and quietly removes one status from the dropdown. | selection | 2 |
| statusbar_duration | statusbar_duration is the status bar that prints how long the record sat in every stage, fed by the chatter's tracking history. It only works on models that opt into a server-side mixin, and Odoo 20 rewrites its data contract. | many2one | 2 |
| task_stage_with_state_selection | In the task list view, the Stage column shows the stage name with the task's state bubble beside it. That pairing is task_stage_with_state_selection, a composite widget that renders two fields in one cell, and it is not the many2one widget it looks like. | many2one | 2 |
| depend_on_ids_one2many | The blocking tasks list on a shared project task. It exists because the portal view is not the backend view, and the standard list renderer assumes things the portal cannot offer. | one2many, many2many | 1 |
| notebook_task_one2many | A task list rendered inside a notebook tab, with its own renderer and one adjustment: a kanban card opens the task rather than a dialog. | one2many | 1 |
| subtasks_one2many | The sub-tasks list on a project task. Its distinguishing behavior is what it does not pass on: when a sub-task opens, only a filtered set of context keys travels with it. | one2many | 1 |
| task_done_checkmark | A tick instead of a switch, with one rule worth knowing: in a list or a kanban it saves as soon as you click, and on a form it waits for you. | boolean | 1 |
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.
