Daily updates from Odoo
Thursday, November 6, 2025
16 changes · master
Enhancements to existing features
This change updates part of Web Studio’s field property editor, specifically the area used to configure type-specific and computed field settings. Because the pull request is still marked as work in progress and has limited detail, the business impact appears minor and focused on improving the Studio editing experience.
Financial reporting queries were updated so currency conversion data can be added more consistently across reports. This is mainly an internal improvement that makes report generation logic cleaner and easier to maintain, with no expected change to day-to-day user workflows.
Original PR description
This is a syntaxic change. The first change is to allow the currency table to be joined on a `Query` object. This was not possible because `_currency_table_aml_join` returned raw sql. This is a…
This is a syntaxic change.
The first change is to allow the currency table to be joined on a
`Query` object. This was not possible because
`_currency_table_aml_join` returned raw sql.
This is a syntax improvement, as it then allows to fully exploit
the `Query` class methods, notably `select`, which generates the SQL
directly from the object. Without having to write
`SQL("SELECT %s FROM %s WHERE %s GROUP BY %s", ...)`.
In order to do this change, `_get_monocurrency_currency_table_sql` had
to be modified, as the sql returned by this method could not be
understood by the `Query` object. Not possible to join a table that is
created on the fly. That is because it expects an alias to be an
identifier, and not something of the form
`account_currency_table(company_id, ...)`.
Because of this change, it is possible to do a second syntax
improvement, which is to directly join the currency table on the `Query`
object created in `_get_report_query`. This is done by setting the new
kwarg `join_currency_table` to `True`.
Community PR: https://github.com/odoo/odoo/pull/227398The payroll interface now uses the clearer label "Validate" instead of "Create Draft Entry" on related payslip and pay run actions. This makes the next step in payroll processing easier for users to understand, including in the Mexico payroll accounting flow.
Original PR description
Task-ID: 5226530
Resolved issues and error corrections
This update adjusts automated tests in Knowledge and Studio to match the current editor behavior around table endings and selection placeholders. It helps keep quality checks accurate without changing how business users work in the product.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/225576 task-4129699 Forward-Port-Of: odoo/enterprise#96484
A manufacturing planning test now uses a consistent timezone so demo data does not cause duplicate purchase order lines during replenishment. This reduces false test failures and helps keep quality checks reliable across environments.
Original PR description
The `test_replenish` test was failing with demo data because replenishment created an extra Purchase Order line. The `_run_buy` search domain included `date_planned_mps` with an equality check on a datetime stored in `UTC`. With demo data loaded in a non-UTC timezone (e.g. Europe/Brussels), the forecast date was converted to `2025-07-31 22:00:00 UTC`, which did not match the existing PO at `2025-08-01 00:00:00 UTC`. As a result, no PO was found and a duplicate was created. Changes: Set the test user timezone to `UTC` so that `date_planned_mps` comparisons are stable when using demo data. This ensures replenishment reuses the existing PO instead of creating a duplicate. [runbot-230425](https://runbot.odoo.com/odoo/error/230425) Forward-Port-Of: odoo/enterprise#98268
Payslip exports now use the fields selected by the user instead of falling back to incorrect defaults. This ensures payroll teams get the expected information in exported files, reducing manual corrections and confusion.
Original PR description
Since the introduction of payslip issues, the optional active fields were not correctly given back to the controller. This resulted in having the wrong default fields inside the export (not the ones selected). This commit fixes the issue by avoid using a proxy. task-5129681 Forward-Port-Of: odoo/enterprise#96707
This fix makes the formula text in accounting report info popovers readable when dark mode is enabled. It improves usability for users reviewing report details in debug mode without changing report data or workflows.
Original PR description
When using the dark mode, the popover available only in debug mode on the account reports (when pressing the info button on the right of each line) used to display the formula with a dark color, making it hard to read. Forward-Port-Of: odoo/enterprise#98905
The tax report settings now refer to this timing field as a deadline instead of a reminder. This makes the label match its actual purpose: calculating the default deadline from the end of a tax return period.
Original PR description
This field is not a reminder anymore and is used to compute the default deadline from the end of the tax return. task-5153900 Forward-Port-Of: odoo/enterprise#96651
This fix corrects uneven vertical spacing on the return type form by using the appropriate inline text element. Users will see a more consistent and polished layout when viewing or editing return types.
Original PR description
The return type form view had an inconsistent vertical spacing due to the use of a paragraph instead of a span. task-5153900 Forward-Port-Of: odoo/enterprise#96711
When customers book a table from the website, the phone number field is now filled from the customer record linked to the appointment. This helps staff see the correct contact number while keeping the booking’s phone field as a separate copied value.
Original PR description
Task: [#5005216](https://www.odoo.com/odoo/project/1737/tasks/5005216) --- The phone number field was not being populated correctly when booking a table from the website. It is now properly filled using the phone number of the `res.partner` associated with the appointment. The field remains unlinked to the partner, as it is just a copy. Forward-Port-Of: odoo/enterprise#98041 Forward-Port-Of: odoo/enterprise#92836
Rental-related automated tests were adjusted so they no longer depend on optional demo accounting or stock setup. This helps ensure the rental sales module can be validated consistently across clean test environments, reducing false failures in the release process.
Original PR description
The test was failing in no-demo environments because it relied on accounting and stock configurations that were not present. When the test attempted to set property_valuation = 'real_time' on the product category, it triggered a ValidationError because the related stock accounts had not been properly set up for the test's transaction context. runbot-error-230417 Forward-Port-Of: odoo/enterprise#98798 Forward-Port-Of: odoo/enterprise#92292
Live chat conversations now show the correct channel name when a new member joins, even when some current participant details are unavailable. This helps support teams and visitors keep the right context in the helpdesk live chat sidebar.
Original PR description
…mber join This change introduces the `im_livechat.channel.member.history` model on the client side to properly display the Livechat channel name. In the case of lacking data for current agents or visitors, we use the history records to display the channel name. task-4966319
This fix places a manufacturing work order quality view in the correct module and updates its dependency setup. It helps ensure the related quality features load reliably when manufacturing work orders are installed.
Original PR description
view `quality_point_routing_view_form_inherit_quality_mrp` was supposed to be in the module `quality_mrp_workorder` as it has `quality` and `mrp_workorder` as dependency. And also `quality_mrp_workorder` was supposed to depend on `quality_mrp` not `quality_control`. Forward-Port-Of: odoo/enterprise#97147
This fix ensures Web Studio saves changes only once when a browser tab is hidden or switched away from. It reduces unnecessary background save activity and helps keep editor behavior consistent without changing how users work.
Original PR description
This commit is the counter part of odoo/odoo#232523. A form editor test had to be adapted as we no longer go through _save in the tested scenario. task~5184626
The appraisal feedback wizard now only considers appraisal survey templates the current user is allowed to access. This prevents users from hitting an access error when asking for feedback if another restricted survey exists in the system.
Original PR description
To reproduce (on runbot): - As 'admin' user: * Create a survey of type 'Appraisals' and name it 'Test No Access' * Set `Restricted to' to 'admin' user only. - As 'demo' user: * Create an appraisal for another employee * Click on "Confirm" button * Click on "Ask Feedback" button * Try to choose an Employee. An exception is raised saying we don't have 'read' access to the survey 'Test No Access'. This commit force computing `survey_template_id` as non-superuser only get survey that the user has access to. Forward-Port-Of: odoo/enterprise#98348
This change prevents certain payment-related tests from running when the required accounting component is not installed. It helps avoid false test failures and keeps validation results reliable without changing customer-facing functionality.
Original PR description
We have tests for payment wihtout journal entries. But these payments can only be generated if accountant in installed. It makes these tests fail if the module is not installed. To avoid making a bridge module only to test these, we add a class that will be skipped if the module is not installed. runbot-232728 Forward-Port-Of: odoo/enterprise#97764