Daily updates from Odoo
Tuesday, August 19, 2025
15 changes · master
Enhancements to existing features
Users enabling UrbanPiper in Point of Sale now see a clearer message when the related module is not yet installed. This helps them understand that configuration will become available after saving, reducing confusion during setup.
Original PR description
In this commit: --------------- - Improved user guidance when UrbanPiper module is not installed by showing a clearer message indicating that they will be able to configure the feature once they save. task: 4939021
Point of Sale IoT printing now uses the updated shared printer component and handles IoT report closing more reliably. This helps keep printing-related workflows aligned with platform changes and reduces the risk of incorrect behavior after reports are processed.
Original PR description
In this commit =============== - Updated BasePrinter import to use the new base_printer module. - Improved iotReportActionHandler to return a flag indicating whether to close the IoT handler or not. Task-4655597 Related community PR:https://github.com/odoo/odoo/pull/207886
This update lets teams use a Google Gemini access token from the local environment when testing AI features. It simplifies development and local server setup without changing the normal user experience.
Original PR description
Makes it easier to test gemini llms during development or when running the server locally.
The VoIP SMS interface now uses the more familiar phrase "text message" instead of "SMS". This makes labels and actions clearer for English-speaking users and reduces confusion in day-to-day communication workflows.
Original PR description
According to feedback, "SMS" is not a really common word in English. "Text message" is more frequent. Part of task-4938144
The VoIP CRM lead button now shows a label that better matches the user's situation. It indicates whether the user can create a new lead or view existing leads, reducing confusion during call handling.
Original PR description
Previously, the lead button always displayed 'Lead' as its title, regardless of context. With this change, the button title now adapts based on opportunity count — showing 'Create Lead' or 'View Leads' appropriately. Task-4938144
Forum-related pages now point users to the current profile page address instead of an old forum-specific address. This helps prevent broken links and keeps navigation consistent after the route change.
Original PR description
Update /forum/user/<int:user_id> to /profile/user/<int:user_id> as we have removed that route (see odoo/odoo#217984). Task-4921396
Resolved issues and error corrections
A payroll-related test was moved to the correct accounting test area so payroll can be tested independently. This helps prevent test failures when only the Belgian payroll app is checked, improving release reliability without changing user features.
Original PR description
Previously a test created on l10n_be_hr_payroll depended on account module, which broke single app tests. This commit moves the test from l10n_be_hr_payroll to test_l10n_be_hr_payroll_account [Old PR](https://github.com/odoo/enterprise/pull/89149) Task: 4942293 Forward-Port-Of: odoo/enterprise#90144
Payroll users can now filter employees by name when creating a new pay run. This fixes a broken search filter, making it easier to find the right employees and reducing manual effort during payroll preparation.
Original PR description
Originally, when creating a new payrun, if you filter by employee name, the filter doesn't work. The filter logic has been adjusted to search for the correct field. Forward-Port-Of: odoo/enterprise#89877
Swiss payroll-specific employee fields are now only shown for Swiss companies. This avoids confusion in multi-company setups where users work with companies from other countries.
Original PR description
When using odoo in multi company with Swiss installed, we can see the fields from any other company. They should be hidden if the country is not Swiss. Task: 4788657 Forward-Port-Of: odoo/enterprise#89893
The Belgian payroll salary configurator now calculates the laptop benefit in kind consistently with other benefits such as internet and mobile phone. This helps ensure employee salary offers and payroll-related values show the correct laptop benefit amount.
Original PR description
The benefit in kind laptop salary rule was not adapted for the salary configurator. This commit fixes the issue by always returning the correct laptop value if the salary rule is used in a salary configurator, like it is already the case for the internet and mobile benefits. task-4971722 Forward-Port-Of: odoo/enterprise#92520 Forward-Port-Of: odoo/enterprise#91201
Adding a column to a customized report table now uses a layout element that does not add unwanted spacing. This prevents table alignment issues and helps edited reports keep a cleaner, more consistent appearance.
Original PR description
Before this commit when adding a column into a modified qweb table (q-table node) we inserte a `p` as the cell's first child. This was problematic as a margin was always present, messing with the whole table alignment. After this commit, we put a simple DIV. task-5005441 Forward-Port-Of: odoo/enterprise#92085
Odoo now avoids showing an incorrect activity note that a payment was removed from a batch when it actually remains there. This keeps payment batch records clearer and helps users trust the history shown during batch validation.
Original PR description
When validating a batch that includes payments in process (e.g., without journal entries), Odoo incorrectly logs that the payment was removed from the batch, even though it remains. This commit fixes the chatter message by not possessing the write method of the account_payment if batch_payment_id not in vals. task-5011672 Forward-Port-Of: odoo/enterprise#92197
The VoIP softphone now shows the correct place to configure the PBX server when setup is incomplete or incorrect. This helps users resolve connection issues faster by pointing them to the right settings area.
Original PR description
Previously, the error message shown to fix setting in general setting. After this commit, the error message shows the correct location of the PBX server. task-5022401
Fixes an issue where running the same WhatsApp marketing automation test more than once could cause an error. This helps users validate campaigns repeatedly without interruptions before launching them.
Original PR description
Currently an error occurs when trying to run whatsapp marketing automation test more than once. **Steps to replicate:** * Install `marketing_automation_whatsapp` * Setup whatsapp integration *…
Currently an error occurs when trying to run whatsapp marketing automation test more than once. **Steps to replicate:** * Install `marketing_automation_whatsapp` * Setup whatsapp integration * Marketing Automation > New > Start From Scratch > Add a new activity * Select Activity Type as Whatsapp Message and a Whatsapp Template * Launch a Test > Pick a contact > Launch > Run (Do this step twice) **Error:** `ValueError: Expected singleton: marketing.trace(6, 4, 3, 2, 1)` **Cause:** This error occurs because the variable `trace` contains multiple records, but the `process_event` method is being called on the entire recordset. Since `process_event` uses `self.ensure_one()`, it expects exactly one record, and therefore raises an error at [1] when multiple records are passed. **Solution:** * Handle trace records one by one using a loop. [1]: https://github.com/odoo/enterprise/blob/624b18bdb5dff0df4756c4e1d37a696631e57a05/marketing_automation_whatsapp/models/marketing_trace.py#L20 **Sentry-6772553612** Forward-Port-Of: odoo/enterprise#91207
WhatsApp template previews now avoid treating underscores inside URLs or similar text as italic formatting. This prevents portal links and access tokens from being displayed incorrectly, while still allowing intended italic formatting when underscores are separated by spaces.
Original PR description
Steps to reproduce: 1. Go to a WhatsApp template, for e.g. Sale Order. 2. Update the sample value for the Portal Link variable to include an underscore. 3. Click on Preview Issue: Due to the current…
Steps to reproduce: 1. Go to a WhatsApp template, for e.g. Sale Order. 2. Update the sample value for the Portal Link variable to include an underscore. 3. Click on Preview Issue: Due to the current regex, we will apply italic to any underscore we find which is not ideal, mostly when we work with URLs that can contain underscores like "acces_token" which we will try to apply italic to it too. Solution: Following the most common logic for italic formatting, we will only apply italic formatting when the underscore is surrounded by whitespace. This is the same way it already behaves in Whatsapp. If we write it like_this_for example, it will not apply italic formatting, but if we write it like this _this_ it will apply italic formatting. So this for example: **"If we write it like_this_for example"** Will be like - before the fix: **"If we write it like<i>this</i>for example"** Will be like - after the fix: **"If we write it like_this_for example"** opw-4720017 Forward-Port-Of: odoo/enterprise#91217