Tuesday, August 25, 2026
5 changes · master
Enhancements to existing features
This update lays the groundwork for Odoo's new visual design by refreshing shared interface elements such as dashboards, navigation controls, kanban cards, activity views, avatars, and status bars. It creates a more consistent experience across Community and prepares the base for the broader Enterprise redesign, while also including a few small visual and usability fixes discovered during the work.
Original PR description
Depends on: - https://github.com/odoo/enterprise/pull/127955 --- Lay the groundwork for the new design: additional SCSS system variables, generated o-color utility classes, and a reworked control…
Depends on: - https://github.com/odoo/enterprise/pull/127955 --- Lay the groundwork for the new design: additional SCSS system variables, generated o-color utility classes, and a reworked control panel (dropdowns, pager, breadcrumbs, search panel resize handle, border-bottom default). On top of that foundation, refresh the core views themselves; kanban, list, form (statusbar), calendar, graph (toolbar rework), pivot, activity and hierarchy. Rplace the ad hoc "no content" illustrations across modules with a shared pictogram set. Most of this exists to give the Enterprise redesign (see the paired enterprise PR) a consistent base to build on, but the views listed above get the same visual refresh in Community as well. Also includes a couple of unrelated fixes surfaced along the way: nested sortable drop-zone detection near rounded row corners, and a project_todo chatter-panel alignment regression from the border-bottom default change. task-6330603 --- _Proudly designed and delivered by **odoo/rd-design**_ <img width="100" height="132" alt="happy_buddy_sm" src="https://github.com/user-attachments/assets/de71a3cd-c7f3-4142-91d9-0ee88382e226" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo Enterprise receives the new Frost visual redesign across core business views, navigation, search, widgets, and dark mode. This creates a more consistent, modern interface for users across apps such as Accounting, Documents, Planning, Appointments, ESG, Knowledge, POS Appointment, and Sales Renting.
The website AI can now create richer pages by using business data and, when needed, adding interactive JavaScript. Safety checks and controls were added so generated scripts are reviewed, can be paused, and are easier to clean up before editing or saving.
Payroll input setup has been simplified by making salary rules the central place for defining and using payroll inputs. This reduces duplicated configuration, helps prevent mismatches, and makes payslip calculations and salary adjustments more consistent.
Original PR description
Payslip inputs used to be a system parallel to salary rules: hr.payslip.input.type records defined what could be entered on a payslip, payslip-side "payroll properties" stored the per-payslip values,…
Payslip inputs used to be a system parallel to salary rules: hr.payslip.input.type records defined what could be entered on a payslip, payslip-side "payroll properties" stored the per-payslip values, and rules read them back through dedicated helpers. The same business value was spread over three models, with duplicated codes, availability flags and defaults that easily got out of sync. hr.salary.rule becomes the single source of truth for inputs: - hr.payslip.input.type is removed. hr.payslip.input and hr.salary.attachment reference the rule directly via salary_rule_id, and an input line's code is its rule's code. - Payslip-side properties are removed. Per-payslip values live as hr.payslip.input lines; computations read them through the `inputs` localdict, keyed by rule code (same-code lines are summed). Employee-side values remain as version properties, synced into the structure definition from the rules flagged available on the employee, whatever their condition type. - Availability boils down to two flags on the rule: input_usage_employee (editable on the employee, stored on the version) and input_usage_payslip (usable as payslip input or salary adjustment). available_in_attachments, is_quantity and default_no_end_date are removed. - input_default_boolean becomes input_selected_by_default and only means: new payslips automatically get an input line for this rule, prefilled with its default value (the default is only shown when the flag is set). Boolean-typed properties are gone; version properties are plain floats. - A Salary Input rule (condition or amount based on the input) must be available on the employee or the payslip, otherwise it could never receive a value. - UI: input options move to a dedicated tab on the rule form; input lines prefill their description and value from the rule; salary adjustments only propose rules of the employee's structure type and warn when no structure of that type consumes the selected rule. Localizations are converted accordingly: self-consuming python rules are flagged input_usage_payslip, AU input types become salary rules, CH/HK/AE/TR property reads go through the inputs localdict, and RO/LT selection-based benefits become hr.version fields again since selections cannot be expressed as input lines. Note for BE: the December double-holiday regularization tests now assert a non-zero balance. The amount is injected as a real input line and actually computed, whereas the previous property-based injection was silently lost before computation.
Resolved issues and error corrections
This fixes an issue where Chilean invoice and document numbering could restart from the first number instead of continuing the correct sequence. The correction helps prevent duplicate or incorrect numbering for companies using the Chilean localization.
Original PR description
The recent changes in #282652 rewrote _get_last_sequence_domain to return a SQL object instead of tuple. This turned named params into positional ones. In `l10n_cl` the parameters' orders were kept the same calling so company_id and l10n_latam_document_type_id ended up swapped against the placeholders they filled. This leads to every Chilean numbering query matching nothing and always falling back to first number. task-none
Original PR description
Depends on: - https://github.com/odoo/odoo/pull/282516 --- Carry the redesign introduced in [community](https://github.com/odoo/odoo/pull/282516) into enterprise: restyle kanban, list, form, pivot,…
Depends on: - https://github.com/odoo/odoo/pull/282516 --- Carry the redesign introduced in [community](https://github.com/odoo/odoo/pull/282516) into enterprise: restyle kanban, list, form, pivot, gantt, grid, graph, calendar and map views, the control panel/search bar, the app switcher, and the ribbon/tags/badges widgets. <img width="1545" height="841" alt="image" src="https://github.com/user-attachments/assets/5d04fcf8-d0d8-4644-ab6f-61b1e2ab0b80" /> --- <img width="1546" height="840" alt="image" src="https://github.com/user-attachments/assets/5490fa3d-4fbd-4bc4-8d1a-e517d32a6760" /> --- <img width="1418" height="816" alt="image" src="https://github.com/user-attachments/assets/87a0f1f2-2ee4-40d3-9052-567c30345586" /> --- Update the dark-mode palette to a consistent gray scale under the new tokens, and roll out the shared pictogram set to Enterprise's empty-state views. <img width="1544" height="842" alt="image" src="https://github.com/user-attachments/assets/04959a15-6090-4e4e-9151-fb3184d7a3fc" /> <img width="1315" height="810" alt="image" src="https://github.com/user-attachments/assets/ee9ca818-236e-440d-9b82-58247303f0ba" /> Also relocates the gantt side panel's toggle into the controls bar, mirroring the same change made to community's calendar view. Carries a handful of smaller adaptations (documents, timesheet_grid, sale_renting dashboard, voip icon). [task-6330603](https://www.odoo.com/web#id=6330603&cids=1&menu_id=4720&action=333&active_id=1695&model=project.task&view_type=form) --- _Proudly designed and delivered by **odoo/rd-design**_ <img width="100" height="132" alt="happy_buddy_sm" src="https://github.com/user-attachments/assets/de71a3cd-c7f3-4142-91d9-0ee88382e226" />