Friday, September 18, 2026
2 changes · saas-18.4
New functionality added to Odoo
Swiss payroll now supports a net compensation option for insurance-paid daily allowances, such as sickness, accident, maternity, military service, disability, and loss of earnings. This helps employers keep an employee's net pay the same as a normal month by automatically calculating the needed compensation and applying the correct accounting setup.
Original PR description
Daily allowances paid by an insurance (sickness, accident, maternity, military service, disability, loss of earnings) are entered as third party payments: the automatic 2050 line deducts them from…
Daily allowances paid by an insurance (sickness, accident, maternity, military service, disability, loss of earnings) are entered as third party payments: the automatic 2050 line deducts them from the payslip so the employee is not paid twice, and takes them out of the insurance bases. Because that insurance money is free of social contributions, the deductions no longer match a normal month and the final net drifts away from what the employee normally receives. Some employers promise the employee the exact same net as if nothing had happened. This commit adds a "(Net compensation)" variant of each daily allowance wage type to express that promise: when one of them is used, the payslip computes wage type 4900 (Net/Gross compensation) on its own, with the amount that brings the final net back to exactly what it would be without the allowance lines. The employer takes over, or gets back, the whole difference in contributions and source tax. There is no direct formula for that amount, since the 4900 line changes its own deductions (source tax brackets, insurance ceilings, 5 cents rounding). The payslip is therefore recomputed a few times with different amounts until the net matches, each attempt running inside a database savepoint that is rolled back afterwards, so nothing of those attempts is kept. A manual 4900 input keeps priority over the automatic computation, the same way a manual 2050 input does. The new wage types get the same accounting mapping as their normal counterparts. Forward-Port-Of: odoo/enterprise#128243
Resolved issues and error corrections
This update fixes an intermittent failure in an automated website menu test. It makes the test wait properly for the extra menu button, helping keep release validation more stable without changing customer-facing website behavior.
Original PR description
**ERROR**
`FAILED: [54/122] Tour edit_menus → Step Open 'Modnar' link popup (trigger: :iframe .top_menu .nav-item a:contains('Modnar')). Element has been found.`
**CAUSE**
When clicking on the edit mode, the iframe is resized multiple times as the edit mode panel grow in size. After a certain size, there is a + button that spawns a dropdown for the menu items that couldn't be displayed because the iframe is too small. We wait 200ms for the resize to happen, and then try to click on the + button when it appears. Sometime, there is a race condition where, the resize is not done, and there is no + button to click, but just after that the resizing finishes and the "Modnar" menu option disappears into the dropdown menu.
**FIX**
Add a new option to the helper clickOnExtraMenuItem to wait for the dropdown + button to appears to click it.
runbot-939929