Daily updates from Odoo
Friday, August 7, 2026
4 changes
New functionality added to Odoo
Adds support for the Philippines annual 1604-C payroll tax filing, including a yearly summary and employee income detail file. This helps companies prepare required year-end tax declarations more directly in Odoo, while improving related employee data handling and test performance.
Original PR description
Implement support for the yearly 1604-C. It has two parts: - One summary sheet which recaps the monthly 1601-C declarations done during the year. - One DAT file containing the detailled income…
Implement support for the yearly 1604-C. It has two parts: - One summary sheet which recaps the monthly 1601-C declarations done during the year. - One DAT file containing the detailled income information of all employees in the company. This is similar to a list of all the forms 2316 for the company. --- As we are adding support for the 1604-C, we need even more details from the previous employment of the employees which joined during the year. As it starts to make for a lot of fields, we'll move them to a new model to avoid adding too many columns on the version/employee model. --- Currently, the computation of _compute_work_contact_details is not correct in the Philippines. The compute should set the VAT, but it is missing from the depends causing it not to work as expected. Also add a computed field to store the branch code of the employee, allowing to easily fetch it when needed in the declarations. --- Improve the performance of the declarations test by batching as much as possible during the setup of the tests. Also merge the foreign employee and high earner 2316 tests in once to reduce duplications. This reduces the time it takes to run the current test suite by around 25% (calculated on the fly based on logs, to take with a grain of salt) and simplify the individual test implementations. It will also help keep the performances in line when adding tests for 1604-C which require to create 1601-C and 2316 for the period. task-6278100
Enhancements to existing features
Users can now prepare and send signature documents from a phone using a mobile layout with easy access to fields, signers, and documents. The editor also improves drag previews, selection highlighting, and touch controls so mobile setup is more practical and reliable.
Original PR description
Preparing a document for signature on a phone was nearly impossible. The editor relies on a desktop side panel that does not fit on a small screen: the field types could not be reached or dragged…
Preparing a document for signature on a phone was nearly impossible. The editor relies on a desktop side panel that does not fit on a small screen: the field types could not be reached or dragged onto the document, and there was no usable way to manage the signers or the documents. In practice, users had to wait until they were back on a computer to prepare and send a signature request. On small screens, the side panel is now replaced by a bottom sheet with three tabs (Fields, Signers, Documents). Fields are dragged from the sheet onto the document — the sheet steps aside during the drag — and signers and documents are managed like on desktop. The sheet resizes to a few useful heights and moves up while typing so the keyboard does not hide what is being edited. The layout is selected on env.isSmall, which swaps the sidebar for a new SignTemplateMobileShell while the SignTemplate root and its state stay shared. The shell is a bottom sheet that snaps between three heights (peek, half, full) via a handle drag with flick-velocity detection, and collapses on Escape or the hardware back button; while an input is focused it expands and pads its content by the keyboard overlap derived from the visual viewport. The Signers and Documents tabs extend the desktop sidebar components, inheriting their behavior and overriding only the template. task-5149968
Adds payroll withholding support for Michigan, Missouri, Kentucky, Utah, South Carolina, and Kansas. This improves payroll accuracy and compliance for employers operating in these states, including local city and county taxes where applicable.
Original PR description
Add state income tax withholding for Michigan, Missouri, Kentucky, Utah, South Carolina and Kansas. Michigan and Kentucky are flat rate states with a personal exemption or standard deduction.…
Add state income tax withholding for Michigan, Missouri, Kentucky, Utah, South Carolina and Kansas. Michigan and Kentucky are flat rate states with a personal exemption or standard deduction. Michigan also taxes residents and nonresidents of its 24 cities that have their own income tax. The rate depends on whether the employee lives or works there. Kentucky also has a county occupational tax. 87 of its 120 counties charge one, so we have to support it. We opted to create a new model l10n_us.res.county and add a m2o on res.city. It will be useful for tax reports down the line. Missouri and South Carolina use progressive brackets. Missouri also withholds a flat 1% earnings tax for employees who live or work in St. Louis or Kansas City. Utah uses a flat rate reduced by an allowance. That allowance gets smaller as wages go above a threshold, instead of a fixed exemption like other states. Kansas' brackets and allowances depend on both pay frequency and filing status. Married filing jointly uses different numbers, but single, head of household, and married filing separately all use the same ones. task-6270166
Belgian payroll now centralizes holiday attestation details for new hires and automatically calculates paid time off allocations and recoverable holiday pay amounts. This reduces manual work and errors when employees move between employers with different working schedules or rates.
Original PR description
[IMP] l10n_be_hr_payroll: Holiday attestations rework Encoding the holiday pay attested by a new hire's previous employer was split across separate simple/double N and N-1 fields on hr.employee and…
[IMP] l10n_be_hr_payroll: Holiday attestations rework Encoding the holiday pay attested by a new hire's previous employer was split across separate simple/double N and N-1 fields on hr.employee and an ad-hoc l10n.be.double.pay.recovery.line model, and the amount to recover and number of days to allocate had to be computed by hand from the certificate, which is complex and error-prone whenever the employee's work rate changes. This commit merges simple and double holiday pay encoding into a single l10n.be.holiday.attest model on the payroll tab, and compute automatically, from the certificate (previous year: days assimilated, working regime, work fraction) and the current contract (current regime and fraction): - the number of paid time off days to allocate (LEAVE120 allocation and a dedicated unpaid work entry type/leave type), - the maximum amount to recover, prorated against the employee's work rate so that a change of regime between the two employers no longer requires a manual computation. task-5928591