Widget category
Odoo View-level widgets
View-level widgets are mounted on whole views rather than single fields: ribbons, banners, dashboards, activity views and the structural components forms are assembled from.
They are declared differently from field widgets (widget tags or view attributes), and each page shows the exact XML that mounts them.
36 widgets documented235 uses in Odoo coreVersions 16.0 → 20.0 verified per widget
Every view-level widget, by use in Odoo core
| Widget | What it does | Field types | Uses in core |
|---|---|---|---|
| web_ribbon | The corner banner on Odoo forms, Archived, Paid, Cancelled, is one reusable view widget: web_ribbon. It takes three attributes, and one undocumented sizing rule. | — | 157 |
| documentation_link | Every Documentation arrow link in Odoo's Settings pages is one view widget: documentation_link. Its best trick is picking the right docs version for your server automatically. | — | 26 |
| iap_buy_more_credits | The Buy Credits links under Odoo's SMS, lead enrichment and snailmail settings are one reusable view widget: iap_buy_more_credits, driven entirely by two attributes. | — | 7 |
| account_file_uploader | The Upload action on the Accounting dashboard is a view widget: account_file_uploader. It files whatever you drop as attachments, then asks the journal to turn them into draft invoices or bills. | — | 3 |
| point_of_sale_test_epos | New in Odoo 19, the Test button next to your Epson ePOS settings is a view widget. point_of_sale_test_epos fires a real receipt at the printer and translates Epson's cryptic error codes into readable advice. | — | 3 |
| attach_document | The Attach Receipt button on Odoo expenses is a reusable view widget: attach_document. It saves the record before it ever opens the file picker, and it can hand the uploaded files to any model method you name. | — | 2 |
| colors_reset_button | The little refresh icon next to Odoo Livechat's color pickers is colors_reset_button: a one-click view widget that puts a set of fields back to the defaults you declare in the XML, and crashes if you forget to declare them. | — | 2 |
| hr_employee_chat | The speech-bubble icon beside an employee's name is hr_employee_chat: a one-icon view widget that drops you into a Discuss chat with that person, and that silently disappears when the employee has no user account. | — | 2 |
| internal_resume_lines | New in Odoo 19: internal_resume_lines writes the employee's internal career history for you, computed from version records, no manual resume entry required. It is the block titled with your company name above the editable resume. | — | 2 |
| notification_alert | The banner warning that push notifications are blocked is the notification_alert view widget: twelve lines of code, one browser API check, and exactly one state in which it renders anything at all. | — | 2 |
| qty_at_date_widget | The little chart icon on Odoo sale order lines is qty_at_date_widget: a stock-aware view widget that turns red when the line will not be fulfilled on time and opens the availability popover with a jump into the forecast report. | — | 2 |
| signature | The Sign button on Odoo delivery orders is the signature view widget: a button that opens the drawing dialog and writes the image straight into a binary field. Not to be confused with the field widget that shares its name. | — | 2 |
| week_days | The row of seven weekday checkboxes on Odoo's recurrence forms is the week_days view widget. It demands seven exact boolean fields on the model, and it reorders itself by the user's locale. | — | 2 |
| account_onboarding | The accounting onboarding checklist, drawn from a JSON payload already attached to the journal rather than from a separate query. | — | 1 |
| account_pick_currency_date | A date picker beside an invoice's exchange rate. Pick a date, and the rate for that date is fetched from the server and saved. | — | 1 |
| bill_upload_guide | The panel that offers three ways to get a bill into Odoo: upload a file, email it to an alias, or type one in. | — | 1 |
| button_new_contract | A button that asks for a start date, checks twice that the date is legitimate, then creates the contract and loads it. | — | 1 |
| calendar_week_days | The seven weekday toggles on a recurring event. The same widget the base framework provides, with a calendar template and a direct write on change. | — | 1 |
| customContentKanbanLikeWidget | The card grid for building a quotation PDF: pick headers, per-line documents and footers, and fill the form fields inside them. | — | 1 |
| generate_serials | The button that generates a run of lot or serial numbers for a move, and writes the resulting lines in one go. | — | 1 |
| hr_department_chart | The department's place in the org: parents above, children below, each clickable to open the employees inside it. | — | 1 |
| hr_leave_stats | Two lists on a time off request: what this employee has already taken this year, and who else in their department is away over the same dates. | — | 1 |
| import_lots | The button for the other source of numbers: paste the supplier's list rather than generating your own. | — | 1 |
| lna_checklist | A checklist of local network access prerequisites whose ticks live in browser storage, not in the database, and are written when you save. | — | 1 |
| mail_activity_list_reschedule_dropdown | A compact dropdown on an activity row offering today, tomorrow and next week, with the server deciding what those actually mean. | — | 1 |
| mail_activity_mixin_list_reschedule_dropdown | The same three-option dropdown, on a list of leads or tasks rather than activities. It moves your next activity on that record. | — | 1 |
| mo_view_list_dropdown | A per-row dropdown that acts on the whole selection when there is one, and quietly skips work orders it should not move. | — | 1 |
| pls_tooltip_button | The button that explains a lead's win probability: a progress wheel, the three factors helping it and the three hurting it. | — | 1 |
| pos_cashdro_admin_buttons | Two buttons on the CashDro settings: download the bus worker logs, and open the machine's own diagnostics page. | — | 1 |
| pos_glory_cash_admin_buttons | A live connection status for a Glory cash machine, plus three actions: reset it, download the logs, or open its admin page. | — | 1 |
| pos_payment_provider_cards | A card per payment terminal provider, showing whether its module is installed, with install and setup in the same place. | — | 1 |
| purchase_file_uploader | Upload a bill against one purchase order or a selection of them, with a check that they all belong to the same vendor. | — | 1 |
| subtask_counter | Two numbers on a task row, closed over total, that double as the control for expanding its sub-tasks. | — | 1 |
| subtask_kanban_list | The open sub-tasks on a task's kanban card, each with an editable state, plus an inline field for adding another. | — | 1 |
| survey_question_trigger | The icon beside a survey question that says whether its conditional display will actually work, computed live from the list rather than from saved data. | — | 1 |
| todo_chatter_panel | The chatter for a to-do, hidden by default on large screens and shown on small ones, toggled from elsewhere in the interface. | — | 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.
