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.
| Technical name | status_with_color |
|---|---|
| Field types | selection |
| Views | form, kanban |
| Module | project |
| Used in core | 5 occurrences across 1 module: project (project form, kanban and top bar views) |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0, Odoo 17.0, Odoo 16.0 |
| No-code setup | No. Studio does not surface this project internal widget; apply it in XML. |
| Alternatives | state_selection, selection_badge, selection |
What the Status with Color widget does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
status_label (attribute) | string | XML attribute, not an option. Renders a small caption above the status line in readonly mode, using the same stat text style as smart buttons. Odoo core sets it to Dashboard on the project top bar. Removed in the Odoo 20 development branch.(since Odoo 17.0) |
hideStatusName (attribute) | boolean | XML attribute with camelCase spelling, parsed through Boolean(). When true, the readonly template swaps the status name for the record's update_count followed by the word Status, so update_count must be loaded in the view. Removed in the Odoo 20 development branch.(default: false)(since Odoo 17.0) |
Both knobs are attributes, so write them directly on the field tag (status_label="Dashboard"), not inside options="{...}". Note the inconsistent casing in the source: status_label is snake_case but hideStatusName is camelCase, and the camelCase spelling is the only one that works.
Working examples
What the two attributes actually render
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Both attributes are replaced by hide_icon, hide_value and initial_padding in the development branch; see below. |
| Odoo 19.0 | Verified | Verified against the shipped source and tested on a clean database. |
| Odoo 18.0 | Verified | Byte identical to 19.0 apart from a module pragma. |
| Odoo 17.0 | Verified | Both attributes present, verified in the 17.0 source. |
| Odoo 16.0 | Partial / changed | Widget and color bubble exist, but status_label and hideStatusName are not read yet. |
Both attributes exist since Odoo 17. On Odoo 16 the widget renders the bubble but ignores status_label and hideStatusName; drop them from 16 XML.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| The bubble has no color on a custom selection field | The color map only knows the five project health keys (on_track, at_risk, off_track, on_hold, done). Name your selection keys after the standard health values or accept an uncolored bubble. |
| hideStatusName shows Status with no number | The template reads record.data['update_count'] and the field is not loaded in the view. Add <field name="update_count" invisible="1"/> next to the status field. |
| hide_status_name or hidestatusname does nothing | The attribute is camelCase in the source and only hideStatusName is read. Write hideStatusName="True" exactly. |
| A project with no updates shows On Track anyway | The widget falls back to the first selection value when the field is empty. Hide the field until a status exists, e.g. invisible="last_update_status == 'to_define'" as Odoo core does. |
Status with Color widget vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
status_with_color | Project health status with the standard green to red bubble scale | Fixed five color map tied to project update status keys, configured via attributes |
| state_selection | Generic three state kanban flags on any model | Clickable dropdown bullet, colors bound to blocked and done keys |
| selection_badge | Picking one value from a short list as badges | Editable side by side badges, no color semantics baked in |
| selection | Plain dropdowns without status semantics | No bubble, no color, standard select control |
Frequently asked questions
What is the status_with_color widget in Odoo?+
Can I change the colors of status_with_color?+
Why are status_label and hideStatusName not inside options?+
Can I use status_with_color on my own model?+
Does anything change in Odoo 20?+
Project dashboards that show trouble before it costs you
We build project cockpits on Odoo: health bubbles, update cadences and KPI views your PMO actually opens. If your custom status fields render gray bubbles or your dashboards lag reality, we will fix both.
Talk to a project Odoo expert