Skip to main content
iVentureTeam

boolean_favorite

The clickable star on products, journals and applicants. The boolean_favorite widget looks like a toggle and behaves like a save button, which is exactly what teams need to know before adopting it.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
August 12, 2026Updated August 12, 20266 min read
Odoo 19 list view showing the boolean_favorite widget as filled and outlined star icons in a column, marking which records are flagged as favorites.
Technical nameboolean_favorite
Field typesboolean
Viewsform, list, kanban
Moduleweb, present in every Odoo database
Used in core14 occurrences across 6 modules, including product, hr_recruitment, account, stock, repair, mrp
VersionsOdoo 20.0, Odoo 19.0, Odoo 18.0
No-code setupNo. Studio's Checkbox widgets are Button and Toggle; the star requires widget="boolean_favorite" in XML.
Alternativesboolean_toggle, boolean, priority

What the Favorite star does

The widget draws a star for a boolean field: FontAwesome's filled star when the value is true, the outline when false, with an accessible label reading Add to Favorites or Remove from Favorites. Clicking flips the value. That is the entire visible surface, and core applies it wherever "mark this one as mine" is the gesture: favorite products, favorite journals on the accounting dashboard, shortlisted applicants in recruitment.

The invisible surface is the part worth reading this page for: by default the click does not just flip the value, it saves the whole record on the spot. In a list or kanban that is always what you want. In an open form with half-finished edits, it may not be.

What this means for your team

Favorites are a personal productivity feature bolted onto shared data, and that tension decides where the star belongs. A star on products backing "my frequently used items" speeds up daily picking. A star that a whole team shares as an ad hoc status marker becomes ambiguous within a month, because nobody agrees what starred means, and it quietly competes with the real status field.

Our rule: use the star for personal or team shortcuts with no workflow meaning, and never let it substitute for a proper stage or state. When leadership starts asking for reports grouped by the star, that is the signal the data model wants a real field, and the star can go back to being a shortcut. The one-click instant save is also a data point here: it makes starring frictionless, which is the goal, but it also means the gesture writes to the database immediately, so it belongs on fields where an accidental click is harmless.

Supported options in Odoo 19

Verified against boolean_favorite_field.js in the Odoo 19.0 web module. One option, and it is the one that changes the widget's relationship with the Save button.

OptionTypeWhat it does
autosavebooleanWhen true, the default, clicking the star saves the entire record immediately, pending edits and validations included. Set false to make the toggle an ordinary edit that waits for the Save button. Removed on the Odoo 20 development branch.(default: true)

The autosave default is true, and it saves the record, not the field. A click calls the record update with save enabled, committing every pending edit on the form along with the star. On a form where users star mid-edit, that can save half-finished work. Set options="{'autosave': False}" to make the star a normal dirty-field edit that waits for the Save button.

Working examples

Standard favorite star

<field name="is_favorite" widget="boolean_favorite"/>

Star that waits for Save

<field name="is_favorite"
       widget="boolean_favorite"
       options="{'autosave': False}"/>

Compact star column in a list

<list>
  <field name="is_favorite" widget="boolean_favorite" nolabel="1"/>
  <field name="name"/>
</list>

With nolabel, the widget requests a fixed 20 pixel column, giving the classic slim star column at the left edge of a list.

The model side

is_favorite = fields.Boolean(string="Favorite")

For per-user favorites, core models typically compute the boolean from a many2many of users behind the scenes; the widget itself neither knows nor cares, it just toggles the boolean it is given.

Readonly, empties and what the click really saves

Three source-level details explain most field-team questions about this widget.

Readonly means silent. The click handler starts with a readonly check and simply returns. No error, no visual disabled state beyond the standard muted rendering, the star just does not respond. If users report "the star is broken," check the field's readonly modifier first.

The star never disappears. The descriptor hardcodes isEmpty to false, so unlike most fields, a false value does not render as an empty cell in lists. The outlined star is always there to invite the click, which is the entire interaction design of the widget.

The save is the record's save. With autosave on, the update goes through the standard record save, meaning required-field validation runs too. A record with a missing required field will refuse to save when the user just clicked a star, surfacing a validation error from a gesture the user perceives as trivial. That is the deep reason to consider autosave: False on data-entry-heavy forms.

Version compatibility

VersionStatusNotes
Odoo 20.0In developmentNot released. The development branch removes autosave and switches icon sets. Details below.
Odoo 19.0VerifiedVerified against the shipped source. Autosave defaults to true.
Odoo 18.0VerifiedByte identical source file to 19.0. Same option, same default.

