Daily updates from Odoo
Friday, December 26, 2025
6 changes · master
Resolved issues and error corrections
This update corrects a previous error in the Gross Profit calculation by now including stock effects, ensuring more accurate financial reporting. Additionally, the Profit & Loss report's layout has been improved for better readability and user experience. This change enhances the reliability and usability of key financial reports.
Original PR description
Previously, the Gross Profit calculation did not include the stock effect, which resulted in incorrect values. With this PR, the Gross Profit is now computed including the stock effect, ensuring accurate results. In addition, some UI adjustments have been made to simplify and improve the readability of the report. task-5357539 opw-5163207 master PR: https://github.com/odoo/enterprise/pull/101650 Forward-Port-Of: odoo/enterprise#101649
This update fixes an issue preventing payment lines from being printed on Italian POS receipts. The problem stemmed from a configuration error that was consistently causing the system to ignore payment information. This change ensures that all payment details are accurately included on the printed receipts for Italian businesses.
Original PR description
Currently payment lines are not sent to the italian printer. Steps to reproduce: ------------------- * Install l10n_it_pos * Switch to italian company * Set up italian printer for a shop * Make an order and pay it * Print italian receipt > Observation: no matter the payment used it is not sent to the italian printer Why the fix: ------------ This condition is currently always true: https://github.com/odoo/enterprise/blob/41e9fcd162cd51f93c98a0f0f6922d5faaf8914d/l10n_it_pos/static/src/app/documents/fiscal_document/body/body.xml#L27-L29 because `this.priceIncl` is always undefined. Therefore we would never use the payment lines: https://github.com/odoo/enterprise/blob/41e9fcd162cd51f93c98a0f0f6922d5faaf8914d/l10n_it_pos/static/src/app/documents/fiscal_document/body/body.xml#L30-L36 opw-5428027 Forward-Port-Of: odoo/enterprise#102793
This update resolves an issue where the employer cost calculation was incorrect when negative wage values were entered or modified. The fix removes a restriction that forced negative wages to zero, allowing the system to properly recompute employer costs and maintain data accuracy. This ensures correct payroll calculations for employees with negative wage adjustments.
Original PR description
Issue: When entering a negative wage value and then modifying it before saving, the employer cost was not being recalculated. Additionally, when wage = 0 and the user changes it to a negative value,…
Issue:
When entering a negative wage value and then modifying it before saving, the
employer cost was not being recalculated. Additionally, when wage = 0 and the
user changes it to a negative value, a validation error is correctly raised.
However, when wage > 0 and the user edits it to a negative value, the system
does not trigger the validation error.
Cause:
A negative wage makes the wage_on_payslip compute method return 0, because
_get_wage_from_yearly_costs applies max(0, value). Once wage and
wage_on_payslip differ, the inherited logic switches the input to
display_wage_on_payslip instead of the actual wage field.
Any further edits are therefore applied only to display_wage_on_payslip while
wage remains unchanged. Since the employer cost compute method depends on wage,
it is never triggered, leaving the employer cost incorrect.
Because wage_on_payslip becomes 0 while wage is negative, the condition:
if abs(version.wage - wage) > 0.10:
evaluates to True, and the inverse method assigns:
version.wage = wage
At this point, wage becomes 0. Since the ORM constraint checks `(wage >= 0)`,
the value is considered valid, so no validation error is raised.
Solution:
Remove the max() call in _get_wage_from_yearly_costs so that negative values
are kept instead of being coerced to zero. Replace:
return max(0, remaining_for_gross / salary_costs_factor)
with:
return remaining_for_gross / salary_costs_factor
This prevents wage_on_payslip from being forced to 0, avoids the UI from
switching to display_wage_on_payslip, allows the employer cost to recompute
correctly, and ensures that when wage and wage_on_payslip do not differ,
the condition `if abs(version.wage - wage) > 0.10` does not execute
`version.wage = wage`, allowing ORM constraints to be properly enforced.
task-5383750This update ensures that the country flag is consistently displayed next to phone numbers on VoIP call activities. Previously, the flag was missing, leading to a less informative view. This improvement simplifies the TabEntry component and ensures accurate display of contact information within the VoIP softphone.
Original PR description
Improve/fix the `TabEntry` and related components, in preparation to https://github.com/odoo/enterprise/pull/102936 task-5404888
This update modifies how equity-related accounts are calculated in financial reports, specifically for Mexican reporting (l10n_mx_reports_closing). The change allows for optional inclusion of initial balances, improving reporting flexibility. Additionally, the logic for handling undistributed lines has been reorganized for easier customization.
Original PR description
Following the changes introduced in odoo#240742 and in enterprise#95062, this commit adapts the l10n_mx_reports_closing tests, as the equity_unaffected account amounts change if include_initial_balance = False. This commit also moves the domain logic for the Undistributed Line to a dedicated function, making it simpler to customize this behavior if needed. no-task Forward-Port-Of: odoo/enterprise#102906 Forward-Port-Of: odoo/enterprise#102549
This update enhances the accuracy and speed of calculating overtime hours within the attendance system. The changes address previous testing issues and optimize the generation of overtime lines, ensuring more reliable and efficient payroll processing. This improves the overall user experience for employees and managers.
Original PR description
Forward-Port-Of: odoo/enterprise#102697 Forward-Port-Of: odoo/enterprise#102125