Thursday, September 17, 2026
2 changes · master
Enhancements to existing features
This update makes the Ecuador localization fully functional for Odoo 14, including accounting setup, tax rules, withholding taxes, document types, and bank account support. It helps Ecuador-based businesses comply with local tax requirements and use a more complete, multi-company-ready accounting configuration.
Original PR description
Purpose ======= The purpose of this commit is to provide a fully functional Ecuadorian localization tested for incoming v14, in compliance with current coding guidelines and practices, it takes into consideration minimum ifrs compliance, new tributary resolutions (from jan-2020 and mar-2020), document types, vat taxes, withhold taxes, and other taxes (ICE, IRBPNR), compatibility with further electronic documents, and several other requirements as detailed in file __manifest__.py Here a short description showcasing this module https://www.youtube.com/watch?v=kLI5c2xORWs&feature=youtu.be Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Product variant names are now generated more efficiently by avoiding unnecessary checks across all attribute values. This can significantly speed up loading large product catalogs, especially in Point of Sale, while keeping the displayed names unchanged.
Original PR description
Issue --> `product.product's` display_name appends the variant's combination name, which `_get_combination_name` builds by dropping the values that come from single value lines. The check behind that, `_is_from_single_value_line`, only needs to know whether the line holds exactly one active value, but it filtered the line's entire set of values through `_only_active()` to find out. That check runs once per attribute value of every variant being named, so its cost follows the number of values on the template rather than the number of lines. Solution --> Stop at the second active value instead: finding two is enough to know the line is not single valued. The archived path (only_active=False) only measures the line's length and is unchanged, as is the returned name in both cases. Benchmark -> Reading display_name for the 23989 variants on the related database loads in the Point of Sale from approximately 200s to 70s. opw-6530735 Forward-Port-Of: odoo/odoo#288183