Wednesday, December 24, 2025
11 changes · saas-18.3
Enhancements to existing features
This update clarifies the 'Overdue Customer Invoices' filter within the account follow-up reporting feature. This ensures users can more accurately identify and manage overdue invoices, leading to better cash flow tracking and improved financial reporting. The change is a minor improvement to existing functionality.
Original PR description
opw-5232434 Forward-Port-Of: odoo/enterprise#100595
This update enhances the synchronization of product data within the Point of Sale module. Specifically, the system now uses unique record identifiers (UUIDs) for more accurate data mapping and includes improved category linkage in testing. This ensures data consistency and reliability for Point of Sale operations.
Original PR description
In this commit: --- - Improved `sync_from_ui` function to support record UUID-based relational mapping. - Added `pos_categ_ids` field in product data for better category linkage in tests. task-5225193 Related PR: - https://github.com/odoo/enterprise/pull/98849 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This update resolves a technical issue preventing the correct display of tracebacks when using Peppol for DK Company invoices. The outdated CNAME logic has been removed, aligning with current Peppol standards and ensuring proper functionality. This change improves the user experience for Danish customers.
Original PR description
The function `_check_document_type_support` is extended in `l10n_dk_nemhandel` (from `account_peppol`). The function causes an issue since it contains the old CNAME logic while peppol does not use it anymore; but the newer NAPTR. This commit removes the function - It does not do anything different than the version in `account_peppol` (and it would cause issues if it did) - The function is only called in `account_peppol` - The module does not depend on `account_peppol` Reproduce: - Install `l10n_dk_nemhandel`; check that `account_peppol` is installed - Select `DK Company` - Activate Peppol in test mode - Go to the `DK Company` contact (customers) - Select "By Peppol" and "EU Standard (Peppol Bis 3.0)" - Traceback should appear opw-5232123 Forward-Port-Of: odoo/odoo#241083
This update fixes an issue where the ClickEverywhere function would incorrectly test all applications after a page reload. By storing the application's XML ID, the function now accurately targets and tests only the intended application, ensuring more consistent and reliable test results. This prevents unnecessary testing time and potential errors.
Original PR description
The clickEverywhere function can be executed with one app. To accomplish this, the xmlID should be passed as a parameter to the function. Before this commit, the xmlID of the requested application was not stored in the status of the current execution saved in localStorage. If a reload occurs while the clickEverywhere function is executing, it will lose this information and continue testing all applications instead of only the requested one. runbot.build.error: 234747 Forward-Port-Of: odoo/odoo#240943
This update fixes a technical error that prevented loyalty card codes from being properly applied in the POS system. The issue stemmed from incorrect data being passed, which caused an error. The fix ensures loyalty cards are correctly recognized and applied during transactions.
Original PR description
Steps: ------------ - Install pos_sale_loyalty. - Create a loyalty program of type loyalty, available for both Sales and POS. - Create a sale order with simultaneous customer creation and confirm it. - Open POS and enter code of the loyalty card generated from the sale order. Issue: ------------ - A traceback occurs with: Error: Invalid ids list. Cause: ------------ - A list of partner IDs was passed, where a single partner ID was expected. Fix: ------------ - Extract and pass the correct partner ID instead of the full partner ID list. Task-5388341 Forward-Port-Of: odoo/odoo#239582
This update resolves a technical issue where setting zero quantities in the stock module caused unexpected behavior during quantity calculations. The fix ensures the system correctly handles this scenario, preventing potential errors and maintaining accurate stock levels. This improves the reliability of stock management processes.
Original PR description
The foward port https://github.com/odoo/odoo/pull/239918 did not correctly handle the new `skip_qty_available_update` flag when setting 0.0 quantities, causing some side effects when `_compute_quantities` is run. This commit correctly adds the flag in the needed cases. Forward-Port-Of: odoo/odoo#241000
This update enhances how Odoo retrieves the IP address of IoT Boxes. Previously, it relied on a public DNS server, which failed when the IoT Box was connected to a router without internet access. Now, it uses the gateway's IP address, ensuring functionality even in offline scenarios.
Original PR description
To get the local IP address of the IoT Box, we used to create a connection to a public DNS server and parsed the output to get the source of the request (our IP). In case the IoT Box is connected to a router, but the router isn't connected to the internet, our solution fails. We now create the connection to the gateway instead, so it can work offline. Forward-Port-Of: odoo/odoo#241051
This update corrects a technical issue where unused sign item roles were accumulating in the database, preventing them from being removed. A temporary 'dummy' sign item is now automatically created for each new role, enabling the system to properly clean up these orphaned roles and maintain database efficiency. This ensures a cleaner and more stable sign management process.
Original PR description
Fixes an issue where sign item roles were created but never deleted if they had no sign items linked to them. These orphaned roles were no longer shown in the app and remained in the database indefinitely. To address this, a dummy sign item is now created for each new sign item role. This allows the autovacuum logic to detect and automatically clean up unused roles and dummy items. Without this dummy item, it would be impossible to determine if a role is truly orphaned. task-4971485 Forward-Port-Of: odoo/enterprise#91189
A recent update introduced a bug that caused errors when changing the currency of a journal, specifically when multiple payment methods with different accounts were used. This fix ensures that currency changes are handled correctly, preventing errors and maintaining accurate payment records. The change improves the reliability of our payment processing system.
Original PR description
036530a8983e485ac1ad0b9444a6aba01caabc07 introduced a bug, because it can happen to have 2 (or more) payment method lines from the same payment method. If these PML have differents payment accounts, we get a singleton error. Steps: - On Bank journal, add a new outbound payment method line, which use the same payment method as the first default one (it should be 'Manual') - Set two different payment account for each line - Then change the currency of the journal -> Traceback (singleton error) opw-5384042 Forward-Port-Of: odoo/odoo#239521
This update resolves a recurring test failure in the MRP planning module. The test has been redesigned to manually create the leave, eliminating a specific configuration requirement that triggered the error. This ensures the test consistently runs without failure, improving overall system stability.
Original PR description
Before this commit: Introduced in https://github.com/odoo/odoo/commit/d06dcfbca96273b540c87252b9188603879ac1b4, the test was failing on runbot in some cases. The issue is deterministic, but requires a specific set of modules installed to fail. After this commit: Use a more robust approach in the test, by creating the leave manually instead of computing the number of operations needed. runbot-234638 Forward-Port-Of: odoo/odoo#239717
This update corrects a minor issue within the web_studio module, ensuring that report editors accurately reflect the current state of the report. Specifically, a previous code remnant was causing incorrect data retrieval, now resolved to improve report generation reliability. This change enhances the overall user experience for report customization.
Original PR description
Issue: getQwebVariables returns isEditingFooterHeader, but isInHeaderFooter was read from it Cause of the issue: e2eed2b71647de29905bcc1a40c3c540d2a87e47 Forward-Port-Of: odoo/enterprise#102693 Forward-Port-Of: odoo/enterprise#102543