Thursday, July 16, 2026
3 changes · 18.0
Enhancements to existing features
This commit implements a way for user to manually set a default value for the `invoice_cash_rounding_id` field in moves, and apply by default a standard `account.cash.rounding` record based on the found `ir.default` record or the ISO-4217 standard for every available currency. It adds 5 new `account.cash.rounding` record included on the data of the `account` module. They're set with the 'biggest_tax' strategy so that the user doesn't need to add required account data on the fields. We
Original PR description
This commit implements a way for user to manually set a default value for the `invoice_cash_rounding_id` field in moves, and apply by default a standard `account.cash.rounding` record based on the…
This commit implements a way for user to manually set a default value for the `invoice_cash_rounding_id` field in moves, and apply by default a standard `account.cash.rounding` record based on the found `ir.default` record or the ISO-4217 standard for every available currency. It adds 5 new `account.cash.rounding` record included on the data of the `account` module. They're set with the 'biggest_tax' strategy so that the user doesn't need to add required account data on the fields. We use the `ir.default` object to store the "preferred" default value of the move rounding field. The rounding field will also be computed to make sure it gets filled with the default value. An override on `default_get` is needed so that the default `ir.default` behavior does not interferre with the compute and making sure the rounding field gets computed correctly. To set a preferred `ir.default` on the cash rounding field, the user must create a new record on "User-Defined Defaults" menu, select the cash rounding, fill the JSON value with the rounding record ID, and fill either the company field and/or the condition string with "currency=<currency_name>" (e.g. "currency=USD"). When searching through the `ir.default` records to apply, the code will by priority search through the record sorted by: - company and currency condition filled - currency condition filled - company filled By default, 3 `ir.default` record are created when installing `account` module as an exception to the ISO-4217 standard in Odoo for the currency of IDR, INR, and CHF. An options for digits is added on the rounding field in the `account.cash.rounding` list and form view, to make sure the additional decimal points are shown (it's set to hide anything smaller than 2 digits behind the decimal separator) In master (18.1), an additional preferred default value for the rounding field will be saved on the partner of the move, and will be made a priority over all current `ir.default` for this rounding field. task-id: 4338116
Before this commit, when an authentication process was ongoing it was not very clear to the user This commit adds a banner to warn the user to not cancel the ongoing process or it will be aborted. task-6372665
Original PR description
Before this commit, when an authentication process was ongoing it was not very clear to the user This commit adds a banner to warn the user to not cancel the ongoing process or it will be aborted. task-6372665
Test lints should be deterministic so retrying them doesn't make sense. While lints are not the slowest, pylint can take 10~15mn in later branches, and with retrying that's half an hour (and some) to get a failure, which is all that in wasted staging and build time. Forward-Port-Of: odoo/odoo#276600
Original PR description
Test lints should be deterministic so retrying them doesn't make sense. While lints are not the slowest, pylint can take 10~15mn in later branches, and with retrying that's half an hour (and some) to get a failure, which is all that in wasted staging and build time. Forward-Port-Of: odoo/odoo#276600