Thursday, August 14, 2025
9 changes · saas-18.3
Enhancements to existing features
Draft invoices no longer show outstanding credit or debit messages when the related payment widget is already hidden. This keeps the invoice screen consistent and reduces confusion for users reviewing draft accounting documents.
Original PR description
Before this commit: --- Draft invoices can be reconciled with payments via the Bank Reconciliation screen, but the Outstanding Payments widget is hidden to avoid confusion. However, outstanding credits/debits messages were still displayed on draft invoices, leading to inconsistency. In this commit: --- Updated the form to hide outstanding credits/debits messages when the invoice is in draft, making the behavior consistent. Before: --- <img width="1258" height="298" alt="image" src="https://github.com/user-attachments/assets/376b3799-e721-4bd6-bf9c-cb56ca02bb5f" /> After: --- <img width="1258" height="257" alt="image" src="https://github.com/user-attachments/assets/374e33d5-c406-44c1-9309-40c124b45451" /> task-4987833 Forward-Port-Of: odoo/odoo#221680
The eInvoicing format dropdown now uses clearer, country-aware labels when customers choose an invoice format in the account settings. This helps users pick the right option more confidently, especially in localizations where previous technical names were unclear.
Original PR description
Renamed the selection labels for invoice_edi_format field to make them easier to understand based on the user's country context when choosing format inside customer's account tab. This improves the usability of the dropdown when selecting an eInvoicing format, especially for users in localizations where the technical name was unclear or confusing. 4889699 shzi Forward-Port-Of: odoo/odoo#220397
Adds automated test coverage for the HR-related point of sale flows, including cashier login, navigation, payments, cash movement, and order handling. This helps reduce regressions and improves reliability for businesses using employee-based POS operations.
Original PR description
This commit introduces HOOT test coverage for the pos_hr module: - Added tests for primary model :patched pos.order - Added tests for patched pos_store.js. - Added component tests for Navbar, CashPopup, PaymentScreen, LoginScreen task-4945630
This update adds Mexican localization support for additional 16% withholding tax scenarios with specific split distributions, along with the required accounts and fiscal positions. It also improves precision for existing 10.67% tax calculations, helping businesses apply Mexican tax rules more accurately.
Original PR description
Add few 16% taxes with special distribution (1/3 - 2/3 and 1/4 - 3/4). Also add few accounts and a new fiscal position for each new tax. Also adjust the rounding precision of 10.67% taxes. Linked:https://github.com/odoo/enterprise/pull/83582 task-4571928 Forward-Port-Of: odoo/odoo#206406
This update improves the Italian electronic invoicing setup by preventing an immediate error when users duplicate a document type. It makes the duplicate action more user-friendly while still helping avoid duplicate document codes.
Original PR description
In https://github.com/odoo/odoo/commit/3e557745f16c33ab3c1b5984d6297913a8849024, we added a contraint to avoid same code. The "issue" with that is that the Duplicate option instantly raises the constraint. It's not really user-friendly. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#222611 Forward-Port-Of: odoo/odoo#218933
The follow-up process now checks related accounting entries in a clearer and more precise way. This reduces the risk of internal query confusion and helps keep partner follow-up information reliable without changing the user experience.
Original PR description
Refactored the SQL construction for checking the existence of related account.move records for res.partner entries. The account.move query is now built separately and referenced explicitly, making the code more readable and reducing the chance of ambiguity in field resolution. Using `SQL.identifier(query.table, "id")` ensures that the correct table is referenced in each condition, which is particularly important when dealing with multiple joins or subqueries. Forward-Port-Of: odoo/enterprise#90304 Forward-Port-Of: odoo/enterprise#83770
Mexican localization now includes additional 16% withholding tax options with specific allocation splits, along with the related accounts and fiscal positions needed to apply them correctly. The update also improves rounding precision for 10.67% taxes, helping invoices and payments produce more accurate tax results.
Original PR description
Add few 16% taxes with special distribution (1/3 - 2/3 and 1/4 - 3/4). Also add few accounts and a new fiscal position for each new tax. Also adjust the rounding precision of 10.67% taxes. Linked:https://github.com/odoo/odoo/pull/206406 task-4571928 Forward-Port-Of: odoo/enterprise#83582
Opening the customer list in Point of Sale is now much faster when many customers are loaded and the current cart has many items. The system avoids repeating the same total calculation while the customer list is open, reducing wait times for cashiers during active sales.
Original PR description
Before this commit, opening the customer list in PoS could be slow when many customers were loaded (common in active PoS environments) and the current order had numerous orderlines. This performance hit was due to repeated recalculations of `get_total_with_tax`. This commit resolves the issue by storing the `get_total_with_tax` value of the current order when the customer list is opened. This value remains constant while the customer list is active, eliminating unnecessary recalculations. Performance Impact: With 500 customers loaded and 20 orderlines in the cart, opening the customer list improved from 5 seconds to 200 ms. opw-4921262 Forward-Port-Of: odoo/enterprise#91753 Forward-Port-Of: odoo/enterprise#89526
The invoicing flow now warns users when sending a Mexican electronic invoice for a customer missing required country or ZIP details while not using the public customer option. This helps prevent rejected or invalid invoices by prompting users to review customer information or intentionally override the default behavior.
Original PR description
Adding a warning and a check to account.move.send constraints for trying to send an invoice for a customer that doesn't have either country or ZIP specified, when 'CFDI to Public' is set to False (requires user action to override default behavior). task-4963869 Forward-Port-Of: odoo/enterprise#91655