Monday, September 15, 2025
11 changes · 18.0
Enhancements to existing features
The Argentina electronic invoicing module now includes refreshed demo and testing certificates needed to connect to ARCA's test services. This prevents certificate-expiry warnings from disrupting electronic invoicing tests and keeps the testing environment usable.
Original PR description
Homologation certificates are required to connect Odoo with ARCA's test web services. When they expire, electronic invoicing tests fail, displaying a “Digital certificate expired” warning. In this PR, I'm updating the certificates so we can continue using the testing environment for our tests. Odoo Task 1359 Adhoc Task 57144 Forward-Port-Of: odoo/enterprise#94128
Resolved issues and error corrections
Very small negative amounts that round to zero are now shown as regular zero values on printed PDFs. This prevents confusing displays like "-0.00" on business documents and keeps financial output clearer for users.
Original PR description
Previously, when an amount value that is passed to `value_to_html` is a really small negative number (e.g. -0.000000001), the rounded result will have the negative sign in front of it (e.g. "-0.00").
This commit fixes it so that they will be rendered without the negatives ("0.00").
opw-4685953Features or functions removed from Odoo
An old automated website test for link editing has been removed because it had been disabled for months and no longer matched the current editing behavior. This reduces maintenance noise and avoids misleading test failures without changing the customer-facing website features.
Original PR description
Test has been disabled in 18.0~master since March, it's even more broken in 19.0+ following #225791 (migrated to a `setSelection` with a different protocol, but the tour was not updated to the new protocol). https://runbot.odoo.com/odoo/error/116797
Argentina partner records no longer crash when an invalid VAT or identification value is entered. This makes customer and vendor data entry more reliable by safely handling bad inputs instead of interrupting the workflow.
Original PR description
Manual backport of https://github.com/odoo/odoo/commit/b01a6640895c4dd4b5bcf849740aa6b3312e9a54. This is needed to prevent crashes when trying to sanitize invalid VAT inputs for Argentina partners due to the assumption that the identification number can always be safely cast to int(). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Mexican electronic invoice PDFs now show the same customer fiscal regime as the official CFDI XML when billing a child contact under a company. This prevents mismatched tax information between the readable PDF and the legally relevant XML document, reducing confusion for customers and accounting teams.
Original PR description
In l10n_mx: - Create a child contact under a company contact. - Set the fiscal regime of the child contact to one different from the company’s fiscal regime. - Create an invoice with the child contact and send it to the CFDI. In the XML, the fiscal regime used is the company’s, whereas in the PDF it is the child contact’s. This commit applies the same logic from _add_customer_cfdi_values to the PDF generation. After this change, the fiscal regime shown in the PDF will be the company’s, consistent with the XML. opw-4989605 Forward-Port-Of: odoo/enterprise#92482
DIN5008 report layouts are updated so customer phone numbers no longer appear in the address block, and VAT details are moved out of that address section. This keeps printed business documents cleaner and better aligned with the intended DIN5008 format.
Original PR description
This commit removes the phone number from the DIN5008 report layout. The customer's VAT is also no longer displayed in the customer's address section. The VAT is moved to another section. Description of the issue/feature this PR addresses: Current behavior before PR: The customer's phone number and VAT are displayed in the customer's address in the DIN5008 report layout. Desired behavior after PR is merged: The customer's phone number is no longer displayed and VAT moved to another section in the DIN5008 report layout. opw-5049074 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226630
Event searches on the website now show consistent results whether users choose from the search dropdown or press Enter. Events that match the search term in their description will no longer disappear from the full results page, making event discovery more reliable.
Original PR description
Purpose ======= Making sure that, when typing a search term, all the results displayed in the search bar dropdown are visible on the page when clicking Enter. Specification ============= Previously, the search bar dropdown was displaying all the events where the name or description matched the search term. However, when clicking Enter, only the events where the name matched were displayed on the page (the ones where only the description matched were ignored). Fixing the issue by considering the description in the event search options. Task-5039221 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224414
This fix prevents an error screen when a bank journal is deleted while another user is reviewing duplicate bank transactions. Users can now change the starting date or open the duplicate transaction view without the process failing unexpectedly.
Original PR description
When the user tries to access duplicate transactions of bank, A traceback will appear. Steps to reproduce the error: - Install ``accountant`` module - Login as User A and User B - In User A > Go to…
When the user tries to access duplicate transactions of bank, A traceback will appear. Steps to reproduce the error: - Install ``accountant`` module - Login as User A and User B - In User A > Go to Dashboard > Bank > Actions > Find Duplicate Transactions - From User B, delete bank journal - In User A, change the ``Starting Date`` in duplicate transactions OR - Open ``account.duplicate.transaction.wizard.form`` view Traceback: ``` ValueError: Expected singleton: account.journal() ``` https://github.com/odoo/enterprise/blob/6b5702e232d21d5c197648c6600b3d38439769bc/account_online_synchronization/wizard/account_journal_duplicate_transactions.py#L36 When User deletes the bank journal and modifies the starting date of duplicate transactions, ``wizard.journal_id`` becomes False. So, it will lead to the above traceback at [1]. 1-https://github.com/odoo/enterprise/blob/9fcf35baf9215e6229b2d5dc7837925593e340e6/account_online_synchronization/models/account_journal.py#L265-L266 sentry-6134269577
Fixes an issue where using the Translate action on a message in the mobile chatter caused an error. Mobile users can now translate messages reliably, improving usability in multilingual conversations.
Original PR description
Steps to reproduce: - Open any chatter with a message on mobile - Try to translate the message using the Translate mobile action => Throws traceback This happens because the component here is `MessageActionMenuMobile` instead of `Message`, and MessageActionMenuMobile does not have the `onClickToggleTranslation` method. This PR fixes the issue. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Italian split payment taxes now show the correct label in the Taxes column on PDF documents instead of appearing as standard taxes. This helps users and customers read tax details accurately and reduces confusion in Italian accounting documents.
Original PR description
Split payment taxes were not labelled correctly in the PDF's "Taxes" column, they were labelled as standard taxes. <img width="1214" height="598" alt="image" src="https://github.com/user-attachments/assets/f1ea57bd-9a7f-460f-8c81-6a89585ba6d8" /> Forward-Port-Of: odoo/odoo#226366
Opening the duplicate transactions wizard directly no longer causes an error when no accounting journal is linked. This prevents an avoidable crash and makes the Accounting workflow more reliable for users who access views directly.
Original PR description
Currently, an error occurs when users try to open the view directly. Steps to reproduce: --- - Install `Accounting` module - Using Open View, Open `account.duplicate.transaction.wizard` view Traceback: --- `ValueError: Expected singleton: account.journal()` This error occurs because no account journal is linked to the wizard at [1], resulting in an empty `account.journal`. [1]- https://github.com/odoo/enterprise/blob/08564f3312c255f2f3ab95cef5a9bfc57727bd1f/account_online_synchronization/wizard/account_journal_duplicate_transactions.py#L32 sentry-6812500330