Thursday, August 13, 2026
4 changes · saas-19.3
Resolved issues and error corrections
Automatic account transfers now keep journal entries balanced when destination percentages are below 100%. This prevents small rounding differences, such as one-cent mismatches, from blocking or distorting transfer postings.
Original PR description
Before this commit, _get_transfer_move_lines_values computed the amount for the last destination line from the global transferred balance, instead of reusing the amount already removed from the source accounts. The two values are rounded independently and can differ by a cent whenever the removed amount comes from more than one rounded source, producing an unbalanced journal entry. Removing that condition the last destination line always absorbs the remainder fixes it. Steps to reproduce: 1. Transfer model with 2 source accounts and 1 destination line at 15%. 2. Post moves for the period: account A balance 395.88, account B balance 252.16 (total 648.04). 3. Run `action_perform_auto_transfer()`. Before: source lines -59.38 (395.88 * 15%) and -37.82 (252.16 * 15%), destination line +97.21 (648.04*15% rounded) -> entry off by 0.01. After: destination line takes the exact remainder, 97.20 -> balanced. OPW-6443928 Forward-Port-Of: odoo/enterprise#126877
Belgian payroll now automatically applies an employee's default private-use fuel card amount when creating a payslip, as long as the employee has no company car or mobility budget. This prevents the taxable benefit from being missed and keeps payslips aligned with the employee's payroll settings.
Original PR description
Steps to reproduce: - Set a "Fuel Card - Private use" default on the employee's payroll tab (fuel_card_personal_use), with no company car. - Generate/compute a monthly payslip for that employee. - The FUEL_CARD_PRIV salary rule never fires, so the private-use benefit-in-kind stays at 0 and is missing from the payslip. FUEL_CARD_PRIV is a property_input salary rule, so its amount comes from the payslip's property inputs, but nothing ever copied the employee's fuel_card_personal_use default into them. Seed FUEL_CARD_PRIV from that default in _compute_input_line_ids(), gated on fuel_card, no company car (transport_mode_car) and no mobility budget, matching this version's own benefit view visibility conditions. Added tests covering the default, each exclusion case, and manual payslip overrides. Task 6469003
The timesheet menu has been adjusted to display more cleanly on mobile devices. This makes it easier for users to enter and manage timesheets from smaller screens without dealing with a clunky layout.
Original PR description
In this commit, we improve the display of the timesheet systray in mobile view as it was clunky. task-6332208
This fixes an issue where Belgian SODA file imports could fail for users who do not have Analytic Accounting access. The import can now continue normally when Analytic Accounting is disabled, reducing unnecessary blockers in accounting workflows.
Original PR description
**Description of the issue/feature this PR addresses:** When importing a SODA XML file, users without the Analytic Accounting group encounter an access rights error. This occurs because the import…
**Description of the issue/feature this PR addresses:** When importing a SODA XML file, users without the Analytic Accounting group encounter an access rights error. This occurs because the import wizard reads the `analytic_account_id` field on the `soda.analytic.mapping` model to build an internal dictionary of departments. Because this field is restricted to the Analytic Accounting group, the evaluation of this field crashes the import for users even when the Analytic Accounting feature is disabled. This commit prevents the crash by using `.sudo()` when reading the analytic account ID. This safely bypasses the field-level group restriction, allowing the dictionary to be built with False values without interrupting the core import process. **Steps to reproduce:** - Log in as Mitchell Admin, change company to “My Belgian Company” - Settings > Users & Companies > Users > Mitchell Admin > Access Rights > Extra Rights > ensure “Analytic Accounting” is unchecked - Also ensure Mitchell Admin is not part of the “Analytic Accounting” group - Accounting Dashboard > remove “Favorites” from filter > drag & drop a SODA XML file to “Miscellaneous Operations” > save > observe Access Error **Current behavior before PR:** - Users who don't belong to the Analytic Accounting group encounter an access error when attempting to import SODA XML files, even when the Analytic Accounting feature isn't enabled **Desired behavior after PR is merged:** - Those users no longer receive an access error opw-6376039