Saturday, January 24, 2026
19 changes · saas-19.1
Enhancements to existing features
This update enhances the testing process for paying invoices with bank statement lines within the Odoo accounting module. The change introduces a reusable test helper, streamlining testing and improving the reliability of invoice payment scenarios. This ensures accurate and consistent invoice payment processing.
Original PR description
Forward-Port-Of: odoo/odoo#244377 Forward-Port-Of: odoo/odoo#244281
Resolved issues and error corrections
This update corrects a bug that prevented users from adding inputs to payslips. The fix ensures that the correct salary input domains are applied across all relevant models, allowing for accurate payslip creation. This resolves an issue where only employee-specific salary inputs were displayed.
Original PR description
When trying to add Inputs for a payslips none appear as the domain was incorrect and only showed salary inputs for use in the employee. This is fixed in this commit by adding to the domain en each specific model. task-5486091 Forward-Port-Of: odoo/enterprise#103986
This update addresses a technical adjustment to the checksum within the l10n_eu_iot_scale_cert module. This change was necessary due to a recent code update to resolve a bug. Updating the checksum ensures the integrity of the module's data and maintains system stability.
Original PR description
Checksum needs to be updated as the code of the scale changed for a bugfix Cummunity PR: https://github.com/odoo/odoo/pull/245048
This update corrects a technical issue within the l10n_tr_nilvera_einvoice module. The previous method calls ('get_param' and 'set_param') were removed, and this change ensures they are replaced with the correct, specific types as defined in the Odoo codebase. This ensures the module functions correctly and avoids potential errors.
Original PR description
The methods don't exist anymore. They should be replaced by the specific types. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a visual issue in the VoIP demo mode, ensuring a helpful tooltip is displayed when hovering over the 'Demo Mode' indicator. Previously, the tooltip wasn't correctly shown, causing confusion for users. This change clarifies the demo mode functionality and improves the user experience.
Original PR description
## Context There are two modes in VoIP: _Production Mode_ and _Demo Mode_. Demo Mode enables you to simulate a call in the UI without actually calling someone. This is useful for showing customers…
## Context There are two modes in VoIP: _Production Mode_ and _Demo Mode_. Demo Mode enables you to simulate a call in the UI without actually calling someone. This is useful for showing customers the features and for developers to test the UI 💡 Though useful, this feature can be confusing. Users may not realize they aren't in Production Mode, and developers may forget to switch back to Demo Mode when testing the UI. 535a7aef3e410d997baa093cc111527814c29253 improved the situation by displaying "Demo Mode" in the Softphone header when Demo Mode is enabled. It was intended to include a tooltip explaining how to configure Production Mode when hovering over it. However, although the tooltip text is present in the code, it was not correctly mapped to the "demo indicator" ¯\\\_(ツ)\_/¯ ## In this PR After this commit, - the tooltip text is correctly provided to the "demo indicator", enabling it to be displayed on hover; - the tooltip text is slightly reworded in the hope of making it clearer. [Task-5804537](https://www.odoo.com/odoo/project/5778/tasks/5804537) Fix https://github.com/odoo/enterprise/pull/95742
This update fixes an issue where VAT import taxes were incorrectly mapping to accounts in the Odoo system. The change in a key account number required updating the default account used for taxes like purchase import VAT. This ensures accurate journal entries and proper financial reporting for VAT transactions.
Original PR description
Due to the change of account 33312 from liability to payable, the journal entries generated when creating bills with VAT import taxes were incorrect. This fix updates the default account on the following taxes: - tax_purchase_import_10 - tax_purchase_import_8 - tax_purchase_import_5 task-5695253 Forward-Port-Of: odoo/odoo#245082 Forward-Port-Of: odoo/odoo#244434
This update resolves a potential infinite loop issue that could occur when generating product attribute combinations, specifically with multi-checkbox attributes. The fix prevents redundant calculations by excluding lines with no values, ensuring stable and reliable product configuration.
Original PR description
Before this commit, having a `product.template.attribute.line` with zero `product.template.attribute.value` records might cause an infinite loop if this **multi-checkbox** attribute wasn't in the end…
Before this commit, having a `product.template.attribute.line` with zero `product.template.attribute.value` records might cause an infinite loop if this **multi-checkbox** attribute wasn't in the end of the list.
Suppose the order was arbitrary and we are generating combinations for two lines (the order here is important):
- Line (A) -> [] (multi checkbox type)
- Line (B) -> [attr_1, attr_2]
- The possible combinations are {(attr_1), (attr_2)}.
After generating the second combination the following 2 procedures happen.
- The value_index_per_line[1] will be resetted to -1,
- The line_index will decrement from 1 to 0.
Now, since the first line doesn't have any values, it will be skipped and the line_index will be incremented to 1.
This results in the redundant generation of the same combination, triggering an infinite loop.
Since this method yields a recordset of `product.template.attribute.value` model and the **multi-checkbox** attribute doesn't have a value being passed to the method anyways, we can exclude the lines that doesn't have values for the algorthim not to be stuck in an infinite loop.
opw-5267179
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#241557This update corrects a technical issue preventing invoices (specifically credit notes) from being properly validated for export to the Danish tax system (Nemhandel). The previous system incorrectly assumed the 'PrepaidAmount' field was always empty, leading to validation failures. Now, the system only removes this field when its value is actually zero, ensuring accurate invoice export.
Original PR description
To reproduce: create an invoice that is reconciled (typically a credit note) before Send&Print. Check the validity of the xml with a schematron => it fails due to the value of the PrepaidAmount The node PrepaidAmount gets removed because it was wrongly thought to be always empty. We now only remove it if the value is at 0. 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#242497 Forward-Port-Of: odoo/odoo#242008
This update corrects a display issue where the inventory count badge in the Barcode app incorrectly showed a request count for one company even when no count existed for another. The fix ensures the badge accurately reflects the current inventory count for the company the user is currently operating within, improving data accuracy and reporting.
Original PR description
Steps to reproduce: - Create two companies (A and B) - Create a storable product "P1" - Log in with company A - Update the on-hand quantity of P1 in company A only - From Physical Inventory, request an inventory count for P1 - Switch to company B - Open the Barcode application Problem: The inventory count badge in the Barcode main menu displays a request count created for company A, even though no inventory count exists for company B. The badge incorrectly shows "1" instead of "0". opw-[5472031](https://www.odoo.com/web#id=5472031&view_type=form&model=project.task) Forward-Port-Of: odoo/enterprise#104065
This update resolves a technical issue preventing grouping within the planning module's slot templates. The fix ensures parameters are passed to the correct order during data processing, enabling proper grouping functionality. This improves the reliability and usability of the planning feature.
Original PR description
Before this commit, it was impossible to group by on any field in `planning.slot.template` model, because the parameters given to the parent method of `formatted_read_group` method were not given into the right order. This commit makes sure the order is respected. Forward-Port-Of: odoo/enterprise#105211
This update removes the Sign menu item from Odoo's Discuss channels. Previously, this menu was incorrectly displayed, which was confusing for users. This change ensures Discuss channels function as intended, focusing on mail threads instead of offering the Sign feature.
Original PR description
Currently, the Sign menu item is displayed in discuss channels, which is not making sense. This was due to an incomplete check in the isDisplayed method of the SignRequestCogMenu component. To fix this, we enhance the condition to ensure that the menu item is not displayed when the current model is 'discuss.channel'. Discuss channels inherently support mail threads, but should not have the Sign menu item. task-5494751 Forward-Port-Of: odoo/enterprise#105201
This update resolves an issue where the l10n_cl_edi module was incorrectly creating duplicate vendor bills when receiving identical XML invoices via the incoming mail server. The fix prevents these duplicates from being generated, ensuring accurate billing records and avoiding potential accounting errors. This was triggered by a configuration setting within the Vendor Bills journal.
Original PR description
Steps to reproduce: - With a CL Company setup - Configure an incoming mail server with DTE server option enabled - In Vendor Bills journal, enable 'Use Documents?' - Receive the same XML twice via the incoming mail server - Check created vendor bills Issue: There will be duplicated bills. Each duplicate will show the message 'E-invoice already exist: nnnnn' However, the system should avoid duplicates from being created. opw-5362664 opw-5409700 Forward-Port-Of: odoo/enterprise#103211
This update fixes a potential issue in the Swiss payroll reporting process. Previously, a snapshot was always created, even if one already existed, leading to unnecessary data duplication. This change ensures snapshots are only created when needed, improving efficiency and accuracy of reporting.
Original PR description
Forward-Port-Of: odoo/enterprise#105258 Forward-Port-Of: odoo/enterprise#105135
This update resolves a problem where a test tour incorrectly failed when using the US tax report. The fix ensures the tour doesn't rely on outdated date assumptions and handles different localization configurations correctly, particularly when the 'Tax Report' localization isn't installed. This ensures consistent test results across various Odoo environments.
Original PR description
- The tour shouldn't run if a localization with 'Tax Report' for the country is not installed (i.e. l10n_us_account) - Dynamic Javascript dates calculation don't mix well with Python's freeze_time running in the "No future" 2026 preparation build, so I froze the time in the Python test but resorted to hardcode the Javascript dates. - No need to check the position of the column "Column 1". In debug mode for the tour, there will be the "Debug" column where the info about the computations are shown, so it won't be the last. We just need to see that it shows, after all. Runbot error [link](https://runbot.odoo.com/odoo/error/234624) runbot-234624 Forward-Port-Of: odoo/enterprise#101689
This update resolves an issue where the 'Pending' button in manufacturing orders incorrectly stopped productivity records for all employees involved, instead of just the current one. The fix ensures that only the productivity record associated with the currently logged-in employee is stopped when the 'Pending' button is clicked, improving order management accuracy.
Original PR description
Steps to reproduce the bug:
- Create a storable product P1 with the following BoM:
- Create a new operation OP1
- Create a manufacturing order to produce one unit of P1
- Confirm the manufacturing order
- Log in as Mitchel (admin) and start OP1
- Log in as Marc (demo) and also start OP1
- Click on Pending
Problem:
Both “mrp.workcenter.productivity” records are stopped, instead of stopping only the one linked to
The `button_pending` method was stopping productivity records for all employees linked to the work order.
opw-5453752
Forward-Port-Of: odoo/enterprise#105238
Forward-Port-Of: odoo/enterprise#103553This update allows users to modify fields within the 'stock.quant' view through Odoo's Studio interface, even if those fields weren't initially configured with an XML ID. Previously, this wasn't possible, but now Studio-generated or customized fields are correctly recognized and permitted.
Original PR description
In versions prior to 18.3, the “stock.quant” view did not have an “xml_id”, which prevented it from being modified through Studio. However, starting from version 18.3 and specifically since this commit: https://github.com/odoo/enterprise/commit/f4a4d54d45392c2ba46a123d4951f8b4468c5cba it is now possible to modify views through Studio even if they don't have an xml_id. But in the 'stock.quant' view, we perform a check at creation time to ensure that the field is among the allowed fields. Fields coming from Studio or from a customized view should, however, be ignored by this check and allowed. opw-5107591 Forward-Port-Of: odoo/odoo#230126
This update removes a restriction that previously limited the use of journal accounts for reconciliation. Previously, certain accounts couldn't be used as default debit or credit accounts within journals. This change provides greater flexibility for users to manage their accounting data, simplifying reconciliation processes.
Original PR description
Previously, a constraint prevented accounts from being non-reconcilable if they were used as default debit/credit accounts involved in journals. This behavior is too restrictive. This commit removes the constraint. task-5254202 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#245508 Forward-Port-Of: odoo/odoo#244398
This update resolves a customer complaint regarding test data containing the name "Deco Addict". The system has been updated to consistently use "Acme Corporation" in demo and test environments, preventing user confusion. This ensures a cleaner and more accurate demonstration of our software.
Original PR description
A company that happens to be named "Deco Addict" has complained some of our users thought they had business with them due to test and demo data containing that name. It will now be named Acme Corporation. task-5865502 Forward-Port-Of: odoo/odoo#245658 Forward-Port-Of: odoo/odoo#245205
This update resolves a customer complaint regarding test data. The name "Deco Addict" has been replaced with "Acme Corporation" in demo and test environments to ensure accurate representation and avoid confusion for users. This change improves the user experience and data integrity.
Original PR description
A company that happens to be named "Deco Addict" has complained some of our users thought they had business with them due to test and demo data containing that name. It will now be named Acme Corporation. task-5865502 Forward-Port-Of: odoo/enterprise#105446 Forward-Port-Of: odoo/enterprise#105151