Thursday, August 21, 2025
12 changes · master
Enhancements to existing features
Accounting reconciliation models can now share the same name when they are created automatically for the same account. This avoids blocking repeated automatic setup flows where multiple statement line patterns point to the same account.
Original PR description
Removing the uniqueness constraint on the name of a reco model. Indeed, when doing a set account on multiple statement line, we check if there is a common substring and create a reco model if there is one. But the reco model created has the name of the account. Which means that we couldn't have two automatically generated reco model for the same account. task-4876374 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The email marketing editor now includes a small structural hook that makes it easier to adapt the mailing form in custom views. The website editor's snippet search also uses a clearer image-related label, helping users find relevant content blocks more reliably.
Original PR description
This PR changes the name of the 'image wall' placeholder in the snippet menu's search bar to 'image' since it returns no results. It also adds a hook class to the alert box over the mailing form view to allow modifying it in inherited view. Task-3901336
This update adds automated tests for key Point of Sale loyalty features, including gift cards, loyalty cards, rewards, orders, and related screens. These tests help ensure future changes do not accidentally break loyalty workflows used at checkout.
Original PR description
In this commit: ======================= - Added HOOT tests for the `pos_loyalty` module. - Included tests for main models like `loyalty.card` and patched models: `pos.order` and `pos.order.line`. - Added tests for popups and screens related to loyalty features. task - 4945628 Forward-Port-Of: odoo/odoo#221182
This change reduces unnecessary size checks when page builder rows refresh, making the editor more efficient. Business users may notice smoother interactions when working with builder options, with no change to visible functionality.
Original PR description
The goal of this commit is to speed up the rerendering of the BuilderRow component. In BuilderRow, we need to calculate whether a row's label is too long or not. If so, we display a tooltip. To do this, we use the clientWidth function to determine the size required for the label. This function is considered computationally expensive. We will therefore avoid calling it at each onPatch, since the length of the label and the right-hand side do not change in size. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#223218
Website menu data is now retrieved and cached more efficiently for each website. This should help pages load menus more reliably and avoid unnecessary processing, with no expected change to how users manage or view menus.
Original PR description
`_get_menu_ids` is always browsed and attributes are read, we can just do a `search_fetch` with the needed fields. Also fix the invalidated cache which does not match. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The settings interface now uses the clearer label "Phone" instead of "VoIP". This makes the feature easier for users to recognize and understand without needing technical terminology.
Original PR description
Task-4987530
This update modernizes internal automated tests for Helpdesk and Helpdesk Timesheets by moving them to a newer testing framework. It helps maintain product quality and makes future development safer without changing day-to-day user workflows.
Original PR description
Purpose of this commit is to convert the qunit testcases that depends on 'mail/../tests/helpers/test_utils' to hoot Part of: 3818666
This update aligns Enterprise modules with a core platform change that allows records to be grouped using ordered field sequences. It improves consistency across accounting, follow-up, and appointment features and supports more flexible reporting and list organization.
Original PR description
https://github.com/odoo/odoo/pull/209544
Work entry labels in the Gantt view now use available space more reliably across browsers and window sizes. Long names are shortened cleanly with an ellipsis, making schedules easier to read without layout issues.
Original PR description
Problem ---------- Depending on the browser or size of the window, the display name of the pill has a too short max-width. Solution ---------- Remove the `o_gantt_pill_title` used only to set the max-width of the display name If the display name is too long, it will be like "TooLoo..." in the pill task-4892209
Romanian SAF-T exports now use the Romania-specific unit of measure code when available, instead of the generic international code. This helps reports better match Romanian tax authority expectations and reduces the risk of unit code mismatches in submissions.
Original PR description
Adjusts the SAF-T export logic to prefer new ro_saft_code field over the default UNECE code in Romanian reports to the unit codes. 4976455
Tax return reports now keep the correct reporting frequency when opened from a specific return. This helps avoid ambiguity when multiple return types use the same report, making reporting more reliable for accounting teams.
Original PR description
Before when we would have two return type pointing to the same report, the report options would not generate the 'return_periodicity'. Now we added a way to pass manually the 'return_periodicity' option from the previous options. This is useful for instance when we open the report from the return as we know which return we target.
EC Sales Lists now use the appropriate review-and-submit status instead of a generic tax report status. This helps align the reporting workflow with the correct business process and reduces confusion during report handling.
Original PR description
Previously, ec sales list would use the default generic_state_tax_report state, but generic_state_review_submit is the right one to use. Formatting the account_intrastat _get_state_field to be identical to the one for ec sales list as using a set is better than or.