Upgrade note for 18 to 19. Nothing to do: the 18.0 and 19.0 source files are byte for byte identical, options and defaults included. Views and muscle memory carry over unchanged.

What is changing in Odoo 20

Odoo 20 is expected at Odoo Experience in Brussels, 24 to 26 September 2026. These observations come from the public development branch, which can change until feature freeze, and this page is re-verified against the shipped release.

The autosave option is deleted. The development branch removes the option from the descriptor, the prop from the component and the save flag from the click handler. The star still toggles the value, but the write follows the standard edit flow of the surrounding view. Views passing autosave will not break, the option is simply ignored, but flows that relied on the instant save, such as starring from a form without ever pressing Save, will behave differently and deserve a retest.

The icon leaves FontAwesome. The filled and outlined star classes are replaced by the new icon set, with the filled state expressed through an oi-filled class, part of the icon migration visible across the branch.

If your team leans on star-driven flows, put them on the checklist for an Odoo 20 upgrade review.

Common problems and fixes

SymptomCause and fix
Clicking the star saved my half-finished form editsAutosave defaults to true and commits the whole record, not just the star. Set options autosave to False on that form's field.
A validation error pops up when starring a recordThe instant save runs full record validation, and a required field is empty. Complete the required fields, or disable autosave so starring waits for Save.
The star does not react to clicksThe field is readonly on this record, and the widget ignores clicks silently by design. Check the readonly modifier or field definition.
Stars show for everyone, not per userThe widget toggles a plain shared boolean; per-user behavior needs a computed field over a user relation. Model the favorite as a many2many of users with a computed boolean, as core does.
Empty cells expected in the list, but outlined stars render everywhereThe widget hardcodes isEmpty to false so the clickable star always shows. Expected behavior; hide the column conditionally if stars should not appear.
Starring on kanban cards stops instant-saving after a future upgradeThe Odoo 20 branch removes the autosave mechanism. Retest star flows during the upgrade and adjust training.

Favorite star vs the alternatives

WidgetBest forKey difference
boolean_favoriteOne-click personal or team flagsStar iconography with instant record save by default
boolean_toggleOn and off settings users flip in placeSwitch styling, same whole-record autosave behavior
booleanPlain data entry checkboxesStandard checkbox, no instant save, no iconography
priorityGraded importance instead of a yes or no flagMultiple stars backed by a selection field

The star is for flagging, not for state. The moment the business asks what the flag means in a process, reach for a real status widget instead, and keep the star for personal shortlists.

Frequently asked questions

What does the boolean_favorite widget do in Odoo?+
It renders a boolean field as a clickable star, filled for true and outlined for false, and by default saves the record immediately when clicked. Core uses it for favorite products, journals and shortlisted applicants.
Does clicking the favorite star save the record?+
Yes, by default. The autosave option defaults to true and commits the entire record, including any other unsaved edits on the form. Pass options="{'autosave': False}" to make the star wait for the Save button instead.
Can I add the favorite star from Odoo Studio?+
Not directly. Studio's widget list for Checkbox fields offers Button and Toggle, but not the star, so applying widget="boolean_favorite" takes a one-line view edit in XML on top of a boolean field, which Studio can create.
Why is the star not clickable on some records?+
The field is readonly there, through a modifier or the field definition, and the widget's click handler silently ignores readonly clicks rather than showing an error.
How do I make favorites personal to each user?+
Not with the widget alone, which toggles whatever boolean it is given. Model it like core does: store a many2many of users and expose a computed, inverse boolean per user, then render that computed field with boolean_favorite.
Is boolean_favorite different in Odoo 16, 17 or 18?+
The 18.0 file is byte identical to 19.0, so behavior matches across those two for certain. We verify earlier branches as this page series expands, and the widget's XML contract has been stable.
What happens to boolean_favorite in Odoo 20?+
The development branch deletes the autosave option and prop entirely, so the star toggles the value through the normal edit flow, and swaps the FontAwesome star icons for the new icon set. Final confirmation comes with the September 2026 release, and this page will be updated.

Little widgets, big workflow consequences

An instant-saving star sounds trivial until it commits half-entered invoices or becomes a shadow status field. We review how your teams actually use Odoo's small interactions, then tune views, defaults and training so the UI nudges people toward clean data instead of surprises.

Book a free consultation

How this page was produced

Verified by reading boolean_favorite_field.js in the Odoo 19.0 web module in full, including the descriptor's autosave default, the readonly guard and the isEmpty and list width declarations, then diffing the file against 18.0, which proved byte identical, and against the public development branch, where the autosave removal and icon change were read directly from the diff. Something off? Tell us and the page gets fixed.