Thursday, June 26, 2025
100 changes
15 changes
Enhancements to existing features
This change updates image display styling to use standard Bootstrap options already available in the platform. It keeps visual behavior consistent while removing older custom styling that is no longer needed.
Original PR description
*: appointment, documents, knowledge, planning, sale_timesheet_enterprise, website_appointment_sale This commit replaces all occurrences of o_object_fit_contain and o_object_fit_cover CSS classes with their Bootstrap (v5.3) equivalent : object-fit-contain and object-fit-cover. It also removes said classes from the repo since they are no longer of use. Requires: - https://github.com/odoo/odoo/pull/215202 [task-4703046](https://www.odoo.com/web#id=4703046&cids=1&menu_id=4720&action=333&active_id=1695&model=project.task&view_type=form)
This change adjusts behavior related to deleting stages in Helpdesk. It likely improves how teams manage or clean up helpdesk workflows, with limited visible impact for everyday users.
The live chat helpdesk command message now uses clearer wording when prompting users to create a ticket. This small text improvement makes the action easier to understand and reduces ambiguity for customers or agents using live chat.
Original PR description
Updated command message title: - `Create a new helpdesk ticket by typing:` to `Create a helpdesk ticket with:` Community PR: [#odoo/odoo203644](https://github.com/odoo/odoo/pull/203644) task-4485642
Miscellaneous changes
This commit solves the following bugs in Norwegian saft as per customer feedback: 1. Removed the StandardAccountID 2. Added the CreditAmount tag value to the XML file if the both debit and credit values is 0 for an entry The latter point in needed because the SAF-T XML validator expects CreditAmount/DebitAmount tag even if the entry is empty. This case may happen if, for example, we have an exchange rate entry = $0.000001. Since the journal entry is approximating to only 2 decimal places,
Original PR description
This commit solves the following bugs in Norwegian saft as per customer feedback: 1. Removed the StandardAccountID 2. Added the CreditAmount tag value to the XML file if the both debit and credit values is 0 for an entry The latter point in needed because the SAF-T XML validator expects CreditAmount/DebitAmount tag even if the entry is empty. This case may happen if, for example, we have an exchange rate entry = $0.000001. Since the journal entry is approximating to only 2 decimal places, the amounts on the entry end up being 0s. task-4714764 Forward-Port-Of: odoo/enterprise#88580 Forward-Port-Of: odoo/enterprise#83963
10 changes
Resolved issues and error corrections
The Philippine BIR 2307 XLS export checks now reflect the required ZIP code field and use the correct tax description for the nature of payment. This helps ensure withholding tax reports match regulatory expectations and reduces the risk of incorrect export validation.
Original PR description
The BIR 2307 XLS export was missing the `ZIP_code` and incorrectly showing the `nature` of payment from the invoice line instead of the tax description. In this commit: --- - updates the tests to include the `zip_code` column and fetch the correct `nature` from the tax description. - adjust name fields to reflect `individual` vs `company` partner logic. task-4880921 community- odoo/odoo#214940
In this commit: https://github.com/odoo/enterprise/commit/74306d39479f9cfb24bb749a520c533df3f7e404 change the computation of the remaining amount of the reconcile wizard. Since selectedLineSum compute the sum of the line selected when adding 2 lines the remaining amount would be changed and kept in the state. Then adding a line again, the selectedLineSum would be the sum of the 3 lines and not just the new line that we just added. no task id Forward-Port-Of: odoo/enterprise#88067
Original PR description
In this commit: https://github.com/odoo/enterprise/commit/74306d39479f9cfb24bb749a520c533df3f7e404 change the computation of the remaining amount of the reconcile wizard. Since selectedLineSum compute the sum of the line selected when adding 2 lines the remaining amount would be changed and kept in the state. Then adding a line again, the selectedLineSum would be the sum of the 3 lines and not just the new line that we just added. no task id Forward-Port-Of: odoo/enterprise#88067
This commit will change the condition of display of the coda_split_transactions allowing users to choose whether transactions are imported individually or in batch. opw-4873108 Forward-Port-Of: odoo/enterprise#88370
Original PR description
This commit will change the condition of display of the coda_split_transactions allowing users to choose whether transactions are imported individually or in batch. opw-4873108 Forward-Port-Of: odoo/enterprise#88370
- We authorize to make payments for orders coming from Urban Piper. - After updating the order as paid, we send it to the pos_blackbox_be. task-id: 4781945 community PR: https://github.com/odoo/odoo/pull/214861 Forward-Port-Of: odoo/enterprise#87989
Original PR description
- We authorize to make payments for orders coming from Urban Piper. - After updating the order as paid, we send it to the pos_blackbox_be. task-id: 4781945 community PR: https://github.com/odoo/odoo/pull/214861 Forward-Port-Of: odoo/enterprise#87989
## Pull Request HOOT (PRHOOT) 33 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/213223 Forward-Port-Of: odoo/enterpris
Original PR description
## Pull Request HOOT (PRHOOT) 33 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/213223 Forward-Port-Of: odoo/enterprise#88430 Forward-Port-Of: odoo/enterprise#87476
This commit automatically enables the 'Units of Measure' setting when the user auto-fixes their settings to make their POS scale certified. While this is not a strict requirement, it helps the users to then quickly set the correct units for their products (e.g. kg) task-4885681 Forward-Port-Of: odoo/enterprise#88451 Forward-Port-Of: odoo/enterprise#88134
Original PR description
This commit automatically enables the 'Units of Measure' setting when the user auto-fixes their settings to make their POS scale certified. While this is not a strict requirement, it helps the users to then quickly set the correct units for their products (e.g. kg) task-4885681 Forward-Port-Of: odoo/enterprise#88451 Forward-Port-Of: odoo/enterprise#88134
When `next_invoice_date_at_resume` is falsy (None), the template tried to call `format_date(None)`, which resulted in a `'NoneType' object is not callable` error. This commit adds a safe check both in the controller and the template to ensure the value exists before formatting. Forward-Port-Of: odoo/enterprise#88342
Original PR description
When `next_invoice_date_at_resume` is falsy (None), the template tried to call `format_date(None)`, which resulted in a `'NoneType' object is not callable` error. This commit adds a safe check both in the controller and the template to ensure the value exists before formatting. Forward-Port-Of: odoo/enterprise#88342
This commit resolves a UI bug in chart trendlines by ensuring AxisType is properly passed from the web client to Odoo charts. Task: [4743602](https://www.odoo.com/odoo/2328/tasks/4743602) Forward-Port-Of: odoo/enterprise#88476 Forward-Port-Of: odoo/enterprise#87936
Original PR description
This commit resolves a UI bug in chart trendlines by ensuring AxisType is properly passed from the web client to Odoo charts. Task: [4743602](https://www.odoo.com/odoo/2328/tasks/4743602) Forward-Port-Of: odoo/enterprise#88476 Forward-Port-Of: odoo/enterprise#87936
when clicking the next button in the pager of the tour, it was causing issues with the report editor not being ready yet with the updated page. so added a delay after clicking n next button in the pager of the tour to avoid issues with the report editor not being ready with the updated page. build_error-163405 Forward-Port-Of: odoo/enterprise#87302
Original PR description
when clicking the next button in the pager of the tour, it was causing issues with the report editor not being ready yet with the updated page. so added a delay after clicking n next button in the pager of the tour to avoid issues with the report editor not being ready with the updated page. build_error-163405 Forward-Port-Of: odoo/enterprise#87302
**Error:** `ValueError: Wrong value for whatsapp.template.lang_code: 'es_CO'` **Before:** Some language codes that are officially supported by WhatsApp were missing from the module's language list, leads to an error during template synchronization. **After:** This commit adds missing language codes, which are supported by WhatsApp to prevent errors during synchronization. Reference: https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates/supported-la
Original PR description
**Error:** `ValueError: Wrong value for whatsapp.template.lang_code: 'es_CO'` **Before:** Some language codes that are officially supported by WhatsApp were missing from the module's language list, leads to an error during template synchronization. **After:** This commit adds missing language codes, which are supported by WhatsApp to prevent errors during synchronization. Reference: https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates/supported-languages Sentry – 6704097351 Forward-Port-Of: odoo/enterprise#88329
This reverts commit 8788443673d3c58fb2e7cc2e6b4ca456e39f56ab. The tree editor will be developed in another direction where less operators are available (see task 4894524). Forward-Port-Of: odoo/enterprise#88490
Original PR description
This reverts commit 8788443673d3c58fb2e7cc2e6b4ca456e39f56ab. The tree editor will be developed in another direction where less operators are available (see task 4894524). Forward-Port-Of: odoo/enterprise#88490
Currently, an error occurs when all reconciliation models are deleted and the user attempts to create a Transactions(bank statement lines). **Steps to produce:** - Install the `accountant` module. - Navigate to `Accounting > Bank > Models (under Reconciliation)` and delete all reconciliation models. - Go to bank transactions, Create a new `bank statement line` and attempt to `save` it. **Error:** `SyntaxError: syntax error at or near ')' LINE 39: AND reco_model.id IN ()` **Root
Original PR description
Currently, an error occurs when all reconciliation models are deleted and the user attempts to create a Transactions(bank statement lines). **Steps to produce:** - Install the `accountant` module. - Navigate to `Accounting > Bank > Models (under Reconciliation)` and delete all reconciliation models. - Go to bank transactions, Create a new `bank statement line` and attempt to `save` it. **Error:** `SyntaxError: syntax error at or near ')' LINE 39: AND reco_model.id IN ()` **Root Cause:** At [1], an `SQL query` is executed that references `Reconciliation models(reco_models)`, as `reco_models` is empty, this is causing an error. [1] https://github.com/odoo/enterprise/blob/8289993c7d52a6cf71982aace87bcb11fde16967/account_accountant/models/account_bank_statement.py#L220 This commit ensures and prevent error when user add transactions without reconciliation model. sentry - 6650696331 Forward-Port-Of: odoo/enterprise#86861
Fixed an issue that could cause translated referral sharing links to fail. This helps employees share referral links more reliably across languages.
Original PR description
Issue: Prior to this commit, a translation issue occurred due to the use of a list comprehension. The _get_translation_source function attempts to scan the local variables, but in the context of a list comprehension, only variables defined within the comprehension are accessible. As a result, variables like uuid and cursor were not available to the _get_lang function, ultimately leading to an error. Fix: Replaced the list comprehension with a standard for loop to ensure proper access to local variables. runbot-98198
Miscellaneous changes
Prior to this commit, the `_sla_generate_status_values` method in the `helpdesk.ticket` model was using a shared list for storing SLAs per ticket. This could lead to unexpected behavior when multiple tickets are processed simultaneously, as they would share the same list instance. We then removed that logic and replaced it by directly excluding the SLAs of the ticket status having a reached deadline, preventing unnecessary recomputation. Forward-Port-Of: odoo/enterprise#88563 Forward-Port-Of: o
Original PR description
Prior to this commit, the `_sla_generate_status_values` method in the `helpdesk.ticket` model was using a shared list for storing SLAs per ticket. This could lead to unexpected behavior when multiple tickets are processed simultaneously, as they would share the same list instance. We then removed that logic and replaced it by directly excluding the SLAs of the ticket status having a reached deadline, preventing unnecessary recomputation. Forward-Port-Of: odoo/enterprise#88563 Forward-Port-Of: odoo/enterprise#88341
Because recordsets are immutable, `-=` is in O(n), and doing it in a loop is therefore O(n²). Forward-Port-Of: odoo/enterprise#88261
Original PR description
Because recordsets are immutable, `-=` is in O(n), and doing it in a loop is therefore O(n²). Forward-Port-Of: odoo/enterprise#88261
Users can now add a negative quantity product (e.g. cautions) without needing to locate the original order to refund it. We make sure that negative order contains only negative lines and prevents mixing with positive quantities to avoid confusion. task-id: 4771749 community PR: https://github.com/odoo/odoo/pull/209282 Forward-Port-Of: odoo/enterprise#85137
Original PR description
Users can now add a negative quantity product (e.g. cautions) without needing to locate the original order to refund it. We make sure that negative order contains only negative lines and prevents mixing with positive quantities to avoid confusion. task-id: 4771749 community PR: https://github.com/odoo/odoo/pull/209282 Forward-Port-Of: odoo/enterprise#85137
When printing a report with an IoT Box, we send a longpolling request from the client. The UI was not blocking doing so, so a fast user could leave the view before the request ended, resulting in a traceback: Component is destroyed. opw-4812421 Forward-Port-Of: odoo/enterprise#88493
Original PR description
When printing a report with an IoT Box, we send a longpolling request from the client. The UI was not blocking doing so, so a fast user could leave the view before the request ended, resulting in a traceback: Component is destroyed. opw-4812421 Forward-Port-Of: odoo/enterprise#88493
With an MX Company setup: - Have a product with MX info correctly setup for external trade - Create an invoice - Set the external trade to definitive - Add the product on the invoice line and set "Qty UMT" to 0 Try to send and you will get a traceback opw-4807271 Forward-Port-Of: odoo/enterprise#86118
Original PR description
With an MX Company setup: - Have a product with MX info correctly setup for external trade - Create an invoice - Set the external trade to definitive - Add the product on the invoice line and set "Qty UMT" to 0 Try to send and you will get a traceback opw-4807271 Forward-Port-Of: odoo/enterprise#86118
When the fields from the models account.move.line and account.analytic.line have the same name but a different type, a traceback is raised when an analytic filter is set on a report. opw-4769750 Forward-Port-Of: odoo/enterprise#87374 Forward-Port-Of: odoo/enterprise#85599
Original PR description
When the fields from the models account.move.line and account.analytic.line have the same name but a different type, a traceback is raised when an analytic filter is set on a report. opw-4769750 Forward-Port-Of: odoo/enterprise#87374 Forward-Port-Of: odoo/enterprise#85599
This commit will change the condition of display of the coda_split_transactions allowing users to choose whether transactions are imported individually or in batch. opw-4873108 Forward-Port-Of: odoo/enterprise#88370
Original PR description
This commit will change the condition of display of the coda_split_transactions allowing users to choose whether transactions are imported individually or in batch. opw-4873108 Forward-Port-Of: odoo/enterprise#88370
This commit solves the following bugs in Norwegian saft as per customer feedback: 1. Removed the StandardAccountID 2. Added the CreditAmount tag value to the XML file if the both debit and credit values is 0 for an entry The latter point in needed because the SAF-T XML validator expects CreditAmount/DebitAmount tag even if the entry is empty. This case may happen if, for example, we have an exchange rate entry = $0.000001. Since the journal entry is approximating to only 2 decimal places,
Original PR description
This commit solves the following bugs in Norwegian saft as per customer feedback: 1. Removed the StandardAccountID 2. Added the CreditAmount tag value to the XML file if the both debit and credit values is 0 for an entry The latter point in needed because the SAF-T XML validator expects CreditAmount/DebitAmount tag even if the entry is empty. This case may happen if, for example, we have an exchange rate entry = $0.000001. Since the journal entry is approximating to only 2 decimal places, the amounts on the entry end up being 0s. task-4714764 Forward-Port-Of: odoo/enterprise#88523 Forward-Port-Of: odoo/enterprise#83963