Daily updates from Odoo
Saturday, October 18, 2025
9 changes · 19.0
Enhancements to existing features
Tax rounding has been adjusted to match updated calculation rules, helping invoices produce more accurate totals. This reduces discrepancies in Mexican electronic invoicing and related tax handling across affected localizations.
Original PR description
Forward-Port-Of: odoo/enterprise#97443 Forward-Port-Of: odoo/enterprise#96809
CODA bank statement imports now include extra point-of-sale and SEPA reference details in the payment reference when available. This helps Odoo match imported payments with open items more accurately, reducing manual reconciliation work for Belgian accounting teams.
Original PR description
When importing a coda file, we deduce the payment ref depending on what is put in the coda. In the case of pos and sepa, we could add the reference in the payment ref to ease the process of auto reconcile. task-5065438 Forward-Port-Of: odoo/enterprise#94093
Accounting users now get clearer warnings when bank statements are invalid, including dashboard alerts, reconciliation warnings, and form-level messages. The update also avoids misleading balances by excluding locked or empty statements and protects valid statement transactions from accidental deletion.
Original PR description
* accountant|bank_statement_import This commit brings more clarity on invalid statements. The reflected changes are : - Hiding Last Statement if its date is <= Lock Date - "Invalid Statement(s)" alert on the journal dashboard - Red balance amount and warning in the BankRecW when it contains invalid statements (clicking on the warning applies the filter) - Possibility to choose a statement when creating a transaction - Invalid statement warning in the statement creation form - Displays all warnings in the statement form view - When a file generate a statement, it is kept in its attachments - Prevent deletion of transactions if they belong to a valid statement - Empty statement are not taken into account for the dashboard Last Statement and the BankRecW balance task-4413473 Forward-Port-Of: odoo/enterprise#97479 Forward-Port-Of: odoo/enterprise#92078
Accounting users now get clearer warnings when bank statements may be invalid, including dashboard alerts, reconciliation warnings, and statement form messages. The change also prevents risky deletion of transactions tied to valid statements and avoids showing outdated or empty statements in key balances, helping teams trust bank data and spot issues faster.
Original PR description
This commit brings more clarity on invalid statements. The reflected changes are : - Hiding Last Statement if its date is <= Lock Date - "Invalid Statement(s)" alert on the journal dashboard - Red balance amount and warning in the BankRecW when it contains invalid statements (clicking on the warning applies the filter) - Possibility to choose a statement when creating a transaction - Invalid statement warning in the statement creation form - Displays all warnings in the statement form view - When a file generate a statement, it is kept in its attachments - Prevent deletion of transactions if they belong to a valid statement - Empty statement are not taken into account for the dashboard Last Statement and the BankRecW balance task-4413473 Forward-Port-Of: odoo/odoo#232081 Forward-Port-Of: odoo/odoo#222447
Resolved issues and error corrections
This fixes a failure scenario in the Chilean electronic invoicing email import process. If an attached tax document cannot be decoded, the system now avoids leaving the import job in a broken database state, helping scheduled email processing continue more reliably.
Original PR description
During l10n_cl_edi's fetchmail cron, if the decoding of a DTE attachment fails, `_create_records_from_attachments` rolls back the transaction, which prevents the savepoint in `_fetch_mail` from being…
During l10n_cl_edi's fetchmail cron, if the decoding of a DTE attachment fails, `_create_records_from_attachments` rolls back the transaction, which prevents the savepoint in `_fetch_mail` from being restored. Doing a commit/rollback within a `cr.savepoint()` is not correct. Since a new transaction is started, the savepoint no longer exists. Failing to restore the savepoint leaves the transaction in a broken state. Thus, we need to remove either the savepoint or the commit + rollback performed by `_create_records_from_attachments`. See https://github.com/odoo/odoo/issues/230014 We can remove the savepoint because `_extend_by_attachments` already catches exceptions which typically represent decoding errors (such as ValidationError, UserError, ValueError, psycopg2.errors.IntegrityError). These errors are recoverable from a transaction point of view; the import fraw recover from them by leaving an empty invoice with the attachment. Other errors are typically not recoverable and it does not makes sense to attempt to recover from them using a `cr.savepoint()`. opw-5147385 Forward-Port-Of: odoo/enterprise#97158
Companies based outside the EU can now save valid European VAT numbers without being blocked by validation rules for their own country. This prevents unnecessary errors for international businesses that legitimately hold EU VAT numbers.
Original PR description
****Behavior:**** **Current:** When a company is assigned a VAT number, the integrity of the VAT is checked according to the rules of the company's country except when a EU country is assigned an other EU country's VAT, then the integrity of the VAT is checked according to the other EU country's rules. **Expected:** We want to allow Foreign companies to have valid European VAT numbers. **Steps to reproduce:** - Create a new contact, select company and add any name - Select a country that is not in the EU and has implemented the VAT system (Ex: China, Australia | Some countries, like the US or some smaller countries, don't have an implementation in Odoo, or just dont use VATs, in that case they are allowed to put whatever in the VAT field) - Input a valid EU VAT number in the Tax ID field (ex: FR17698800935) - when saving, the system should raise a Validation Error. opw-5080231 Forward-Port-Of: odoo/odoo#231999 Forward-Port-Of: odoo/odoo#231177
This fixes rounding errors when taxes are included in item prices, preventing small mismatches between line totals and their tax breakdowns. It also simplifies the tax calculation logic so country-specific accounting rules, such as Portugal and Mexico localizations, are easier to maintain.
Original PR description
== Fix bug price-included == Suppose a line of 24.99 with a 20% tax price-included. base: 24.99 / 1.2 = 20.825 tax: 20.825 * 0.2 = 4.165 If we round both, we get 20.83 + 4.17 = 25.0 != 24.99 == Split and simplify round_base_line_tax_details == Easier implementation of this method to be easier to understand and easier to be customized (see PT override). Also, we now use the aggregate methods to aggregate the amounts instead of doing that by hand. opw-4505888 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232025 Forward-Port-Of: odoo/odoo#228437
Fixed an issue in Odoo Sign where dragging a non-PDF file into an empty document view could show the same warning twice. Users now receive one clear warning while existing drag-and-drop upload behavior remains unchanged.
Original PR description
Issue: - When no documents exist and a user drags/drops a non-PDF file, the warning pop-up appears twice instead of once. - This happened when there were no documents in the view (when actionhelper is visible). Root Cause: - The `useSignViewButtons` hook was used in both the main view (List/Kanban) and the SignActionHelper component. - When a file was dropped, both components received the bus event and attempted to upload the file independently. - This caused duplicate processing and duplicate warning popups. Solution: - Added condition on bus call to distinguish between components. - Modified the bus event handler to skip processing in SignActionHelper components. - This ensures only the main view component handles file uploads from drag-and-drop. Impact: - Users now see the warning pop-up only once when uploading invalid files - Maintains all existing functionality while fixing the duplicate behavior task-5103284 Forward-Port-Of: odoo/enterprise#95512
This fixes an email connection issue affecting Chilean electronic invoicing. It updates the connection naming so incoming mail processing can work correctly with the current system behavior.
Original PR description
Fetchmail for `l10n_cl_edi` is non-working due to a missing name align for IMAP connections. Name is now `_connect__` instead of `connect`. This is also required for https://github.com/odoo/enterprise/pull/97158 to work whenever is forwarded to 19.0.