Friday, December 20, 2024
7 changes · 18.0
Enhancements to existing features
Sales commission reports can now be filtered by manager, making it easier for teams to review performance and commissions for specific reporting lines. This helps managers and business users focus on the relevant people without manually sorting broader reports.
The sales commission area now handles edge cases more reliably, including preventing errors when calculations would divide by zero. The user interface was also refined, making commission reporting and plan information easier to review.
Original PR description
Fix division by 0 and some UI
Resolved issues and error corrections
This fix prevents accounting reports from crashing when users select multiple companies that use different currencies. It ensures date values are handled consistently so reports can load reliably in multi-company setups.
Original PR description
Steps: - Have 2 companies with different currencies - Select both in company selector - Go to any report - Traceback: `psycopg2.errors.UndefinedFunction: operator does not exist: text >= date` Cause: https://github.com/odoo/odoo/blob/cacf3fd9fda3624193e6668e7d3e311707db5dad/addons/account/models/res_currency.py#L211 this condition is never met because the NULL value is casted as a text, therefore we ends up trying comparing 'NULL' to '<date>'. Fix: Casting both `date_from` and `date_to` into date format opw-4367588
This fix ensures invoices using global tax rounding calculate the final total from the unrounded base amount, then derive the displayed base consistently. It prevents small one-cent discrepancies in tax summaries and invoice totals, improving accounting accuracy.
Original PR description
Setup the round globally. Suppose a tax of 23% applied on 2 lines: quantity=1, price_unit=0.5 quantity=12.12, price_unit=12.12 Current behavior: base: (12.12 * 12.12) + 0.5 = 147.3944 ≃ 147.39 tax: 147.3944 * 0.23 = 33.900712 ≃ 33.9 total: 147.39 + 33.9 = 181.29 Expected behavior: raw_base: (12.12 * 12.12) + 0.5 = 147.3944 total: 147.3944 * 1.23 = 181.295112 ≃ 181.3 tax: 147.3944 * 0.23 = 33.900712 ≃ 33.9 (same) base: 181.3 - 33.9 = 147.4 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where financial reports could crash when users selected multiple companies with different currencies. The correction ensures currency date values are handled consistently, so affected reports open reliably in multi-company setups.
Original PR description
Steps: - Have 2 companies with different currencies - Select both in company selector - Go to any report - Traceback: `psycopg2.errors.UndefinedFunction: operator does not exist: text >= date` Cause: https://github.com/odoo/odoo/blob/686d098d59a6078e264c8b2633020b23c5902702/addons/account/models/res_currency.py#L211 this condition is never met because the NULL value is casted as a text, therefore we ends up trying comparing 'NULL' to '<date>'. Fix: Casting both `date_from` and `date_to` into date format opw-4367588
This fixes Italian point-of-sale pricing so calculations consistently treat prices as tax-included where required. It helps prevent checkout totals and tax amounts from being shown or recorded incorrectly for Italian POS transactions.
Online food delivery order calculations now use Odoo's standard calculation method instead of custom manual logic. This reduces the risk of incorrect totals for UrbanPiper, Swiggy, and Zomato orders and makes future maintenance easier.
Original PR description
After this commit : ==== - Replace manual calculation with predefined method to enhance reliability and maintainability. task-4405397