Thursday, May 29, 2025
17 changes · master
Enhancements to existing features
This update refreshes sample HR data used in salary configuration, referrals, and country-specific payroll demos. It makes demo environments more consistent by reusing standard HR job roles instead of creating duplicate local payroll jobs.
Original PR description
- Added demo data in hr_contract_salary - Added more utm_source data in hr_referral - Archived Experienced Developer US job position in l10n_us_hr_payroll - Some additional demo data added in hr_contract_salary and removed job Technical Lead US and Experienced Developer US in l10n_us_payroll task-4677938
The WhatsApp module's security test was updated to stay aligned with a related change in how message authors are handled. This helps keep automated checks reliable and reduces the risk of false test failures during future updates.
Original PR description
PR community: https://github.com/odoo/odoo/pull/211868 Task-4675767
Grid view column headers now use locale-aware date formatting, so dates appear in the correct word order and punctuation for each language. This improves readability for international users, such as French users seeing “19 mai” instead of the English-style “mai 19”.
Original PR description
The headers of the columns in the Grid view use a fixed format, which is too restrictive for languages where the order of words changes, or where additional literals like commas may or may not be present. With this commit, we use the Intl API to ensure that we produce a valid result in all languages. For instance, French becomes: > lun. 19 mai instead of: > lun., mai 19 Task-4801503
Resolved issues and error corrections
Template names were updated to use the correct module prefixes after the HTML builder integration. This reduces the risk of naming conflicts and helps appointment, knowledge, and studio website features behave consistently.
Original PR description
*: website_appintment, website_knowledge, website_studio This commit corrects improperly prefixed template names introduced during the integration of the new HTML builder. This ensures consistency and avoids conflicts or ambiguity when referencing templates across website modules. Community PR : - https://github.com/odoo/odoo/pull/211723
Features or functions removed from Odoo
The time off planning view was cleaned up by removing a manager field that is no longer used. This reduces unnecessary configuration in the HR holidays Gantt view without changing the employee-facing time off process.
Original PR description
The `manager_id` field is no longer used in the `hr_leave` model and is therefore removed from the hr_holidays_gantt_view.
Miscellaneous changes
The system failed to retrieve `worked_days.payslip_id.date_to` because user remove end period Steps to Reproduce: 1. Switch to `My Mexican Company`. 2. Go to Payroll > click Payslips > To Pay > Click New 3. Select Employee from the selection 4. Remove end date from period (Right One). Error: `TypeError: unsupported operand type(s) for -: 'bool' and 'datetime.date'` Solution: Ensure that if worked_days.payslip_id.date_to, start_date, end_date are not present then continue the flo
Original PR description
The system failed to retrieve `worked_days.payslip_id.date_to` because user remove end period Steps to Reproduce: 1. Switch to `My Mexican Company`. 2. Go to Payroll > click Payslips > To Pay > Click New 3. Select Employee from the selection 4. Remove end date from period (Right One). Error: `TypeError: unsupported operand type(s) for -: 'bool' and 'datetime.date'` Solution: Ensure that if worked_days.payslip_id.date_to, start_date, end_date are not present then continue the flow Sentry - 6473512002 Forward-Port-Of: odoo/enterprise#82675
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration. Steps to reproduce: --- - Install `Invoicing` application (without demo data). - Invoicing > Configuration > Product Categories > Delete `Services` - Now install `pos_settle_due` module Traceback: --- ``` ValueError: External ID not found in the system: product.product_category_services ParseError: while parsing /home/odoo/src/ent
Original PR description
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration. Steps to reproduce: --- - Install `Invoicing`…
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration.
Steps to reproduce:
---
- Install `Invoicing` application (without demo data).
- Invoicing > Configuration > Product Categories > Delete `Services`
- Now install `pos_settle_due` module
Traceback:
---
```
ValueError: External ID not found in the system: product.product_category_services
ParseError: while parsing /home/odoo/src/enterprise/saas-18.3/pos_settle_due/data/pos_settle_due_data.xml:22, somewhere inside <record id="product_product_settle_invoice" model="product.product">
<field name="name">Settle Invoice</field>
<field name="categ_id" ref="product.product_category_services"/>
<field name="type">service</field>
<field name="weight">0.00</field>
<field name="available_in_pos">False</field>
<field name="taxes_id" eval="[]"/>
</record>
```
The error occurs because the user deleted `Services` in Product Categories, and then tried to install the other module.
This commit resolves the error by providing a False value for the field if the product category is missing.
sentry-6377659355
Forward-Port-Of: odoo/enterprise#85970When Invoicing Policy is set to Validated timesheets only, opening tasks in the portal view results in a traceback. Steps to reproduce the error: - Install ``sale_timesheet_enterprise`` - Go to Timesheets > Configuration > Settings > Invoicing Policy: ``Validated timesheets only`` - Switch to Portal View > Open Tasks Traceback: ``` ValueError: Aggregate method is mandatory for 'unit_amount' ``` https://github.com/odoo/enterprise/blob/3cfd66bfaf6a1fd58200b46b0c56330b8d96dcdd/sale_
Original PR description
When Invoicing Policy is set to Validated timesheets only, opening tasks in the portal view results in a traceback. Steps to reproduce the error: - Install ``sale_timesheet_enterprise`` - Go to Timesheets > Configuration > Settings > Invoicing Policy: ``Validated timesheets only`` - Switch to Portal View > Open Tasks Traceback: ``` ValueError: Aggregate method is mandatory for 'unit_amount' ``` https://github.com/odoo/enterprise/blob/3cfd66bfaf6a1fd58200b46b0c56330b8d96dcdd/sale_timesheet_enterprise/models/project_task.py#L130 Here, Aggregate method is missing for the ``unit_amount`` field. So, It will lead to the above traceback. sentry-6626038923 Forward-Port-Of: odoo/enterprise#86388
Before this PR: When generating the Libro Giornale Journal Audit report as PDF, journal items with long descriptions would cause rendering issues. The Name column would expand excessively to accommodate the long text, resulting in the Debit and Credit columns being cropped or completely missing from the printed report as seen in below image.  After this PR: The Libro Giornale Journal Audit report no
Original PR description
Before this PR: When generating the Libro Giornale Journal Audit report as PDF, journal items with long descriptions would cause rendering issues. The Name column would expand excessively to accommodate the long text, resulting in the Debit and Credit columns being cropped or completely missing from the printed report as seen in below image.  After this PR: The Libro Giornale Journal Audit report now correctly handles journal items with long descriptions. The report template has been modified to ensure proper column width distribution, preventing the Name column from expanding excessively. The Debit and Credit columns are now consistently displayed in the PDF report regardless of description length.  OPW-4788257 Forward-Port-Of: odoo/enterprise#86586 Forward-Port-Of: odoo/enterprise#86049
Bug === If a user creates a shortcut to a document he can read, (but he has no edit access on the target), he should have edit access on the shortcut. Task-4582290 Forward-Port-Of: odoo/enterprise#86461 Forward-Port-Of: odoo/enterprise#80018
Original PR description
Bug === If a user creates a shortcut to a document he can read, (but he has no edit access on the target), he should have edit access on the shortcut. Task-4582290 Forward-Port-Of: odoo/enterprise#86461 Forward-Port-Of: odoo/enterprise#80018
## Pull Request HOOT (PRHOOT) 31 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. Community: https://github.com/odoo/odoo/pull/205405 --- I confirm I have signed
Original PR description
## Pull Request HOOT (PRHOOT) 31 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. Community: https://github.com/odoo/odoo/pull/205405 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#85767 Forward-Port-Of: odoo/enterprise#83169
The aim of this commit is improving the way we can use the chatter with the bank reconciliation widget. It includes different improvements: - Chatter icon visible on hover (if chatter closed) - Attachments from reconciled moves, statements and original move are present in the chatter. - A small border is visible to let the user know which statement line is the selected one. - Chatter is opened with the attachment preview task-4808703 Forward-Port-Of: odoo/enterprise#85991
Original PR description
The aim of this commit is improving the way we can use the chatter with the bank reconciliation widget. It includes different improvements: - Chatter icon visible on hover (if chatter closed) - Attachments from reconciled moves, statements and original move are present in the chatter. - A small border is visible to let the user know which statement line is the selected one. - Chatter is opened with the attachment preview task-4808703 Forward-Port-Of: odoo/enterprise#85991
In PR https://github.com/odoo/enterprise/pull/75974, it was forgotten that the return value for _run_vat_checks had changed. Forward-Port-Of: odoo/enterprise#86088
Original PR description
In PR https://github.com/odoo/enterprise/pull/75974, it was forgotten that the return value for _run_vat_checks had changed. Forward-Port-Of: odoo/enterprise#86088
This commit modifies the icons displayed in the softphone interface to provide clearer feedback on call status. Now, when the ongoing call is on hold, the user will see a pause icon in the top bar and the systray item. Forward-Port-Of: odoo/enterprise#85616
Original PR description
This commit modifies the icons displayed in the softphone interface to provide clearer feedback on call status. Now, when the ongoing call is on hold, the user will see a pause icon in the top bar and the systray item. Forward-Port-Of: odoo/enterprise#85616
The failed WhatsApp message icon turns green after 15 days or once the message is deleted. PROBLEM: WhatsApp messages are deleted after 15 days, leading to data loss and causing the default green icon to be displayed. SOLUTION: Introduced `getWhatsappStatusClass` to display appropriate icons based on the message state: - Green icon for `sent`, `delivered`, `read`, and `received` states. - Orange icon for the `outgoing` state. - Red icon for the `error` and `cancel` states. - Grey ico
Original PR description
The failed WhatsApp message icon turns green after 15 days or once the message is deleted. PROBLEM: WhatsApp messages are deleted after 15 days, leading to data loss and causing the default green icon to be displayed. SOLUTION: Introduced `getWhatsappStatusClass` to display appropriate icons based on the message state: - Green icon for `sent`, `delivered`, `read`, and `received` states. - Orange icon for the `outgoing` state. - Red icon for the `error` and `cancel` states. - Grey icon for the `undefined` state (i.e., deleted WhatsApp message). Also introduced was `getWhatsappStatusTitle`, which returns the correct title based on the message state. Task-4481123 Forward-Port-Of: odoo/enterprise#86458 Forward-Port-Of: odoo/enterprise#77739
For languages with longer terms than the English ones, the labels in the date filter would overflow because they had a fixed width. We now change it to use a minimal width and expand with the content. Also, the quarter label was not translatable in other languages that do not use the notation "Q1 2025". It's made translatable now. Lastly, some padding caused custom date inputs to be too narrow, meaning a horizontal scroll was necessary to see the whole value. This was fixed as well. [ta
Original PR description
For languages with longer terms than the English ones, the labels in the date filter would overflow because they had a fixed width. We now change it to use a minimal width and expand with the content. Also, the quarter label was not translatable in other languages that do not use the notation "Q1 2025". It's made translatable now. Lastly, some padding caused custom date inputs to be too narrow, meaning a horizontal scroll was necessary to see the whole value. This was fixed as well. [task-4770592](https://www.odoo.com/odoo/project.task/4770592) Forward-Port-Of: odoo/enterprise#86465 Forward-Port-Of: odoo/enterprise#84662
After a recent change in German EDI, the data exported in CSV from the EC Sales List can no longer be uploaded because the expected structure has changed Steps to reproduce (with a DE Company): - Make an invoice to an EU Partner - Open EC Sales List - Export CSV When uploading the file on the Elster portal it will be rejected with an explicit error message, saying that we're using an old CSV format now deprecated, and prompts the user to refer to the new specifications Original mes
Original PR description
After a recent change in German EDI, the data exported in CSV from the EC Sales List can no longer be uploaded because the expected structure has changed Steps to reproduce (with a DE Company): -…
After a recent change in German EDI, the data exported in CSV from the EC Sales List can no longer be uploaded because the expected structure has changed Steps to reproduce (with a DE Company): - Make an invoice to an EU Partner - Open EC Sales List - Export CSV When uploading the file on the Elster portal it will be rejected with an explicit error message, saying that we're using an old CSV format now deprecated, and prompts the user to refer to the new specifications Original message: Ihre CSV-Datei wurde für eine ältere Version der CSV-Schnittstelle erstellt. Bitte informieren Sie sich in der Versionstabelle der Importhilfe über die aktuellste Version der Schnittstelle sowie Änderungen. Sind die Versionsangaben korrekt, prüfen Sie bitte das Encoding Ihrer CSV-Datei. Das zulässige Encoding ist UTF-8. Sources: https://www.elster.de/eportal/helpGlobal?themaGlobal=zmdo_import_eop https://www.datev-community.de/t5/Betriebliches-Rechnungswesen/Import-CSV-Daten-nacvh-Elster-f%C3%BCr-ZM/td-p/480079 opw-4751667 opw-4674533 Forward-Port-Of: odoo/enterprise#85992