Daily updates from Odoo
Friday, February 6, 2026
10 changes · saas-18.4
Resolved issues and error corrections
This update resolves an issue where Odoo incorrectly reconciled bank transactions when credit notes were involved. Now, when a credit note is applied to an invoice and the bank transaction is marked 'fully paid,' the system accurately reflects the remaining balance owed. This ensures accurate bank reconciliation reports.
Original PR description
1. Create an invoice for $1,000 2. Create a credit note of $200 and apply it to the invoice. The invoice is marked 'partially paid.' The remaining due is $800. 3. Create a bank transaction of $700, reconcile with the invoice. 4. Edit the counterpart line, and click "fully paid". >>> Odoo does not consider the credit note and uses the full amount of $1,000 instead of the remaining due of $800 to reconcile. With the refactor of the bank rec, the way the amount is show is computed from econciled_lines_excluding_exchange_diff_ids in apply_amount.js which only takes into account the direct invoice and not the credit notes (in _compute_reconciled_lines_excluding_exchange_diff_ids it take the matched debit and matched credit so only the partial between the transaction and the move) opw-5485663 Forward-Port-Of: odoo/enterprise#105197
This update fixes an issue in the French P&L report where accounts 65 were incorrectly categorized. The accounts have been moved to the 'Other Expenses' line, ensuring accurate financial reporting and alignment with French accounting standards. This improves the clarity and reliability of financial data for French users.
Original PR description
On the french P&L, accounts 65 are refferenced in the line 'Other purchases and external charges' but this is not where those accounts need to be, they need to be part of the line 'Other Expenses' task-5446018 Forward-Port-Of: odoo/enterprise#106465 Forward-Port-Of: odoo/enterprise#103357
This update resolves an issue where folded (closed) tickets were incorrectly showing in the Odoo Mail Plugin for contacts. The fix adjusts the search criteria to exclude folded tickets, ensuring users only see active, open tickets. This improves the accuracy and usability of the plugin.
Original PR description
**Steps to reproduce:** - Install Mail_plugin - Setup the outlook mail plugin in Outlook - Once connected, click on a mail from a contact on the database - Click on the Odoo Inbox Addin. action - Under the contact 5 related tickets are showed - Create 5 tickets with priority and put them in folded stage (closed) - Create new normal tickets - User can't see new tickets in the plugin **Issue:** The search is done on priority and then id ordering, this means that tickets in folded stages (closed) which have a high priority are always showed first. Tickets in a folded stage are considered as closed, so they should not appear anymore in the contact data to avoid displaying them indefintely. **Fix:** Adapted search domain and removed fold attribute in the answer. opw-5075477 Forward-Port-Of: odoo/enterprise#100883
This update fixes a translation error in the Odoo Enterprise system related to Argentine electronic invoices (ARCA). The error message was previously incorrect, leading to confusion for users. Now, the message accurately states that an invoice date before the last validated invoice will trigger an error, ensuring proper compliance with AFIP regulations.
Original PR description
WSFE error 10016-1 must be "The invoice date cannot be before the last invoice validated in AFIP." instead of "The invoice date cannot be after the last invoice validated in AFIP". Steps to reproduce: validate argentinean customer electronic invoice with invoice date before than the last invoice date validated in ARCA. Task Adhoc side: 44290 Task latam: 1376 Forward-Port-Of: odoo/enterprise#106305
This update resolves an issue related to the transmission of coordination deductions for Swiss payroll (l10n_ch_hr_payroll_elm_transmission_5_3). The fix ensures accurate calculation and reporting of these deductions, improving compliance with Swiss tax regulations. This impacts payroll processing for users in Switzerland.
Original PR description
Forward-Port-Of: odoo/enterprise#106615
This update corrects a technical issue where the user ID was missing during payment processing for the pos_iot_six module. The fix restores functionality previously broken by a recent update, ensuring accurate payment tracking and preventing potential errors. This resolves a minor disruption to the payment process.
Original PR description
This PR reinstates https://github.com/odoo/enterprise/pull/98021 broken by https://github.com/odoo/enterprise/pull/98203 This fixes user id being undefined for pos_iot_six payments
This update resolves a technical error that prevented correct display names from being set for spreadsheet cell threads. The change ensures that only one display name is retrieved, preventing a system crash and improving spreadsheet functionality. This update is a critical fix for ensuring data accuracy within the enterprise version.
Original PR description
**Before this change** We were trying to set the `display_name` of one spreadsheet cell thread record to a set of more than one `display_name`s coming from a set of potentially multiple spreadsheets. **After this change** We use `record` instead of `self` when calling `_get_spreadsheet_record` so that it can only return a set of 1 `display_name`, preventing the crash that occurs when trying to set that field value. opw-5380947 Forward-Port-Of: odoo/enterprise#106593 Forward-Port-Of: odoo/enterprise#106230
This update resolves an error that prevented users from generating the required IRAS Audit File for Singapore companies. The fix corrects a coding issue that caused a 'TypeError' during file generation, ensuring accurate reporting for Singapore businesses. This ensures compliance and accurate financial reporting.
Original PR description
Currently, an error occurs when generating the `IRAS Audit File` for a `Singapore` company **Steps to reproduce:** - Install the `l10n_sg_reports` and `accountant` modules (without demo data). -…
Currently, an error occurs when generating the `IRAS Audit File` for a `Singapore` company **Steps to reproduce:** - Install the `l10n_sg_reports` and `accountant` modules (without demo data). - Create a new company with Singapore as the `country` and set `UEN` and `GST No.`, then switch to this company. - Navigate to Accounting > Reporting > Singapore > IRAS Audit File. - Fill in the required details and click `Generate`. **Error:** `TypeError: 'account.account' object is not callable` **Root cause:** After the refactoring in PR [1], the code at [2] mistakenly calls `browse()` without arguments and then attempts to call the returned recordset with `line_account_ids`. Since `browse()` already returns a recordset, this results in calling an `account.account` recordset as a `function`, causing an `error`. **Fix:** This commit prevents an error during IRAS Audit File generation by correcting the `browse()` call to pass `line_account_ids` directly as its argument. [1]: https://github.com/odoo/enterprise/pull/72675 [2]: https://github.com/odoo/enterprise/blob/444f120fbd4e7158b83c609ededf1b2598fc990f/l10n_sg_reports/models/iras_audit_file.py#L210 opw-5877947
This update resolves an issue that caused errors when importing bank transaction files with more than 80 lines. The fix prevents unnecessary database commits during the import process, ensuring stability and reliable operation for users importing large transaction sets. This improves the overall reliability of the bank statement import feature.
Original PR description
*= account_bank_statement_import_csv An exception is currently triggered when a user attempts to import a bank transaction file containing more than 80 transaction lines (see ref file [1]). Steps to…
*= account_bank_statement_import_csv An exception is currently triggered when a user attempts to import a bank transaction file containing more than 80 transaction lines (see ref file [1]). Steps to produce an error: - Install `Accounting (accountant)` module - Go to `Accounting` > Click on `Bank` > Click `Upload` - Upload ref file [1] and click `Test/Import` >>> Error occurs Error: `psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update` Error from 19.0: `InvalidSavepointSpecification : savepoint "ef05b579-df3f -11f0-bc75-74563c5c983f" does not exist` The issue occurs because, in `model.py` code line [2] creates a `savepoint`. Before this `savepoint` is closed, code line [3] is triggered during the creation of the bank statement line [4] and attempts to commit the cursor using `self.env.cr.commit()`. Because a commit is executed while the savepoint is still active, the system fails when trying to close the previously created savepoint. This commit fixes the issue by avoiding cursor commits during the import process. The `import_file=True` flag is added to the context when `_cron_try_auto_reconcile_statement_lines` is called from `execute_import`, allowing the method to safely skip commit/rollback logic when `import_file` is present in the context. [1]: https://docs.google.com/spreadsheets/d/19hKnR8pGB27xkbEHgYYXIkBaPXV8RZZE/edit?usp=sharing&ouid=111844484867458262929&rtpof=true&sd=true [2]: https://github.com/odoo/odoo/blob/11c469086cb4d08453a70cd7bd30d7391f635ae3/odoo/orm/models.py#L971-L973 [3]: https://github.com/odoo/enterprise/blob/2683b77cd6688877c308d0733bccfc5ad84530c1/account_accountant/models/account_bank_statement.py#L218 [4]: https://github.com/odoo/enterprise/blob/2683b77cd6688877c308d0733bccfc5ad84530c1/account_accountant/models/account_bank_statement.py#L1780 sentry-6974536471 opw-5359810 Forward-Port-Of: odoo/enterprise#102760
This update resolves a technical issue that caused a SQL error when creating invoices with non-deductible tax values in Studio. The fix ensures the system handles unsaved invoice lines correctly, preventing the error and improving data integrity. This impacts users creating invoices through the Studio interface.
Original PR description
**Steps to reproduce:** * Install **account_asset** and **l10n_be**. * Enable **developer mode**. * Using **Studio**, add the field **non_deductible_tax_value** to invoice lines. * Create a new invoice. * Select a partner and add a product with **21% VAT** applied. * Do not save the invoice before adding the line. **Observed behavior:** * A **SQL syntax error** occurs: `WHERE tdq.base_line_id IN ()`. * The error is triggered when accessing the non-deductible tax value on unsaved records. **Cause:** * `_compute_non_deductible_tax_value()` executes SQL query with `tuple(self.ids)`. * For unsaved records, `self.ids` is empty, creating invalid SQL `IN ()` syntax. * This path is only reached for **non-deductible taxes**. **Fix:** * Skip the SQL query when no record IDs are available. * Return a default value for unsaved records. opw-5896716 Forward-Port-Of: odoo/enterprise#106655 Forward-Port-Of: odoo/enterprise#106470