Skip to main content
iVentureTeam

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

Odoo Project / Timesheet widgets: name, purpose, field types and uses in Odoo core
WidgetWhat it doesField typesUses in core
many2many_avatar_userThe 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, one2many24
project_task_state_selectionThe 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.selection11
name_with_subtask_countThe (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.char7
projectOn 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.many2one5
status_with_colorThe 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.selection5
priority_switchProject tasks use priority_switch, not the plain priority widget. The stars look identical; the difference lives entirely in the command palette.selection4
project_is_favoriteThe 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.boolean4
todo_done_checkmarkOdoo'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.selection4
project_state_selectionThe 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.selection2
statusbar_durationstatusbar_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.many2one2
task_stage_with_state_selectionIn 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.many2one2
depend_on_ids_one2manyThe 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, many2many1
notebook_task_one2manyA task list rendered inside a notebook tab, with its own renderer and one adjustment: a kanban card opens the task rather than a dialog.one2many1
subtasks_one2manyThe 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.one2many1
task_done_checkmarkA 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.boolean1

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.