Friday, November 14, 2025
13 changes · master
Enhancements to existing features
A small display adjustment adds the missing spacing before record counts in account reports when many records are shown. This keeps the view cleaner and more consistent for users reviewing return checks.
Original PR description
To keep the view consistent and clean, we're adding the missing CSS class to the span displaying the records_count when it's more than 20. No task ID.
Resolved issues and error corrections
Users can now clear the duration type in a Marketing Automation activity without triggering an error. This prevents campaign setup from being interrupted and keeps activity summaries stable when duration details are incomplete.
Original PR description
Currently, an error occurs when removing the interval type or validity duration type in a marketing automation activity. This happens when the system tries to compute the "Activity Summary", which…
Currently, an error occurs when removing the interval type or validity duration type in a marketing automation activity. This happens when the system tries to compute the "Activity Summary", which expects valid selection values but receives False. **Steps to Reproduce:** 1. Install Marketing Automation. 2. Create a new campaign and click on "**Add new activity**". 3. In the "Trigger" field, remove the duration (e.g., "Hours"). **Error:** `KeyError - False` **Cause:** At [1], it tries to get the label from the selection dictionary using the value of `interval_type` or `validity_duration_type`. When either field is `False`, it causes a KeyError. **Fix:** This commit prevents the error by; - Setting an empty summary when required selection values are missing. - Returning 0 for interval standardized when interval type is not set. [1] - https://github.com/odoo/enterprise/blob/bb92db89d3fc1f654dfdff9b2e334b13d81cb7ab/marketing_automation/models/marketing_activity.py#L228-L229 sentry-6957343166 Forward-Port-Of: odoo/enterprise#98367
Code cleanup and technical improvements
The social push notification feature was updated behind the scenes to use Odoo’s newer frontend framework. This helps reduce reliance on older technology, improving maintainability while keeping the user experience largely unchanged.
Original PR description
In order to remove publicWidgets and jQuery from the frontend, this commit continue the conversion of public widgets to interactions.
This fixes an issue that could prevent U.S. Direct Deposit settings from being saved or read correctly after an internal platform change. It helps ensure company payroll direct deposit configuration continues to work as expected.
Original PR description
set_param/get_param don't exist anymore.
Fleet-specific tax reporting checks were moved into the Enterprise fleet accounting module where the required vehicle data is available. This prevents Community build failures while preserving the intended fleet tax reporting behavior for Enterprise users.
Original PR description
Community build was failing with: ``` FAIL: TestAccountFleet.test_tax_report_with_vehicle_split_repartition Traceback (most recent call last): File '/data/build/odoo/addons/account_fleet/tests/test_account_fleet.py', line 99, in test_tax_report_with_vehicle_split_repartition self.assertEqual(len(tax_details), 2) AssertionError: 0 != 2 ``` The test and SQL join logic relied on `vehicle_id` propagation that only exists in the enterprise addon `account_accountant_fleet`. Since the community edition cannot populate `vehicle_id` on tax lines, the query always returned zero rows, causing the failure. To fix this, the fleet-specific tax report query and test have been moved to the enterprise module, where the vehicle-aware tax reporting functionality actually resides. This keeps community builds green while retaining the intended behavior in enterprise. runbot error:233462 Forward-Port-Of: odoo/enterprise#99380 Forward-Port-Of: odoo/enterprise#98650
The self-ordering kiosk no longer relies on an outdated IoT Box image version check that cannot handle the newer date-based version format. This prevents supported IoT Boxes from being incorrectly blocked and keeps kiosk setup working with current images.
Original PR description
New image versions are formatted as YYYY.MM.DD instead of YY.MM. The previous can be casted to float, but not the new one. We then only take the year and month to before casting. Forward-Port-Of: odoo/enterprise#99416
This fix makes the Sign document dropdown correctly detect when there are no documents to show. It prevents misleading or incorrect dropdown behavior for users working with signature requests.
Original PR description
An empty list is true in JS, so we check the length of the list Forward-Port-Of: odoo/enterprise#99405
This update fixes an access issue when the ISO 20022 accounting feature reads configuration settings. It helps ensure payment journal setup and related actions work reliably for users without requiring unnecessary administrator access.
Original PR description
Forward-Port-Of: odoo/enterprise#99359
This fix ensures the helpdesk livechat sidebar displays the correct channel name when a new member joins. It uses existing chat history when current participant details are incomplete, reducing confusion for support teams and visitors.
Original PR description
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 Related to odoo/odoo#227240
This update corrects how Chilean electronic invoicing data is saved so the system uses the expected internal format. It helps prevent errors when updating accounting documents, improving reliability without changing day-to-day user workflows.
Original PR description
Write values should be normalized to use ORM commands, `list` and `int` instead of recordsets.
The accounting setup wizard now opens without immediately trying to save incomplete information. This prevents users from seeing an unnecessary required-field error when starting the setup process.
Original PR description
When creating the setup wizard, if created beforehand and shown to the user it will try to save when the wizard is opened. Since the opening date has no value and is a required field, it will fail and display the field red. To fix this, we are creating the wizard by passing a default company_id which mean the wizard hasn't been created yet and so it's not trying to save when opening the wizard. odoo/odoo#231956 odoo/enterprise#95760
This fixes a timing issue in batch barcode scanning that could cause some scan processing to finish out of order or be skipped in certain cases. The change improves reliability for warehouse workflows and prevents intermittent failures when scanning lots in batch pickings.
Original PR description
Commit bc9247d46225c696842bc7b0e3c883320231ab1b has introduced an override of the `processBarcode` method. However, it does not return nor await the super call. In particular, in the case where the super call should be done the overrides returns "undefine" rather than a promess to await and hence that call is not awaited anymore. Note: This error has been noticed from the fact that the test `test_barcode_batch_scan_lots` sometimes fails on step 29/31. runbot-233631 Forward-Port-Of: odoo/enterprise#99303
This update modernizes how automated tests look for exact text in several Odoo Enterprise areas. It keeps test behavior the same while making the test code easier to read and maintain, reducing future maintenance effort.
Original PR description
This commit replaces all found occurrences where ':contains' (with an exact match regular expression) could be replaced by ':text'. Community: https://github.com/odoo/odoo/pull/234331 Forward-Port-Of: odoo/enterprise#99330 Forward-Port-Of: odoo/enterprise#98772