Saturday, January 17, 2026
2 changes · saas-18.2
Resolved issues and error corrections
This update resolves a potential error in how accounting calculations handle specific scenarios, particularly when all factors are zero. The change ensures the system continues to function correctly without generating tracebacks, improving stability and accuracy for financial transactions.
Original PR description
In 614dcf23b89 `_distribute_delta_amount_smoothly` was changed to use a half-up round rather than a ceiling, and incorporate an additional step of distributing any remaining cents. However, the step that distributes any remaining cents relies on the assumption that there are less remaining cents than the number of factors. This assumption generally holds true because most cents are already allocated in the first step which uses the `round` function; except in one edge case, which is if all factors are zero. In that case, the `_normalize_target_factors` method will return an all-zero list of normalized factors, and so no cents will be allocated in the first step. The fix is to change `_normalize_target_factors` so that in this edge case, the list of normalized factors allows most cents to get allocated in the first step. See #240136 task-none Forward-Port-Of: odoo/odoo#240616
This update removes unnecessary integer rounding from the monthly VAT reports for Italian businesses. The rounding, which was incorrectly applied due to a previous split in the reporting process, has been corrected. This ensures accurate VAT reporting for monthly financial statements.
Original PR description
Integer rounding is only required on annual l10n_it VAT reports. It appears that it was incorrectly added to the monthly report when the two were split in [#193662](https://github.com/odoo/odoo/pull/193662). [opw-5292310](https://www.odoo.com/odoo/project.task/project.task/5292310) Forward-Port-Of: odoo/enterprise#103852