Monday, February 2, 2026
12 changes · 18.0
Resolved issues and error corrections
This update resolves a warning in the Irish tax module (l10n_ie) by moving the update of the Chart of Accounts to an 'end-script'. This ensures the update runs after all Odoo modules have loaded, preventing the warning and maintaining proper system functionality. This change improves stability and avoids potential issues with module loading.
Original PR description
We faced a warning because this update doing a try_loading is called in `post-` scripts (after the module is loaded) and not in `end-` scripts (when all modules are loaded). All l10n_* modules were changed in this PR: https://github.com/odoo/odoo/pull/183359 Regarding the changes in this PR related to Registry: https://github.com/odoo/odoo/pull/186467 see: https://github.com/odoo/odoo/pull/222186 upg-3828301 **Reference Image** <img width="1769" height="39" alt="2026-01-28_18-44" src="https://github.com/user-attachments/assets/8aa5f213-b150-403b-b2a1-0bc9ed4a4ccc" /> 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
This update corrects a problem with how service products are packaged for EDI reporting in Kenya. The previous packaging type reference was incorrect and causing errors. This fix ensures service products are properly packaged according to local regulations, preventing potential reporting issues.
Original PR description
Update the xmlid for the default packaging type for service products, the previous one `l10n_ke_edi_oscu.packaging_type_ou` seems to have never existed. opw-5220129 Forward-Port-Of: odoo/enterprise#105905
This update resolves a minor rounding error (0.01 cent) that occurred when processing POS downpayments with tax. The fix ensures accurate invoice creation by adjusting how calculations are handled, specifically using higher precision and a single rounding step. This prevents potential discrepancies in financial reporting.
Original PR description
When applying a downpayment in POS with tax-included prices, a rounding error of 0.01 cent could occur, preventing invoice creation. For example, with an 8% tax and a downpayment of exactly 2,117.00:…
When applying a downpayment in POS with tax-included prices, a rounding error of 0.01 cent could occur, preventing invoice creation. For example, with an 8% tax and a downpayment of exactly 2,117.00: - Calculation: 2117 ÷ 1.08 = 1960.185 → rounds to 1960.19 - Recalculation: 1960.19 × 1.08 = 2117.005 → rounds to 2117.01 - Result: 0.01 cent discrepancy Root Cause: ----------- The issue stems from cascading rounding errors when using 'round_per_line' method with standard product price precision (typically 2 decimals). Each intermediate calculation introduces a small rounding error that accumulates. Solution: --------- Apply two specific fixes for downpayment products only: 1. Use higher precision (6 decimals) instead of standard product price precision to maintain accuracy through the calculation chain 2. Force 'round_globally' rounding method instead of 'round_per_line' to ensure rounding happens only once at the final step, not at each intermediate calculation 3. Use raw (unrounded) amounts in tax calculations to preserve full precision until final rounding opw-5040722
This update fixes an issue where the 'Send As Message' button in Knowledge Clipboards was inserting text after the user's signature in emails. The change ensures the clipboard text is inserted correctly before the signature, streamlining the email composition process for users. This improves usability and reduces manual adjustments.
Original PR description
When a user is viewing a page, clicks on the Knowledge Book icon, opens an article, and selects the "Send As Message" button in a Knowledge Clipboard block, the macro system performs several actions:…
When a user is viewing a page, clicks on the Knowledge Book icon, opens an article, and selects the "Send As Message" button in a Knowledge Clipboard block, the macro system performs several actions: it restores the initial view, opens the full mail composer, and inserts the clipboard block's text at the very end of the editor. Recent updates introduced automatic inclusion of the user's signature in the email body when the full mail composer is opened. As a result, the clipboard text is inserted after the user signature, which is undesirable because users must manually adjust the message to position the signature correctly. To insert text before the user signature but after the user text, the clipboard macro will now trigger a "click" event on the button opening the full mail composer and set on that event the text to insert. The chatter will then read that value and insert the text at the right place. Task-4428445 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a bug that occurred when users copied and then undid planning slots. Specifically, an error would appear if a copied slot was subsequently deleted. The fix ensures the system verifies a record exists before attempting to delete it, preventing the error and improving stability.
Original PR description
### Steps to reproduce: - Install Planning - Navigate to the gantt view for planning slots - Copy previous week's slots - Delete one of the newly copied records - Undo the copying action - Notice an Error is raised that a record doesn't exist ### Cause: When undoing the copy process we unlink all the newly created records but if the user has already deleted one of them it will trigger an error that this record doesn't exist and it has already been deleted ### Fix: We check the existence of the records before deleting them. opw-5490327
This update resolves a visual inconsistency where the background color of nested columns within tabs was being incorrectly overridden. The fix specifically targets a CSS rule that was too broad, now ensuring that background colors are applied correctly to the intended columns. This improves the overall appearance and usability of the tab interface.
Original PR description
Steps to reproduce: =================== 1- Drop the block tab snippet 2- Inside one of the tab panes, drop a Columns snippet. 3- Select background_color for one of the columns 4- Change tab style to…
Steps to reproduce: =================== 1- Drop the block tab snippet 2- Inside one of the tab panes, drop a Columns snippet. 3- Select background_color for one of the columns 4- Change tab style to tab -> The background color of the inner column is overridden. Cause: ====== When the "Tabs" snippet style is set, a `.card` class is added to its container (See [1]) A generic CSS rule, intended to style these tabs, was targeting any `.card` element with a `.card-body` child. (See [2]) However, the Columns snippet also uses a `.card > .card-body` structure (distinguished by a `data-vxml` attribute). This caused the overly broad tab-styling rule to incorrectly cascade and override the background color of the nested column. Solution ======== The SCSS selector has been made more specific so that works if `card-body` class doesn't have any parent class with class `card` and has attribute `data-vxml` [1]: https://github.com/odoo/odoo/blob/4cb3ffc09507fdfdb1aeabb70b2c93105f992700/addons/website/static/src/snippets/s_tabs/options.js#L149 [2]: https://github.com/odoo/odoo/blob/4cb3ffc09507fdfdb1aeabb70b2c93105f992700/addons/web/static/src/scss/bootstrap_review_frontend.scss#L55 opw-5394480 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects a technical issue identified by our code quality tools. A method was defined twice within the Odoo accounting system, which caused a potential error. This change ensures the system functions correctly and efficiently, preventing future problems.
Original PR description
This commit removes the duplicated method definition for `_get_l10n_hr_fiscal_user_id_domain()` in the account_move model. Reported by pylint 4. 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
A recent code update caused automated test builds to fail due to a logging warning. This fix addresses the issue by creating a helper method to manage test data, preventing the repeated triggering of the warning. This ensures the test environment remains stable.
Original PR description
The runbot builds are currently failing after the recent merge of commit [1] due to a triggered documents logger warning. In commit [1], `cls.attachment_txt` is created with invalid `datas` in…
The runbot builds are currently failing after the recent merge of commit [1] due to a triggered documents logger warning. In commit [1], `cls.attachment_txt` is created with invalid `datas` in `setUpClass`, which triggers an error and raises a log warning at code line [2]. We already added `mute_logger` to suppress this log, but it does not work due to caching behavior in setUpClass. The `setUp` method of the `TransactionCase` test class attempts to flush all pending data (see code reference [3]). During this flush, it recomputes the values of `cls.attachment_txt`, which triggers the same logger warning again. Since this occurs outside the mute_logger context, the log is not suppressed, resulting in the runbot failure. This commit fixes the issue by introducing a helper method to create and return `attachment_txt` for use in the test methods. [1]: https://github.com/odoo/enterprise/commit/d4ecf6c75bff3fc29a95c40f86528c6b10870e12 [2]: https://github.com/odoo/enterprise/blob/f3e2de6bae7573ad61429a55ff3769ba7fab58ea/documents/models/documents_document.py#L1355-L1356 [3]: https://github.com/odoo/odoo/blob/8e60084924d390632934b5a9bd82a6954d6484de/odoo/tests/common.py#L1038 runbot-238369
This update resolves a technical issue within the Mexican EDI module for Point of Sale. Previously, users experienced widget warnings due to missing document state components. This fix ensures proper loading of these components, eliminating the warnings and improving the user experience.
Original PR description
When using the Mexican EDI module in Point of Sale, the document state components were not being loaded properly, leading to missing widget warning. runbotID: 238038
This update resolves an issue where subscriptions with zero-quantity lines would incorrectly set the next invoice date to the subscription start date. The fix ensures accurate invoice date calculation, even when subscriptions have a mix of positive and negative quantities, preventing incorrect invoicing.
Original PR description
### Issue: When creating a subscription with several lines whose quantities add up to zero, the next invoice date is not updated and set to the start date. ### Steps to reproduce: - Install…
### Issue: When creating a subscription with several lines whose quantities add up to zero, the next invoice date is not updated and set to the start date. ### Steps to reproduce: - Install 'sale_subscription' - Create a new Subscription with two lines and a tart data several months in the past - One with a quantity of 1 and a higher price - The other with a quantity of -1 - It can be the same service product with invoicing based on ordered quantity - Confirm the Subscription - Click "Create Invoice" and confirm the invoice - Back to the Subscription, the next invoice date was not updated. ### Cause: In `_get_max_invoiced_date()` to compute the invoiced periods we check the quantity corresponding to this period. But if an invoice has two lines with opposite quantities, they will cancel each other out at this line: https://github.com/odoo/enterprise/blob/c2ac44f492ec53083864f07ff5bfbff9458ddf2a/sale_subscription/models/account_move_line.py#L131 So the method will return not return the date in `invoice_dates`. Later, if `_get_max_invoiced_date()` returns nothing for `last_invoice_end_date` then `next_invoice_date` is set to `start_date`: https://github.com/odoo/enterprise/blob/c2ac44f492ec53083864f07ff5bfbff9458ddf2a/sale_subscription/models/account_move.py#L66-L67 ### Solution: The goal was to not include invoices that were fully refunded for the `last_invoice_end_date`. This is why `_get_max_invoiced_date()` substract the quantities from refunds. To make this work we can take the absolute value of the quantity returned by the compute method before giving it the wanted sign based on if it's an invoice or a refund. opw-5360930
This update fixes an issue where a work center wouldn't be blocked after a work order was deleted, due to a lingering timer. Now, deleting a work order correctly stops the timer and prevents the work center from being blocked, ensuring accurate resource management. This resolves a potential disruption in production scheduling.
Original PR description
Steps to reproduce: - Start the timer on the work order - Delete the work order - Try to block the work center Current behavior: - The work center is not blocked because the latest mrp.workcenter.productivity is still active Expected behavior: - The work center is blocked - mrp.workcenter.productivity is stopped opw-5475227 Forward-Port-Of: odoo/odoo#245815
Features or functions removed from Odoo
This pull request removes a duplicate method that was unintentionally introduced during a recent code update. The issue was flagged by automated testing (pylint) after a build update, indicating a technical debt. This change ensures code consistency and prevents potential future problems.
Original PR description
The duplicate method was introduced in #230757, it apparently was removed while forward porting as it is missing from #241691 but nobody went back to remove it from the original, and after updating pylint on the nightly distro builds they now complain. https://runbot.odoo.com/odoo/runbot.build.error/237791