Daily updates from Odoo
Monday, March 2, 2026
145 changes
26 changes
Enhancements to existing features
This update integrates an AI agent ('Odoo agent') to automatically create partners during account creation. A new feature will be added to allow administrators to exclude specific partners from this automated retrieval process, providing greater control over data. This change supports the ongoing development of Odoo's AI capabilities.
Original PR description
This commit: https://github.com/odoo/enterprise/commit/84d84687ac09abad698b1b00a445f69a0d896e5f introduce a new ai agent called "Odoo agent" and in the create method a partner is created from it. We will add a new function to blacklist some partner from the retrieve partner functionality task-5973417 Forward-Port-Of: odoo/enterprise#108871
Resolved issues and error corrections
This update ensures that check printing in the Philippines accurately reflects the net payment amount after withholding taxes. Previously, the check amount didn't correctly deduct withholding, leading to potential discrepancies. A new test case has been added to verify this fix.
Original PR description
In Philippines' check localization module, the amount on check should be based on the net amount after deducing withholding amount for payments if the payment is with taxes that are set as withholding on payment. This commit fixes the check print's values to reflect the net amount. Minimal test case is also added to safeguard the new behavior. [Task-5928813](https://www.odoo.com/odoo/all-tasks/5928813) Forward-Port-Of: odoo/enterprise#108859 Forward-Port-Of: odoo/enterprise#108611
This update resolves an issue that prevented users from starting the Colombian Electronic Invoicing certification process when no certificate was initially configured. The fix ensures the system handles the absence of a certificate gracefully, preventing a technical error and allowing users to complete this important compliance step.
Original PR description
When no certificate is found in the company, clicking on ``Begin Certification Process`` raises a traceback. Steps to reproduce the error: - Install ``l10n_co_dian`` module with demo data - Switch to the CO Company - Go to Invoicing > Configuration > Settings > Colombian Electronic Invoicing - Set the Testing ID for Operation mode - In Certificates, delete the existing certificate - Click on Activate the certification process > Begin Certification Process > Ok Traceback: ```py UnboundLocalError cannot access local variable 'cert_sudo' where it is not associated with a value ``` https://github.com/odoo/enterprise/blob/6294be57cf1aa577ec546a958514bc8ec6705935/l10n_co_dian/models/account_edi_xml_ubl_dian.py#L1459 The variable ``cert_sudo`` is used outside of the for loop. If no certificate is found, ``cert_sudo`` will be undefined, leading to the UnboundLocalError. sentry-7256943298 Forward-Port-Of: odoo/enterprise#107094
A recent update to the Point of Sale system meant a warning was no longer displayed when attempting to cancel paid orders. This change occurred because the system now only updates draft orders. This fix restores the warning, ensuring users are alerted before cancelling paid orders to prevent errors.
Original PR description
From 18.2, the warning to prevent users to cancel paid or posted orders from backend was no longer displayed. It's caused because it was handled in the write() method from pos.order model. But, since a recent change, we call write() method only on draft orders. So, if there is no draft orders selected, the warning doesn't appear. task: 5959917 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250969 Forward-Port-Of: odoo/odoo#250074
This update fixes an error in the Profit & Loss reports for Spanish fiscal localization packages. Accounts 7950 and 7957 were previously incorrectly placed in section 10, which is now corrected to section 6 according to official Spanish tax regulations. This ensures accurate reporting for Spanish businesses.
Original PR description
In the Profit & Loss reports, accounts 7950 and 7957 were incorrectly shown in section 10 instead of section 6 These accounts appear only for non-SME fiscal localization packages According to the official Spanish tax documentation, these accounts should belong to section 6 and not section 10: https://www.boe.es/buscar/act.php?id=BOE-A-2007-19884 opw-5363664 Forward-Port-Of: odoo/enterprise#108820 Forward-Port-Of: odoo/enterprise#107949
This update fixes a minor typo in the Helpdesk module's result pages. The change ensures consistent and accurate display of dates, addressing a potential issue that arose after a recent update to the core Odoo system. This ensures a polished user experience for Helpdesk users.
Original PR description
Before this commit and since the merge of https://github.com/odoo/odoo/pull/156878, `date_published` has been replaced by epublished_date` field but the changes have not been made in website_helpdesk_slides module. This commit replaces `date_published` occurrences by `published_date`. task-[5945377](https://www.odoo.com/odoo/project/4105/tasks/5945377) Forward-Port-Of: odoo/enterprise#108253
This update fixes a bug in the pipeline dashboard that prevented accurate matching of the first list displayed. Previously, the dashboard didn't correctly identify and link related opportunities. This change ensures the dashboard displays accurate and complete pipeline data, improving sales visibility.
Original PR description
…oard Field matching was missing for the list #1 in the pipeline dashboard. Task: 5092979 Forward-Port-Of: odoo/enterprise#107516
This update resolves issues with the Belgian XBRL report, specifically correcting inaccurate translations and removing irrelevant company types. The changes also add crucial data points like Balance Sheet, P&L, and Explanatory Disclosures, ensuring the report meets regulatory requirements and provides more complete financial information.
Original PR description
This commit fixes several issues in the Belgian XBRL report. - Values in report like "false" were being wrongly translated. - Not all company types are valid/relevant. Removed invalid company types. task-5907118 Forward-Port-Of: odoo/enterprise#108556
This update adjusts the Italian tax system (l10n_it_edi) to align with a new law. As of January 1, 2025, forfettari (RF19) can now utilize simplified invoices regardless of the total invoice amount, removing a previous limit. This simplifies invoicing for this specific business segment.
Original PR description
Since 01/01/2025, Italian law allows forfettari (RF19) to use simplified invoices even if the total amount exceeds 400€. References: - https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:legge:2014-12-23;190;1;59#:~:text=L'emissione%20della%20fattura%2C%20ove%20prevista%2C%20può%20avvenire%20in%20modalità%20semplificata%20ai%20sensi%20dell'articolo%2021%2Dbis%20del%20decreto%20del%20Presidente%20della%20Repubblica%2026%20ottobre%201972%2C%20n.%20633%2C%20anche%20se%20di%20ammontare%20complessivo%20superiore%20al%20limite%20indicato%20nel%20comma%201%20del%20medesimo%20articolo%2021%2Dbis. - https://www.dkpost.it/fattura-semplificata-senza-limiti-per-i-forfettari/ - https://www.gazzettaufficiale.it/eli/id/2024/11/30/24G00196/sg Forward-Port-Of: odoo/odoo#250743 Forward-Port-Of: odoo/odoo#247264
This update resolves an issue where adding a column within a list item caused a system error. The fix separates column insertion within lists, preventing errors related to restoring selections on removed elements. This ensures the HTML editor consistently functions correctly when working with lists.
Original PR description
Problem: When trying to add a column under a list item, a traceback occurs. Cause: The list item is removed during the operation, but the selection that is restored still references the removed list item. As a result, the selection is restored on a disconnected element, causing a traceback. Solution: Handle column insertion inside lists separately. In this case, according to the specifications, we split the list and insert the columns between the resulting lists (or after the list if the cursor is in the last list item). This avoids restoring the selection on a removed node. Steps to reproduce: - Add any list. - Run `/column` while the cursor is inside a list item. - Observe the traceback. task-5916246 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250847 Forward-Port-Of: odoo/odoo#248206
This update improves how product combo pricing is shown to users. Previously, combo products were labeled as 'free,' which caused confusion. Now, the backend displays 'item' and the POS frontend shows 'included' to accurately reflect that these products are part of the combo's price.
Original PR description
Description of the issue/feature this PR addresses: combo choice products are not free products. They are included in the combo product price. Therefore it creates misunderstanding for our users Current behavior before PR: Desired behavior after PR is merged: Change the "free" string into "item" in the backend and into "included" in pos frontend to align with the display in self --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248535 Forward-Port-Of: odoo/odoo#245279
This update ensures overtime calculations are accurate when creating or modifying time off requests, especially when existing attendance records are present. The system now automatically recomputes overtime whenever a time off record is created, updated, or deleted, preventing incorrect overtime charges.
Original PR description
If you don't have time off app, the option Timing - when Employee is off, should not be available. Creating a time off on a day when there is already an attendance record should automatically recompute the overtime if this rule is on the employee. Forward-Port-Of: odoo/odoo#251064 Forward-Port-Of: odoo/odoo#240940
This update fixes an issue where SII invoices weren't correctly formatted, preventing successful transmission of invoices. The change updates XML tags related to withholdings in the DTE template to align with SII's specifications, ensuring invoices are accepted by the SII system. This ensures compliance with Chilean tax regulations.
Original PR description
Link to SII API Documentation: https://www.sii.cl/factura_electronica/formato_dte.pdf Problem: The DTE template was using incorrect XML elements for withholdings when confirming an invoice with SII. This fix replaces: ImptRetOtrMnda -> ImpRetOtrMnda ValorImpOtrMnda -> VlrImpOtrMnda so the generated DTE matches SII specifications. OPW-5437484 Forward-Port-Of: odoo/enterprise#105152
This pull request updates the core spreadsheet component within Odoo. It includes several performance improvements and bug fixes related to spreadsheet functionality, ensuring a smoother and more reliable user experience when working with spreadsheets. These changes focus on enhancing the core spreadsheet engine.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/146d7e00b5 [REL] 19.2.1 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits:
https://github.com/odoo/o-spreadsheet/commit/146d7e00b5 [REL] 19.2.1 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)
https://github.com/odoo/o-spreadsheet/commit/cdbf5b4f5e [REV] borders: revert infinite borders [Task: 5932734](https://www.odoo.com/odoo/2328/tasks/5932734)
https://github.com/odoo/o-spreadsheet/commit/8e2daf8b4c [PERF] import: {... } instead of Object.assign [Task: 5957630](https://www.odoo.com/odoo/2328/tasks/5957630)
https://github.com/odoo/o-spreadsheet/commit/e197523f55 [FIX] logging: log "ms" [Task: 5959504](https://www.odoo.com/odoo/2328/tasks/5959504)
https://github.com/odoo/o-spreadsheet/commit/9dfcc3f9c9 [FIX] dynamic_tables: trim overlap on the correct side [Task: 5905900](https://www.odoo.com/odoo/2328/tasks/5905900)
https://github.com/odoo/o-spreadsheet/commit/253ad0d65d [PERF] cell: faster symbol check [Task: 5956800](https://www.odoo.com/odoo/2328/tasks/5956800)
https://github.com/odoo/o-spreadsheet/commit/1621a662f1 [FIX] side_panel: restore scroll position on pivot tab change [Task: 5900595](https://www.odoo.com/odoo/2328/tasks/5900595)
https://github.com/odoo/o-spreadsheet/commit/b76a2027a0 [FIX] side_panel: restore vertical scrolling for chart side panel tabs [Task: 5900595](https://www.odoo.com/odoo/2328/tasks/5900595)
https://github.com/odoo/o-spreadsheet/commit/5adcabfaa2 [PERF] formulas: Force the use of the cache for linear search functions [Task: 5956354](https://www.odoo.com/odoo/2328/tasks/5956354)
https://github.com/odoo/o-spreadsheet/commit/40b93f5230 [FIX] Evaluation: Provide cell position for isolated formula evaluation [Task: 5798610](https://www.odoo.com/odoo/2328/tasks/5798610)
https://github.com/odoo/o-spreadsheet/commit/ccde4cdc92 [PERF] recompute_zone: binary search with bit shift [Task: 5955352](https://www.odoo.com/odoo/2328/tasks/5955352)
Co-authored-by: Florian Damhaut (flda) <flda@odoo.com>
Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com>
Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com>
Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com>
Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com>
Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com>
Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com>
Co-authored-by: Rémi Rahir (rar) <rar@odoo.com>
Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com>
Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>This pull request reverses a recent change to the spreadsheet edition's border styling. The change caused visual inconsistencies and performance issues within the spreadsheet functionality. This reversion restores the original styling and addresses the identified problems.
This update fixes an issue where timesheets weren't automatically marked as billable when linked to a specific task or project. The fix ensures that when a timesheet is associated with a task, the ‘is_billable’ field is correctly set to ‘True’, streamlining billing processes and improving accuracy.
Original PR description
Steps to reproduce: - Open Timesheet Assistant - Add new Timesheet - Choose a project or task so so_line of timesheet become True - is_billable is still False Source of the bug: - compute_is_billable was missing depends decorator task-5956059 Forward-Port-Of: odoo/enterprise#108295
This update fixes a technical error that prevented users from successfully using commands within the AI chat channels. The issue stemmed from an undefined 'message' variable during command execution, which has now been resolved. This ensures a smoother experience for users interacting with the AI.
Original PR description
When trying to use commands (for example '/help') in 'ai_chat' channels, an error occurrs. This happens because the 'message' returned from Thread.post method is undefined in that case. Forward-Port-Of: odoo/enterprise#107655
This update resolves an issue where the PIS status field on batch payments wasn't updating correctly after a refresh. The fix ensures the correct database ID is used when fetching the status, now allowing accurate PIS status updates for SEPA credit transfers and similar payments.
Original PR description
When clicking the refresh button next to the PIS status field on a batch payment (e.g., paid with SEPA credit transfer), the status is cleared and no new value is set. This occurs because `onClickFetchStatus` makes an ORM call to fetch the status using `this.props.record.data.id`, which is `undefined`. This commit fixes the issue by correctly using `this.props.record.resId` to pass the database ID to the RPC call. no task-id Forward-Port-Of: odoo/enterprise#108927
This update fixes alignment issues within the HTML editor's monospace banner, ensuring text columns line up correctly. Previously, tabs caused misalignment, now the editor replaces tabs with four spaces for consistent formatting. This improves the overall readability and appearance of content within the editor.
Original PR description
Tabs are aligned on 40px boundaries. This leads to misalignment of characters when using the monospace banner. This commit fixes this by replacing all tabs inside monospace banners by four spaces. Steps to reproduce: - Go to a "To do" note - Insert a monospace banner - Type some text on several lines - Type tab at the begin of some lines => Character columns were misaligned. task-5916747 Forward-Port-Of: odoo/odoo#251065 Forward-Port-Of: odoo/odoo#248227
This update resolves a bug where tests for the account invoice extraction feature were failing due to a conflict with another Odoo module activating the EUR currency. The fix ensures the USD currency is consistently used, making the tests reliable and preventing disruptions to the system. This improves the stability of the enterprise version.
Original PR description
When the tests are run with all modules installed and demo data, some of them fail. One of the other modules activates the EUR currency, which causes the OCR to select it instead of leaving the default USD currency. - Test `test_bank_account` fails because, when the `currency_id` field is set, it triggers a re-computation of `partner_bank_id` which will reset its value to `False`. Runbot build error [240759](https://runbot.odoo.com/odoo/runbot.build.error/240759). - Test `test_invoice_ocr_note_author` fails because it's not expected that the `currency_id` is modified and logged in the tracking message. Runbot build error [238512](https://runbot.odoo.com/odoo/runbot.build.error/238512) (only in saas-19.2 and up, but it is mentionned here as the fix is the same). To make the tests more reliable, we now ensure only the USD currency is active. Forward-Port-Of: odoo/enterprise#108991 Forward-Port-Of: odoo/enterprise#108770
This update resolves an issue where non-administrator users were receiving access errors when viewing the accounting dashboard with the l10n_tr_nilvera module. The fix ensures that non-admin users can access the necessary features within the dashboard, improving usability for all users.
Original PR description
…nting dashboard # How to reproduce - Add the l10n_tr_nilvera module - Have at least one journal - Connect with a non-admin user - Go to the accounting dashboard # The problem An access right error message is displayed # Why When going to the accounting dashboard, both "_compute_show_fetch_in_einvoices_button" and "_compute_show_refresh_out_einvoices_status_button" are triggered. They both try to access the nilvera api key field of account.journal but only administrator users have access to that field. opw-5928715 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#249425
This update corrects a bug where the website's 'scroll to top' links (e.g., '#top') were broken due to incorrect URL processing. The fix ensures these links function correctly, providing a seamless user experience for navigating to the top of the page. A new test confirms this resolution.
Original PR description
__Before commit:__ Menu items with anchor URLs (e.g., `#my-anchor`) are prefixed with the current page's path. This is correct for page-specific anchors but breaks generic ones like `#top` and…
__Before commit:__ Menu items with anchor URLs (e.g., `#my-anchor`) are prefixed with the current page's path. This is correct for page-specific anchors but breaks generic ones like `#top` and `#bottom`. A menu with the URL `#top` becomes `/current-page#top`, preventing it from functioning as a universal "scroll to top" link. __Cause:__ The server-side logic for processing menu URLs does not differentiate between page-specific anchors and generic anchors like `#top` or `#bottom`, treating all anchor links as belonging to the current page. __Fix:__ In the `save` method, exclude `#top` and `#bottom` from the logic that prefixes anchors with the current page's URL. This ensures these special anchors, typically set on the header and footer, work consistently across the entire website. A new unit test verifies that `#top` and `#bottom` menu URLs are saved correctly without being prefixed. task-5941115 Forward-Port-Of: odoo/odoo#251154 Forward-Port-Of: odoo/odoo#250136
This update resolves an issue preventing administrators from viewing all email messages. Previously, access restrictions caused errors when attempting to retrieve email data. The change restores administrator access to all email communications by re-enabling necessary security permissions.
Original PR description
The model mail.mail inherits from mail.message. However, the administrator that has access to mail.mail, does not necessarily have access to the message. Since we removed fetching all messages in sudo, we get errors when trying to read messages. To restore the previous behaviour, we add back a sudo on all inherited fields. task-5954851 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a technical issue where users without HR permissions were encountering errors while trying to edit bank account information for contacts. The fix hides the bank account field for users lacking the necessary HR rights, ensuring a smoother user experience and preventing access errors.
Original PR description
**Steps to reproduce** - have `hr` and `account` installed - add a bank account to a contact - switch to a user with accounting rights but no HR rights - on the contact form, click on the tag of the bank account in the "Bank accounts" field - Access Error due to missing rights related to employee model **Cause** The `_compute_employee_id` method requires read access on the `hr.employee` model. **Solution** Hide the field for non-HR users. opw-5217072 Forward-Port-Of: odoo/odoo#247792
This update fixes an issue where the 'Missing Required Details' widget incorrectly appeared on the combo and product pages, especially on smaller screens. The change ensures the widget only displays when a required attribute is present and not selected, preventing confusion and ensuring users can properly complete their selections.
Original PR description
The "Missing Required Details" widget appeared when there was required attributes to choose in combo item or on the product page AND when the height of the screen was smaller than the content size. So sometimes, it was showing when it was not required and when we clicking on it, nothing was done because we saw everything on the screen. So, what I did, is basically change the condition for displaying the widget. Now it will appear only when a title of a required attributes is hidden by the header and this required attribute is not selected. part ot task: 5493798 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#251176 Forward-Port-Of: odoo/odoo#244667
This update fixes a misleading warning message related to employee net wages. A recent code change improved the payroll system's accuracy by ensuring the warning only appears when a negative net wage is actually present. This ensures employees and administrators receive correct information.
Original PR description
As a result of a refactor in the hr_payslip.py model, this commit mainly adds a test to check the message is not displayed if we don't have net salary, and appears if the net is indeed negative. task-5484107 Forward-Port-Of: odoo/enterprise#103918
25 changes
Resolved issues and error corrections
This update ensures that check printing in the Philippines accurately reflects the net payment amount after withholding taxes. Previously, the check amount didn't correctly account for these deductions. A new test case has been added to verify this fix.
Original PR description
In Philippines' check localization module, the amount on check should be based on the net amount after deducing withholding amount for payments if the payment is with taxes that are set as withholding on payment. This commit fixes the check print's values to reflect the net amount. Minimal test case is also added to safeguard the new behavior. [Task-5928813](https://www.odoo.com/odoo/all-tasks/5928813) Forward-Port-Of: odoo/enterprise#108859 Forward-Port-Of: odoo/enterprise#108611
This update resolves an error that occurred when users attempted to initiate the Colombian Electronic Invoicing certification process without a pre-existing certificate. The fix prevents a traceback by ensuring the system handles the case where no certificate is found, improving the user experience and preventing process interruptions.
Original PR description
When no certificate is found in the company, clicking on ``Begin Certification Process`` raises a traceback. Steps to reproduce the error: - Install ``l10n_co_dian`` module with demo data - Switch to the CO Company - Go to Invoicing > Configuration > Settings > Colombian Electronic Invoicing - Set the Testing ID for Operation mode - In Certificates, delete the existing certificate - Click on Activate the certification process > Begin Certification Process > Ok Traceback: ```py UnboundLocalError cannot access local variable 'cert_sudo' where it is not associated with a value ``` https://github.com/odoo/enterprise/blob/6294be57cf1aa577ec546a958514bc8ec6705935/l10n_co_dian/models/account_edi_xml_ubl_dian.py#L1459 The variable ``cert_sudo`` is used outside of the for loop. If no certificate is found, ``cert_sudo`` will be undefined, leading to the UnboundLocalError. sentry-7256943298 Forward-Port-Of: odoo/enterprise#107094
This update corrects a previous issue where archived accounts could be incorrectly assigned as default journal accounts. Previously, the system allowed inactive accounts to be used, leading to potential inconsistencies. This change ensures that only active accounts are considered for journal defaults, maintaining data accuracy and stability.
Original PR description
### Steps to Reproduce: 1. Go to Accounting > Create a journal. 2. Archive the company’s default income/expense or cash diff. accounts. 3. Change the journal type. 3. Observe that an archived account…
### Steps to Reproduce: 1. Go to Accounting > Create a journal. 2. Archive the company’s default income/expense or cash diff. accounts. 3. Change the journal type. 3. Observe that an archived account is assigned by the onchange method. ### Issue: - Prior to saas-18.3, no onchange logic existed for assigning default accounts. With the introduction of the [onchange] (https://github.com/odoo/odoo/commit/334a8161cd2feb092cafedc35d94645900b40518) , archived income/expense or default cash diff. accounts can be assigned to journals. - This creates an inconsistency, as the domain [defined] (https://github.com/odoo/odoo/blob/saas-18.3/addons/account/models/account_journal.py#L70-#L82) for `default_account_id` only returns active accounts. ### Solution: - Since the domain for `default_account_id` returns only active accounts, this commit aims to update the onchange [logic](https://github.com/odoo/odoo/blob/saas-18.3/addons/account/models/account_journal.py#L540-#L551) in order to follow the same restriction, ensuring that only active accounts are assigned thereby preventing inconsistent behavior. OPW-5501539 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246725
This update fixes an issue where the 'Missing Required Details' widget incorrectly appeared on the self-order system, especially on smaller screens. The change ensures the widget only shows when a required field is hidden and hasn't been selected, providing a smoother user experience.
Original PR description
The "Missing Required Details" widget appeared when there was required attributes to choose in combo item or on the product page AND when the height of the screen was smaller than the content size. So sometimes, it was showing when it was not required and when we clicking on it, nothing was done because we saw everything on the screen. So, what I did, is basically change the condition for displaying the widget. Now it will appear only when a title of a required attributes is hidden by the header and this required attribute is not selected. part ot task: 5493798 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#244667
This update fixes an issue where accounting users without HR permissions would encounter an error when trying to edit a contact's bank account. The fix hides the bank account field for users lacking the necessary HR rights, ensuring data integrity and preventing unexpected access errors.
Original PR description
**Steps to reproduce** - have `hr` and `account` installed - add a bank account to a contact - switch to a user with accounting rights but no HR rights - on the contact form, click on the tag of the bank account in the "Bank accounts" field - Access Error due to missing rights related to employee model **Cause** The `_compute_employee_id` method requires read access on the `hr.employee` model. **Solution** Hide the field for non-HR users. opw-5217072 Forward-Port-Of: odoo/odoo#247792
This update corrects an issue where the IoT module couldn't properly access a key token. By directly accessing the token from the pos_self_order service, the system now reliably retrieves and utilizes this data, ensuring smoother operation of IoT-connected point-of-sale systems. This improves data accuracy and functionality.
Original PR description
Access token is not accessible from pos_config, it should be accessed from pos_self_order service directly. Forward-Port-Of: odoo/enterprise#109158
This update fixes an error in the Spanish Profit & Loss reports where accounts 7950 and 7957 were incorrectly placed in section 10. The change aligns with official Spanish tax documentation, ensuring accurate reporting for non-SME fiscal localization packages. This ensures compliance with Spanish tax regulations.
Original PR description
In the Profit & Loss reports, accounts 7950 and 7957 were incorrectly shown in section 10 instead of section 6 These accounts appear only for non-SME fiscal localization packages According to the official Spanish tax documentation, these accounts should belong to section 6 and not section 10: https://www.boe.es/buscar/act.php?id=BOE-A-2007-19884 opw-5363664 Forward-Port-Of: odoo/enterprise#108820 Forward-Port-Of: odoo/enterprise#107949
This update fixes a bug in the pipeline dashboard that prevented accurate matching of leads within the first list. The change ensures that the dashboard displays correct data, improving the visibility and accuracy of sales pipeline information. This resolves a previously reported issue impacting sales performance.
Original PR description
…oard Field matching was missing for the list #1 in the pipeline dashboard. Task: 5092979 Forward-Port-Of: odoo/enterprise#107516
This update resolves issues with the Belgian XBRL report, specifically correcting inaccurate translations and removing irrelevant company types. The changes enhance the report's data quality and reliability for financial reporting compliance.
Original PR description
This commit fixes several issues in the Belgian XBRL report. - Values in report like "false" were being wrongly translated. - Not all company types are valid/relevant. Removed invalid company types. task-5907118 Forward-Port-Of: odoo/enterprise#108556
This update adjusts the Italian tax system integration to comply with a new law. Starting January 1, 2025, forfettari (RF19) can now utilize simplified invoices regardless of the total amount. This simplifies invoice processing for this specific business segment.
Original PR description
Since 01/01/2025, Italian law allows forfettari (RF19) to use simplified invoices even if the total amount exceeds 400€. References: - https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:legge:2014-12-23;190;1;59#:~:text=L'emissione%20della%20fattura%2C%20ove%20prevista%2C%20può%20avvenire%20in%20modalità%20semplificata%20ai%20sensi%20dell'articolo%2021%2Dbis%20del%20decreto%20del%20Presidente%20della%20Repubblica%2026%20ottobre%201972%2C%20n.%20633%2C%20anche%20se%20di%20ammontare%20complessivo%20superiore%20al%20limite%20indicato%20nel%20comma%201%20del%20medesimo%20articolo%2021%2Dbis. - https://www.dkpost.it/fattura-semplificata-senza-limiti-per-i-forfettari/ - https://www.gazzettaufficiale.it/eli/id/2024/11/30/24G00196/sg Forward-Port-Of: odoo/odoo#250743 Forward-Port-Of: odoo/odoo#247264
This update resolves an issue where adding a column within a list item caused a system error. The fix separates column insertion within lists, preventing errors related to restoring selections on removed elements. This ensures stable column insertion functionality within list items.
Original PR description
Problem: When trying to add a column under a list item, a traceback occurs. Cause: The list item is removed during the operation, but the selection that is restored still references the removed list item. As a result, the selection is restored on a disconnected element, causing a traceback. Solution: Handle column insertion inside lists separately. In this case, according to the specifications, we split the list and insert the columns between the resulting lists (or after the list if the cursor is in the last list item). This avoids restoring the selection on a removed node. Steps to reproduce: - Add any list. - Run `/column` while the cursor is inside a list item. - Observe the traceback. task-5916246 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250847 Forward-Port-Of: odoo/odoo#248206
This update resolves an issue where event email templates incorrectly used the sender's company instead of the event's company, causing incorrect styling and potential access errors in multi-company environments. The fix ensures event templates now correctly reference the event's company, guaranteeing accurate styling and proper access rights.
Original PR description
Steps to reproduce: 1. Create a multi-company environment with at least two companies. 2. Create a new user with Company 1 as default and access to Company 2. (+ Admin rights for events.) 3. Connect…
Steps to reproduce: 1. Create a multi-company environment with at least two companies. 2. Create a new user with Company 1 as default and access to Company 2. (+ Admin rights for events.) 3. Connect to the user and switch to Company 2. 4. Go to Events > Any event on this company with at least 1 attendee. 5. Go to the attendee form and in the chatte go to send message and expand. 6. Finally, try to select an email template from the 3 dots. This issue was introduced by commit aff20f8, which added logic to style email buttons using company-specific colors. The bug occurs because the template incorrectly retrieves the company of the current user sending the email instead of the company linked to the event registration (object.company_id). This leads to two problems in a multi-company environment: 1. The button colors will always be based on the user's default company, leading to incorrect styling. 2. It can provoke an access rights error when trying to read the email colors of a company that is not the one we've currently selected. To fix this, we should ensure that the email templates for events use the company associated with the event registration (object.company_id) when styling the email buttons. This way, the correct company context is used, ensuring proper access rights and more accurate button styling. opw-5256010 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#236764
This update fixes an issue where SII invoices weren't correctly formatted, preventing successful submission. The change updates XML tags related to withholding taxes to align with SII's specifications, ensuring invoices are accepted by the SII system. This ensures compliance with Chilean tax regulations.
Original PR description
Link to SII API Documentation: https://www.sii.cl/factura_electronica/formato_dte.pdf Problem: The DTE template was using incorrect XML elements for withholdings when confirming an invoice with SII. This fix replaces: ImptRetOtrMnda -> ImpRetOtrMnda ValorImpOtrMnda -> VlrImpOtrMnda so the generated DTE matches SII specifications. OPW-5437484 Forward-Port-Of: odoo/enterprise#105152
This pull request updates the core spreadsheet component to the latest version (19.1.8). It includes several performance improvements and bug fixes related to spreadsheet calculations and rendering, ensuring a smoother user experience when working with spreadsheets in Odoo.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/308237a70c [REL] 19.1.8 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/308237a70c [REL] 19.1.8 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/5f09698747 [REV] borders: revert infinite borders [Task: 5932734](https://www.odoo.com/odoo/2328/tasks/5932734) https://github.com/odoo/o-spreadsheet/commit/4d6dd66e7f [FIX] dynamic_tables: trim overlap on the correct side [Task: 5905900](https://www.odoo.com/odoo/2328/tasks/5905900) https://github.com/odoo/o-spreadsheet/commit/e0169c6507 [FIX] side_panel: restore scroll position on pivot tab change [Task: 5900595](https://www.odoo.com/odoo/2328/tasks/5900595) https://github.com/odoo/o-spreadsheet/commit/8ffb04ba31 [FIX] side_panel: restore vertical scrolling for chart side panel tabs [Task: 5900595](https://www.odoo.com/odoo/2328/tasks/5900595) https://github.com/odoo/o-spreadsheet/commit/31c21dd164 [PERF] formulas: Force the use of the cache for linear search functions [Task: 5956354](https://www.odoo.com/odoo/2328/tasks/5956354) https://github.com/odoo/o-spreadsheet/commit/8bc66cca9b [PERF] recompute_zone: binary search with bit shift [Task: 5955352](https://www.odoo.com/odoo/2328/tasks/5955352) https://github.com/odoo/o-spreadsheet/commit/943331f6d9 [FIX] Evaluation: Provide cell position for isolated formula evaluation [Task: 5798610](https://www.odoo.com/odoo/2328/tasks/5798610) https://github.com/odoo/o-spreadsheet/commit/ca96bd9a84 [FIX] package: saas-19.1 is no longer the latest version [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com> Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>
This update reverses a recent change to the spreadsheet edition's styling, specifically related to borders. The change was reverted to restore the previous visual appearance. This ensures consistent and expected formatting within the spreadsheet functionality.
This update fixes a bug where restarting the chat bot after a page reload caused duplicate actions. Previously, reloading the support page and restarting the bot would result in multiple questions being presented simultaneously. The fix removes a redundant call to start the bot during the restart process, ensuring a smoother user experience.
Original PR description
Since [1], restarting the chat bot after reload could lead to multiple steps being executed at the same time. Steps to reproduce: - Go to the `/im_livechat/support/2` page. - Chat with the support bot until the end of the conversation. - Reload the page. - Click on the restart button. - Two question selections are displayed at the same time. This occurs because the bot starts from the `_toggleChatbot` field's `onUpdate` method. The `restart` method also calls `start` on the chat bot. To fix this issue, the call to `start` is removed from the `restart` method. [1]: https://github.com/odoo/odoo/pull/194399 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250782 Forward-Port-Of: odoo/odoo#250623
This update fixes an issue where newly hired employees were incorrectly receiving their private email address as their work email. The change ensures that the employee's work email field is properly cleared during the contract signing process, preventing this duplication. This improves data accuracy for employee records.
Original PR description
**Steps to Reproduce:** 1. Send an offer to an applicant. 2. The applicant submits their details via the salary configurator and enters their private email in the Email field. 3. Once the offer and contract are signed, an employee record is created in Odoo. 4. In the created employee record, the `work_email` field is populated with the email entered in the salary configurator. This same value is also present in `private_email`, which is correct. **Reason:** - The email entered in the salary configurator is stored on the partner and represents the applicant's private email. - The employee's `work_email` field is linked to the partner's email via compute and inverse methods, causing it to inherit the private email value when the employee record is created. **Solution:** - Explicitly clear the employee's work_email field when the applicant sign. task: 5502797 Forward-Port-Of: odoo/enterprise#108933 Forward-Port-Of: odoo/enterprise#106974
This update fixes an issue where the 'Reply' function in the HTML composer wouldn't reliably focus the editor, particularly in Firefox. The fix involves adding invisible characters around mentions to ensure the cursor can move correctly, resolving a known compatibility problem.
Original PR description
In chatter, using "Reply" in HTML composer could focus the composer without giving a usable caret. The inserted partner mention is a non-editable link (`contenteditable="false"`), and selection could end up inside that node, so typing would not insert text. This also fix the related firefox issue: mentions are rendered as `a[contenteditable=false]`. Firefox is stricter than Chrome for carret positions around non-editable inline nodes, so clicking before a mention or moving left from its right edge could make stuck. so we register mention selectors as FEFF providers in the mention plugin. (a feature of html_editor FEFF plugin to add invisible boundary characters around mentions, which gives firefox what it need to move carret around. some tests had to be adapted to take the insertion of FEFFs in the composer text into account task-5262368 Forward-Port-Of: odoo/odoo#250296
This update resolves an issue where non-administrator users were receiving access errors when viewing the accounting dashboard with the l10n_tr_nilvera module. The fix ensures that non-admin users can access the necessary features within the dashboard, improving usability and workflow for all users.
Original PR description
…nting dashboard # How to reproduce - Add the l10n_tr_nilvera module - Have at least one journal - Connect with a non-admin user - Go to the accounting dashboard # The problem An access right error message is displayed # Why When going to the accounting dashboard, both "_compute_show_fetch_in_einvoices_button" and "_compute_show_refresh_out_einvoices_status_button" are triggered. They both try to access the nilvera api key field of account.journal but only administrator users have access to that field. opw-5928715 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#249425
This update introduces a new ‘Net Cost’ salary rule to accurately track employer costs related to employee payroll. Previously, a specific rule sign caused incorrect deductions, impacting both employee and employer contributions. This change ensures that employer costs are calculated correctly, improving payroll accuracy.
Original PR description
## Before: - Setting appears_on_employee_cost_dashboard to True on a salary rule uses the rule’s sign to compute employee cost. - For rules like Social Insurance Employee Contribution and DEWS Employee Contribution, the sign must be negative to deduct the amount from the employee, which incorrectly reduces the employer cost as well. ## After: - Introduced a new salary rule “Net Cost” to correctly reflect employer cost. - This allows employee contribution rules to keep a negative sign for deductions while still increasing the employer contribution amount. Task-5912761 Forward-Port-Of: odoo/enterprise#107090
This update corrects a bug where the '#top' and '#bottom' menu links were incorrectly prefixed with the current page's URL, preventing users from easily scrolling to the top of the website. The fix ensures these standard 'scroll to top' links function correctly, improving website navigation and user experience. A new test confirms this resolution.
Original PR description
__Before commit:__ Menu items with anchor URLs (e.g., `#my-anchor`) are prefixed with the current page's path. This is correct for page-specific anchors but breaks generic ones like `#top` and…
__Before commit:__ Menu items with anchor URLs (e.g., `#my-anchor`) are prefixed with the current page's path. This is correct for page-specific anchors but breaks generic ones like `#top` and `#bottom`. A menu with the URL `#top` becomes `/current-page#top`, preventing it from functioning as a universal "scroll to top" link. __Cause:__ The server-side logic for processing menu URLs does not differentiate between page-specific anchors and generic anchors like `#top` or `#bottom`, treating all anchor links as belonging to the current page. __Fix:__ In the `save` method, exclude `#top` and `#bottom` from the logic that prefixes anchors with the current page's URL. This ensures these special anchors, typically set on the header and footer, work consistently across the entire website. A new unit test verifies that `#top` and `#bottom` menu URLs are saved correctly without being prefixed. task-5941115 Forward-Port-Of: odoo/odoo#251154 Forward-Port-Of: odoo/odoo#250136
This update fixes a technical issue preventing the search bar's placeholder text on the website from being translated. The change replaces a complex code method with a standard translation-friendly element, ensuring all website content, including search prompts, can be localized for different languages. This improves the user experience for international customers.
Original PR description
The placeholder of the search bar for attributes in eCommerce was not translatable, because it was using a Python expression to set its value. This commit replaces the Python expression with a t-attf-placeholder, which allows the placeholder to be translated. opw-5978276 Forward-Port-Of: odoo/odoo#251145
This update adjusts the size of custom snippet titles within the Mass Mailing builder to ensure they are clearly visible. A recent update to the preview snippet selector improved readability, but the default font size for custom snippet titles was previously set too large. This change halves the title size to maintain a consistent and readable appearance.
Original PR description
In Mass Mailing, users can save modified snippets as Custom Snippets, allowing for their later reuse. These snippets can be found in the Custom category. However, their title was too large. This is due to d2b56435736e8d507434c1378cb68fae23e8511f rescaling the preview snippet selector, allowing for better readability of each snippet's text from the selector. As the default builder font size for custom snippet titles was set for the previous scale (50px at 0.3 scale), it has to be halved to restore its previous appearance at the new scale (25px at 0.6 scale). task-5959033
This update fixes an issue where new tables were assigned numbers based on the highest floor number across the entire restaurant, regardless of the current floor. Now, new tables are assigned numbers based on the highest table number *on the current floor*, ensuring a more logical and user-friendly table numbering system, especially in multi-story restaurants.
Original PR description
Before this commit: =================== When multiple floors exist, creating a new table assigns the next table number based on the maximum table number across all floors. After this commit: ================== When multiple floors exist, creating a new table assigns the next table number based on the maximum table number of the current floor. Task: 5888449 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a rounding error in early payment discounts when cash discount tax reduction is enabled. Previously, discounts were calculated line-by-line, leading to discrepancies. This change ensures discounts are rounded globally for accurate calculations, improving financial reporting.
Original PR description
**PROBLEM** There is a rounding issue with early payment discount when cash discount tax reduction is set to always (upon invoice). The move.line created for the discount is computed by applying the discount to each line, rounding each line individually. But the early payment discount is computed by rounding globally. **STEP TO REPRODUCE** 1. Create a payment term, with early discount of 1%, and cash discount tax reduction set to 'Always (upon invoice)'. 2. Create an invoice with 4 identical lines, unit price 4.76€ and tax 15%. 3. set the payment term on the invoice and save. 4. Go to journal item, early payment discount is 0.20€. 5. toggle discount_amount column on the the journal item tab. 6. notice on the last line, that balance - discount_amount = 0.19€ instead of 0.20€ opw-5865308 Forward-Port-Of: odoo/odoo#250638 Forward-Port-Of: odoo/odoo#247996
1 change
Resolved issues and error corrections
This update resolves an issue where the cash drawer wasn't automatically opening when the cash details popup was accessed in the Italian Point of Sale (POS) system. The fix ensures that the cash drawer opens consistently when this popup is opened, regardless of whether the POS session is open or closed. This improves the user experience for Italian POS operations.
Original PR description
When opening the cash details popup the cash drawer should be opened. It was not the case for the Italian fiscal printer. Steps to reproduce: ------------------- * Setup a Italian fiscal printer with cash drawer support * Open PoS * Open the cash details popup > Observation: The cash drawer does not open * Try to close the PoS session * Open the cash details popup > Observation: The cash drawer opens Why the fix: ------------ The cash drawer opening function was simply not called opw-5391094 Forward-Port-Of: odoo/enterprise#109057 Forward-Port-Of: odoo/enterprise#107987
9 changes
Resolved issues and error corrections
This update fixes a visual inconsistency in the Discuss app's dark mode. The background colors of the navbar buttons and breadcrumbs were previously mismatched compared to the main control panel. This change ensures a more polished and professional user experience across all Odoo modules in dark mode.
Original PR description
The background color of navbar buttons and breadcrumbs in discuss app differed from that of control panel. This PR aligns and syncs these colors for a consistent UI. | Before | After | |--------|-------| |<img width="467" height="99" alt="image" src="https://github.com/user-attachments/assets/2def30f8-18aa-4399-a5d1-1cdc70b4cd81" /> |<img width="458" height="111" alt="image" src="https://github.com/user-attachments/assets/5578cd25-7686-4543-a8dc-3e0fe5aeb4fc" />| This PR contains backport of #217608 task-[4936733](https://www.odoo.com/odoo/project/1519/tasks/4936733) task-[5487197](https://www.odoo.com/odoo/project/1519/tasks/5487197) Forward-Port-Of: odoo/odoo#250601
This update adjusts Odoo to comply with a new Italian law, effective January 1, 2025. It now allows forfettari (RF19) to utilize simplified invoices regardless of the total invoice amount, removing a previous limit. This simplifies invoicing for this specific business segment.
Original PR description
Since 01/01/2025, Italian law allows forfettari (RF19) to use simplified invoices even if the total amount exceeds 400€. References: - https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:legge:2014-12-23;190;1;59#:~:text=L'emissione%20della%20fattura%2C%20ove%20prevista%2C%20può%20avvenire%20in%20modalità%20semplificata%20ai%20sensi%20dell'articolo%2021%2Dbis%20del%20decreto%20del%20Presidente%20della%20Repubblica%2026%20ottobre%201972%2C%20n.%20633%2C%20anche%20se%20di%20ammontare%20complessivo%20superiore%20al%20limite%20indicato%20nel%20comma%201%20del%20medesimo%20articolo%2021%2Dbis. - https://www.dkpost.it/fattura-semplificata-senza-limiti-per-i-forfettari/ - https://www.gazzettaufficiale.it/eli/id/2024/11/30/24G00196/sg Forward-Port-Of: odoo/odoo#250743 Forward-Port-Of: odoo/odoo#247264
This update ensures the Odoo spreadsheet component is running the latest version, addressing potential issues and improving its functionality. The changes focus on stability and performance within the spreadsheet feature, benefiting all users.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/bfdee61b35 [REL] 18.3.36 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/bfdee61b35 [REL] 18.3.36 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/bc061929b5 [FIX] dynamic_tables: trim overlap on the correct side [Task: 5905900](https://www.odoo.com/odoo/2328/tasks/5905900) https://github.com/odoo/o-spreadsheet/commit/893a08ba62 [FIX] Evaluation: Provide cell position for isolated formula evaluation [Task: 5798610](https://www.odoo.com/odoo/2328/tasks/5798610) Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com> Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>
This update corrects a technical issue related to how leave periods are calculated, specifically addressing potential problems caused by different time zones. The change ensures accurate payroll processing for employees in Switzerland by standardizing the date ranges used for leave interruptions.
Original PR description
This commit fixes the leaves work interruption constraint by replacing `date_from` and `date_to` with `request_date_from` and `request_date_to`, thereby resolving any inconsistencies that may arise from time zone differences. task-5966780 Forward-Port-Of: odoo/enterprise#108541
This update ensures that when users send multiple messages in a live chat, only one channel is created. Previously, sending multiple messages could lead to duplicate channel creation, which was causing confusion and potential issues. This fix streamlines the live chat process and improves user experience.
Original PR description
Before this commit, sending multiple messages before the channel creation can result in multiple channels being created. It occurs because the post function is overriden to first persist the channel. When the persist call is still in progress, we shouldn't issue a new one. task-4756758 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250530 Forward-Port-Of: odoo/odoo#250374
This update resolves an issue where the cash drawer wasn't automatically opening when accessing cash details within the Italian Point of Sale (POS) system. The fix ensures that the cash drawer opens consistently when the cash details popup is accessed, regardless of whether the POS session is open or closed. This improves the user experience for Italian POS operations.
Original PR description
When opening the cash details popup the cash drawer should be opened. It was not the case for the Italian fiscal printer. Steps to reproduce: ------------------- * Setup a Italian fiscal printer with cash drawer support * Open PoS * Open the cash details popup > Observation: The cash drawer does not open * Try to close the PoS session * Open the cash details popup > Observation: The cash drawer opens Why the fix: ------------ The cash drawer opening function was simply not called opw-5391094 Forward-Port-Of: odoo/enterprise#109057 Forward-Port-Of: odoo/enterprise#107987
This update corrects a bug where the website's 'scroll to top' links (e.g., '#top') were broken due to incorrect URL processing. The fix ensures these links function correctly, providing a seamless user experience for navigating to the top of the page. A new test confirms this resolution.
Original PR description
__Before commit:__ Menu items with anchor URLs (e.g., `#my-anchor`) are prefixed with the current page's path. This is correct for page-specific anchors but breaks generic ones like `#top` and…
__Before commit:__ Menu items with anchor URLs (e.g., `#my-anchor`) are prefixed with the current page's path. This is correct for page-specific anchors but breaks generic ones like `#top` and `#bottom`. A menu with the URL `#top` becomes `/current-page#top`, preventing it from functioning as a universal "scroll to top" link. __Cause:__ The server-side logic for processing menu URLs does not differentiate between page-specific anchors and generic anchors like `#top` or `#bottom`, treating all anchor links as belonging to the current page. __Fix:__ In the `save` method, exclude `#top` and `#bottom` from the logic that prefixes anchors with the current page's URL. This ensures these special anchors, typically set on the header and footer, work consistently across the entire website. A new unit test verifies that `#top` and `#bottom` menu URLs are saved correctly without being prefixed. task-5941115 Forward-Port-Of: odoo/odoo#251154 Forward-Port-Of: odoo/odoo#250136
This update fixes an issue where IoT error codes were incorrectly categorized. Now, warnings from the IoT are displayed as notifications, providing clearer visibility into potential problems. This ensures that all IoT responses are properly interpreted, improving system reliability.
Original PR description
Before this commit, all errors returned by the iot after a call to the blackbox were considered as errors. Actually, the errors are only the ones that do not start with 0 (no error) or 1 (warning). This commit changes the behaviour when handling warning. We now show a notification. task-id: 5062178 Forward-Port-Of: odoo/enterprise#93948 Forward-Port-Of: odoo/enterprise#93896
This update corrects a bug that occurred when the commercial_partner_id field was visible on the contact form (via web_studio). Previously, the field would default to False, causing errors during autocomplete and data verification. This change ensures the field is properly populated, preventing these errors and improving the user experience.
Original PR description
Before this commit, when commercial_partner_id is on the view (possible with web_studio), the value by default is False. When the autocomplete widget is used, many fields could be autofilled and raise _onchange_verify_peppol_status, that requires this field. To avoid this issue we review that the value has been filled. Steps to Reproduce: 1. Open the Contacts app 2. Open Studio on the contact form view 3. Add the field commercial_partner_id to the form view (make it visible) 4. Create a new contact 5. Type a name 6. Select a suggestion from the IAP autocomplete 7. An error is raised immediately OPW-[5896847](https://www.odoo.com/odoo/action-4043/5896847) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#249772 Forward-Port-Of: odoo/odoo#248895
1 change
Resolved issues and error corrections
This update resolves an issue where HR document sharing links wouldn't work for employees without a user account. The fix ensures that documents can be shared correctly, even when an employee leaves the company, streamlining the offboarding process.
Original PR description
purpose: when an employee leaves the company, it's expected to send the HR Documents Access Link. But, an error occurs if the employee is not linked to a user. fix: - made the error appear only when the employee doesn't have a private email and not depend on the employee being linked to a user - made the documents check for `work_contact_id` to get the partner related to the employee instead of `user_partner_id` task-id: 5876084 Forward-Port-Of: odoo/enterprise#105652
25 changes
New functionality added to Odoo
This update incorporates essential testing for the Stripe expense module, addressing a previous oversight in the original development task. The changes include fixes for a parameter type issue and a billing state requirement, ensuring the module functions reliably and securely. This improves the overall stability and quality of the expense reporting process.
Original PR description
Add tests for the module, as it wasn't included in the original task Forward-Port-Of: odoo/enterprise#108053 Forward-Port-Of: odoo/enterprise#106191
This update includes sample data for a project's profitability dashboard, ensuring the section displays correctly. This addition facilitates future feature development and aids in identifying potential issues within the dashboard functionality. It's a small improvement to support ongoing development and testing.
Original PR description
This commit's purpose is to add demo data to a project in order to have all the profitability section appears. This will help with the creation of new features and the detection of bugs.
Enhancements to existing features
This update adjusts Odoo's spreadsheet functionality to align with a recent update to the underlying o-spreadsheet library. Specifically, it enables editing of slice colors and includes a new test case for the chart side panel, ensuring continued functionality and stability.
This update enhances the Point of Sale (PoS) interface by reorganizing the hamburger menu and adding icons for its dropdown options. This improves usability and makes it easier for users to access key PoS features within the Odoo system. This change aligns with ongoing improvements to the Odoo platform.
Original PR description
pos*: l10n_at_pos, l10n_it_pos, pos_blackbox_be, pos_enterprise, pos_iot, pos_iot_six In this commit: =============== - We reorganised the PoS hamburger menu and added icons for the dropdown menu items. Task: 5888379 Related Community PR: https://github.com/odoo/odoo/pull/246516
Resolved issues and error corrections
This update ensures that check printing accurately reflects the net payment amount after withholding taxes. Previously, the check amount didn't correctly account for withholding, leading to potential discrepancies. A new test case has been added to verify this fix.
Original PR description
In Philippines' check localization module, the amount on check should be based on the net amount after deducing withholding amount for payments if the payment is with taxes that are set as withholding on payment. This commit fixes the check print's values to reflect the net amount. Minimal test case is also added to safeguard the new behavior. [Task-5928813](https://www.odoo.com/odoo/all-tasks/5928813) Forward-Port-Of: odoo/enterprise#108859 Forward-Port-Of: odoo/enterprise#108611
This update resolves an error that occurred when users attempted to initiate the Colombian Electronic Invoicing certification process without a valid certificate. The fix prevents a traceback by ensuring the system handles the case where no certificate is found, improving the user experience and preventing process interruptions.
Original PR description
When no certificate is found in the company, clicking on ``Begin Certification Process`` raises a traceback. Steps to reproduce the error: - Install ``l10n_co_dian`` module with demo data - Switch to the CO Company - Go to Invoicing > Configuration > Settings > Colombian Electronic Invoicing - Set the Testing ID for Operation mode - In Certificates, delete the existing certificate - Click on Activate the certification process > Begin Certification Process > Ok Traceback: ```py UnboundLocalError cannot access local variable 'cert_sudo' where it is not associated with a value ``` https://github.com/odoo/enterprise/blob/6294be57cf1aa577ec546a958514bc8ec6705935/l10n_co_dian/models/account_edi_xml_ubl_dian.py#L1459 The variable ``cert_sudo`` is used outside of the for loop. If no certificate is found, ``cert_sudo`` will be undefined, leading to the UnboundLocalError. sentry-7256943298 Forward-Port-Of: odoo/enterprise#107094
This update clarifies the help text within the Odoo Enterprise payroll module. A previously inaccurate statement was removed to ensure users receive correct information. This change improves the overall usability and accuracy of the payroll functionality.
Original PR description
the last sentence is not always the case so we needed to remove it. task-5423317
This update addresses a recent issue causing tour navigation failures within the Industry FSM modules. The problem stemmed from a removal of a step in a tour file, specifically impacting 'patched tours'. This fix ensures tours function correctly, improving the user experience for those utilizing Industry FSM.
Original PR description
This commit fixes the tours that were failing in `industry_fsm` and `industry_fsm_sale`. The root cause was because of the removal of some step in `industry_fsm_tour`, which is used in patched tours. task-5945991
This update fixes an error in the Spanish Profit & Loss reports where accounts 7950 and 7957 were incorrectly placed in section 10. The change aligns with official Spanish tax documentation, ensuring accurate reporting for non-SME fiscal localization packages. This ensures compliance with Spanish tax regulations.
Original PR description
In the Profit & Loss reports, accounts 7950 and 7957 were incorrectly shown in section 10 instead of section 6 These accounts appear only for non-SME fiscal localization packages According to the official Spanish tax documentation, these accounts should belong to section 6 and not section 10: https://www.boe.es/buscar/act.php?id=BOE-A-2007-19884 opw-5363664 Forward-Port-Of: odoo/enterprise#108820 Forward-Port-Of: odoo/enterprise#107949
This update fixes a minor typo in the Helpdesk result page related to date formatting. The change ensures consistent display of helpdesk items. This was necessary following a recent update to the Odoo system.
Original PR description
Before this commit and since the merge of https://github.com/odoo/odoo/pull/156878, `date_published` has been replaced by epublished_date` field but the changes have not been made in website_helpdesk_slides module. This commit replaces `date_published` occurrences by `published_date`. task-[5945377](https://www.odoo.com/odoo/project/4105/tasks/5945377) Forward-Port-Of: odoo/enterprise#108253
This update fixes a bug where scrap orders created from the shopfloor didn't trigger notifications. The change ensures that users receive a confirmation message when a scrap order is successfully registered, improving workflow visibility. This resolves an issue reported previously and ensures consistent notification behavior.
Original PR description
Issue before this commit: ========================= Creating a scrap order from the shopfloor does not show any notification after it is created, which was shown in the previous version. Steps to…
Issue before this commit: ========================= Creating a scrap order from the shopfloor does not show any notification after it is created, which was shown in the previous version. Steps to Reproduce: ========================= - Install the mrp_workorder module. - Create a Manufacturing Order for any product (e.g. [FURN_7023] Wood Panel). - Open the shopfloor view. - Click the three-dot menu to access more options. - Create and confirm a scrap order. - No acknowledgement/notification is shown to the user. Cause of the issue: ========================= The method responsible for triggering the notification was renamed in [this PR](https://github.com/odoo/enterprise/pull/85706), but the notification condition was still referring to the old method name. As a result, the notification was never triggered. With This Commit: ========================= Align the method name used in the notification condition so that, when a scrap order is created from the shopfloor, the user correctly receives the notification: `The scrap order has been successfully registered.` Community PR: https://github.com/odoo/odoo/pull/250024 Task: 5958933 Forward-Port-Of: odoo/enterprise#108259
This update resolves issues with the Belgian XBRL report, specifically correcting inaccurate translations and removing irrelevant company types. The changes enhance the report's data quality and compliance, ensuring more reliable financial reporting.
Original PR description
This commit fixes several issues in the Belgian XBRL report. - Values in report like "false" were being wrongly translated. - Not all company types are valid/relevant. Removed invalid company types. task-5907118 Forward-Port-Of: odoo/enterprise#108556
This update fixes an issue where employees without recorded leave time were not visible in the Gantt view. Now, all employees will be displayed, ensuring a more complete and accurate representation of the workforce. The change improves usability and provides a clearer picture of employee availability.
Original PR description
When going on *Time Off / Management / Time Off > Gantt view*, employees without records (i.e.: leaves) would not be shown. This PR aims to display those employees without records, even supporting any eventual will to paginate the gantt view. To ensure intuitivity, those recordless employees are shown only if the domain passed to the gantt only filters based on fields related to `employee_id`. task-5477588
This update fixes a bug in the pipeline dashboard where one of the lists wasn't correctly matching data. This ensures that all sales opportunities are accurately displayed and tracked within the dashboard, providing a more reliable view of sales performance. The change was made to improve data accuracy and reporting.
Original PR description
…oard Field matching was missing for the list #1 in the pipeline dashboard. Task: 5092979 Forward-Port-Of: odoo/enterprise#107516
This update corrects an issue where work entries weren't being generated when multiple resource calendar attendances were adjacent. The fix prevents consecutive attendances from being combined, ensuring accurate work entry creation, particularly for credit time entries. The change was driven by a bug discovered during testing and incorporates previously removed tests for comprehensive coverage.
Original PR description
When you have two resource calendar attendances that are stuck together, and you generate work entries, the second one doesn't appear: Bug is caused when having two attendances stuck together: In a resource.calendar, change the time of a resource.calendar.attendance to finish at 15.36 and create a new one that begins at 15.36 and finished at 16.36 with a work entry type of Credit time. Go and regenerate work entries and you can see that no work entries are generated for credit time. Fixed by adding keep_distinct in an interval to not fuse them together. Also added extra checks to another test to not pass with incorrect values. task-5894994 Forward-Port-Of: odoo/enterprise#109050 Forward-Port-Of: odoo/enterprise#105981
This update fixes an issue where SII invoices weren't being generated correctly, preventing successful electronic submission. The change updates XML tags related to withholding taxes to align with SII's specific invoice format requirements. This ensures invoices are properly validated and accepted by the SII system.
Original PR description
Link to SII API Documentation: https://www.sii.cl/factura_electronica/formato_dte.pdf Problem: The DTE template was using incorrect XML elements for withholdings when confirming an invoice with SII. This fix replaces: ImptRetOtrMnda -> ImpRetOtrMnda ValorImpOtrMnda -> VlrImpOtrMnda so the generated DTE matches SII specifications. OPW-5437484 Forward-Port-Of: odoo/enterprise#105152
This update fixes a technical error that prevented users from successfully using commands within Odoo's AI chat channels (like '/help'). The issue stemmed from an undefined 'message' response during command execution, now resolved through a code update. This ensures a smoother experience for users interacting with the AI features.
Original PR description
When trying to use commands (for example '/help') in 'ai_chat' channels, an error occurrs. This happens because the 'message' returned from Thread.post method is undefined in that case. Forward-Port-Of: odoo/enterprise#107655
This update resolves an issue where the PIS status field on batch payments wasn't updating correctly after a refresh. The fix ensures the correct database ID is used when fetching the status, now allowing accurate status updates for SEPA credit transfers and similar payments.
Original PR description
When clicking the refresh button next to the PIS status field on a batch payment (e.g., paid with SEPA credit transfer), the status is cleared and no new value is set. This occurs because `onClickFetchStatus` makes an ORM call to fetch the status using `this.props.record.data.id`, which is `undefined`. This commit fixes the issue by correctly using `this.props.record.resId` to pass the database ID to the RPC call. no task-id Forward-Port-Of: odoo/enterprise#108927
This update resolves a traceback issue that occurred when reloading the Studio page after opening the product catalog. The change creates a proper action, ensuring the Studio page loads correctly and prevents errors when toggling debug mode or refreshing.
Original PR description
*planning_field_service_sale_timesheet Steps to reproduce: - In Field Service, open the product catalog from a task using state button. - Open Studio - Enable/Disable debug mode or just refresh the page traceback occurs. After this commit: Created the real action so in studio refresh the action loads properly. This prevents the traceback when reloading the page or toggling debug mode. task-5478056
This update resolves a problem where tests were failing when the system used the EUR currency alongside the default USD currency. The fix ensures the USD currency is always active, making the tests more reliable and preventing unexpected errors. This improves the stability of the account invoice extraction feature.
Original PR description
When the tests are run with all modules installed and demo data, some of them fail. One of the other modules activates the EUR currency, which causes the OCR to select it instead of leaving the default USD currency. - Test `test_bank_account` fails because, when the `currency_id` field is set, it triggers a re-computation of `partner_bank_id` which will reset its value to `False`. Runbot build error [240759](https://runbot.odoo.com/odoo/runbot.build.error/240759). - Test `test_invoice_ocr_note_author` fails because it's not expected that the `currency_id` is modified and logged in the tracking message. Runbot build error [238512](https://runbot.odoo.com/odoo/runbot.build.error/238512) (only in saas-19.2 and up, but it is mentionned here as the fix is the same). To make the tests more reliable, we now ensure only the USD currency is active. Forward-Port-Of: odoo/enterprise#108991 Forward-Port-Of: odoo/enterprise#108770
This update fixes an issue where the legal name displayed in the payroll module for Chinese employees was not accurately calculated. The change ensures that the correct legal name is used, complying with local regulations and improving data accuracy for reporting and compliance purposes. This update impacts the HR Payroll module.
Original PR description
task-5979726 Forward-Port-Of: odoo/enterprise#109037
Features or functions removed from Odoo
This update removes a redundant field from the VoIP call data used in the spreadsheet dashboard. The field was added in a separate module and wasn't actually utilized, so it's been removed to streamline the data and improve efficiency. This change ensures the dashboard only displays relevant information.
Original PR description
`summary` field on `voip.call` is added in `voip_ai` which is not a dependency of `spreadsheet_dashboard_voip`. As the field is not used in the dashboard, this commit removes it. Fixes runbot #240996 Forward-Port-Of: odoo/enterprise#108120
This change removes unnecessary URLs from the JavaScript files used for onboarding tours. These URLs caused unwanted redirects, wasting user time and creating a confusing experience. The URL functionality will now be managed through XML files instead.
Original PR description
The URL key in a tour's JavaScript file implies a redirect to that URL once the browser opens. If this URL is the same as the one used in `start_tour()` (Python), then it serves no purpose. It's even detrimental because it implies a redirect (and therefore a waste of time). The URL key in the JS file is (for now) only used for onboarding tours. This key will be defined later in the .xml file for onboarding tours. That's why we're removing the URL keys from the registries here.
Code cleanup and technical improvements
This update streamlines the creation of guided tours within Odoo by removing a complex waiting mechanism. The change simplifies the tour API, making it easier for developers to create and manage tours. This improves overall system efficiency and consistency.
Original PR description
Before this commit, the `wait_for` key was used in tours to allow waiting for a promise to resolve before starting the tour. This commit removes all usages of `wait_for` in order to completely eliminate it and simplify the tour API. Since the tour engine already waits for a trigger and then executes the action for each step, the same behavior can be achieved by defining an initial step with a generic trigger (e.g., `body`) and an async `run` function that awaits the promise. This approach removes the need for a dedicated `wait_for` mechanism while keeping the same flexibility and improving API consistency.
This change prepares Odoo for the upcoming OWL3 migration by replacing an outdated reporting directive, 't-esc', with the newer 't-out'. This ensures compatibility with the new system and avoids potential issues during the migration process. The update includes automated script execution and manual adjustments across multiple Odoo modules.
Original PR description
In OWL 3 the directive `t-esc` does not exist anymore. In this PR to prepare for the OWL migration, we replace all `t-esc` directives by `t-out`. Community PR: odoo/odoo#247002
6 changes
Resolved issues and error corrections
This update fixes an error in the Spanish Profit & Loss reports where specific accounts (7950 and 7957) were incorrectly placed in the wrong section. The change aligns with official Spanish tax documentation, ensuring accurate reporting for non-SME fiscal localization packages. This ensures compliance with Spanish tax regulations.
Original PR description
In the Profit & Loss reports, accounts 7950 and 7957 were incorrectly shown in section 10 instead of section 6 These accounts appear only for non-SME fiscal localization packages According to the official Spanish tax documentation, these accounts should belong to section 6 and not section 10: https://www.boe.es/buscar/act.php?id=BOE-A-2007-19884 opw-5363664 Forward-Port-Of: odoo/enterprise#108820 Forward-Port-Of: odoo/enterprise#107949
This update fixes an issue where newly hired employees were incorrectly receiving their private email address as their work email. The change ensures that the employee's work email is properly cleared when the contract is signed, preventing data duplication and maintaining accurate employee records. This improves data consistency and reporting.
Original PR description
**Steps to Reproduce:** 1. Send an offer to an applicant. 2. The applicant submits their details via the salary configurator and enters their private email in the Email field. 3. Once the offer and contract are signed, an employee record is created in Odoo. 4. In the created employee record, the `work_email` field is populated with the email entered in the salary configurator. This same value is also present in `private_email`, which is correct. **Reason:** - The email entered in the salary configurator is stored on the partner and represents the applicant's private email. - The employee's `work_email` field is linked to the partner's email via compute and inverse methods, causing it to inherit the private email value when the employee record is created. **Solution:** - Explicitly clear the employee's work_email field when the applicant sign. task: 5502797 Forward-Port-Of: odoo/enterprise#108933 Forward-Port-Of: odoo/enterprise#106974
This update resolves a minor issue within the Urban Piper settings where the arrow button was not functioning correctly. The fix ensures that the arrow is properly embedded within a button element, allowing users to navigate to the correct settings. This improves usability and prevents a potential frustration for users.
Original PR description
In the settings, under the Urban Piper section, the arrow was not clickable. This is because the arrow was not inside a button tag. task: 5972833
This update simplifies the salary simulation process by hiding temporary offers from the user interface. These offers are automatically removed after a month by a scheduled task, so this change prevents confusion and a cleaner experience for users. It ensures the backend calculations continue to function correctly.
Original PR description
The salary simulator creates temporary offers to compute salary configurations. These offers must still exist for backend computations, as the configurator relies on them when updating results. Simulation offers are already cleaned up by a cron job after one month, so this change simply hides them from the list view to avoid user confusion. task: 5498873
This update fixes an issue with invoices generated for SII (Chile's tax authority) by ensuring the correct XML tags are used for withholding information. The change updates the DTE template to align with SII's specific formatting requirements, preventing invoice rejection. This ensures compliance with Chilean tax regulations.
Original PR description
Link to SII API Documentation: https://www.sii.cl/factura_electronica/formato_dte.pdf Problem: The DTE template was using incorrect XML elements for withholdings when confirming an invoice with SII. This fix replaces: ImptRetOtrMnda -> ImpRetOtrMnda ValorImpOtrMnda -> VlrImpOtrMnda so the generated DTE matches SII specifications. OPW-5437484 Forward-Port-Of: odoo/enterprise#105152
This update fixes a problem where archived employee appraisal dates persisted, causing conflicts when updating appraisal plans. The change ensures archived employees no longer appear in appraisal calculations, preventing date errors and improving the accuracy of appraisal settings. This ensures a smoother experience for managing appraisals across the company.
Original PR description
**Steps to reproduce:** Based on this feedback https://www.odoo.com/odoo/project.task/5270281 companies with archived employees face an issue when they try to toggle Appraisals Plans from Appraisls -> Configuration -> Settings -> Appraisals Plans **Issue:** The propblem is that when employees with next appraisal date are archived, their next appraisal date is not cleared which leads to past date conflicts upon trying to set the next appraisals dates for all the employees (which is done through toggling the Appraisals Plans checkbox) **Solution:** - Unset the next appraisal date upon archiving an employee - exclude archived employees from _compute_next_appraisal_date method Task: 5354002 Forward-Port-Of: odoo/enterprise#108990 Forward-Port-Of: odoo/enterprise#100437
4 changes
Resolved issues and error corrections
This update corrects a minor syntax error in the PWA service's CSS selector, which was preventing the application from correctly registering during installation. This resolves a potential issue that could have blocked users from installing the PWA version of Odoo. The fix targets version 18.0 and ensures a smoother PWA installation experience.
Original PR description
Description of the issue/feature this PR addresses:
Fixes a typo in the manifest selector used by the PWA service.
document.querySelector("link[rel=manifest") was missing the closing ], making the selector invalid.
Current behavior before PR:
Calling getManifest() could throw a DOMException due to an invalid CSS selector, preventing manifest retrieval and potentially breaking PWA install flow.
Desired behavior after PR is merged:
getManifest() correctly queries link[rel=manifest], retrieves the manifest URL, and keeps the existing manifest-fetch behavior intact (including test coverage already present in pwa_service.test.js).
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update fixes a technical issue that prevented users from sending follow-up reports by post when they lacked sufficient permissions to modify company settings. The fix allows for necessary changes to be made as an administrator, ensuring reliable report sending functionality. This resolves a potential disruption to the report generation process.
Original PR description
Issue: Before this commit, when sending a follow up report by post, an access error is thrown if the user doesn't have enough access to modify the res.company model Fix: modifying the external_report_layout_id as sudo opw-5482855
This pull request updates the core spreadsheet component within Odoo. It addresses several minor bugs and improves the dynamic pivot functionality, specifically aligning headers and managing overlapping data. These changes ensure a smoother and more reliable spreadsheet experience for users.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/537e8ecaf7 [REL] 18.0.58 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/537e8ecaf7 [REL] 18.0.58 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/0355117fc6 [FIX] Dynamic pivot: header alignment [Task: 5922279](https://www.odoo.com/odoo/2328/tasks/5922279) https://github.com/odoo/o-spreadsheet/commit/04c2db214f [FIX] dynamic_tables: trim overlap on the correct side [Task: 5905900](https://www.odoo.com/odoo/2328/tasks/5905900) Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com> Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>
This update fixes an issue where the 'Today' button in the Gantt view wasn't functioning correctly after navigating to yesterday. The fix ensures the Gantt view accurately returns to the current date when the 'Today' button is clicked, improving usability for scheduling and reporting.
Original PR description
**Version:** 18.0 **Steps to reproduce:** - Install Attendance modules. - Navigate to yesterday using the arrow button. - Then click on Today button. **Issue:** The view does not return to the current day when Today button is clicked. **Cause:** The condition to check this scenario fails for this case. **Fix:** Updated the condition to include the this scenario. task-5451384
3 changes
Resolved issues and error corrections
This update fixes an issue where negative values were appearing in the tax report XML for carried over tax lines. The change ensures that these lines are generated correctly without negative amounts, improving report accuracy and data consistency. This resolves a previous bug reported as opw-5955323 and opw-5428395.
Original PR description
When generating the xml for tax report, negative values should not be present in the xml for carried over lines (81, 82, 83, 86, 87, and 88) Steps: - Create a RBILL for today - 1 month, add an invoice line with tax using one of the following tags: -81, -82, -83, -86, -87 or -88 in its base refund repartition line - Open the tax report on the month of the RBILL - Generate the xml, either by the dedicated button, or by creating and posting the closing entry -> there is line(s) for negative amounts opw-5955323 opw-5428395
This update corrects a technical issue where PDF attachments were sometimes displayed with a zero size. The fix ensures the attachment size is correctly interpreted, preventing display problems. This improvement ensures PDFs are correctly rendered within Odoo.
Original PR description
Currently, the size parameter of the embedded file is defined as a NameObject. This is leading some readers to not interpreting it as an Integer value and results in a zero size for the attachment. A fix was implemented in versions 18 and above (https://github.com/odoo/odoo/pull/248769), this is a backport of it. opw-5928269 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Features or functions removed from Odoo
This update removes a now-unnecessary field ('Visible Internally Only') from the customer rating form in the Helpdesk module. Since customer ratings are no longer displayed on the website, this field was causing confusion and clutter. This change improves the user experience and simplifies the Helpdesk interface.
Original PR description
**Steps to reproduce:** - Open a Helpdesk ticket with a customer rating. - View the rating form. - Observe the field ‘Visible Internally Only’ still showing. **Issue:** - The field is displayed even though ratings are no longer shown on the website. **Reason:** - The field is now irrelevant but still present in the view. **Fix:** - Invisible the ‘Visible Internally Only’ field from the customer rating form in the affected version. **Task id - 5359052**