Daily updates from Odoo
Tuesday, June 9, 2026
18 changes
2 changes
Enhancements to existing features
This update clarifies the handling of Forward VAT (FWVAT) reverse charges in the Philippines. Previously, all DS and EM transactions shared a single reverse-charge tax, leading to complexities with Automatic Tax Collection (ATC). Now, separate taxes are created for DS and EM reverse charges, ensuring correct ATC application and improved tax compliance.
Original PR description
The 12% FWVAT DS and EM groups shared a single reverse-charge tax with no ATC. Split it into two dedicated taxes so each carries its own ATC: 12% FWVAT RC DS (WV080) and 12% FWVAT RC EM (WV100). task-6278099 Forward-Port-Of: odoo/odoo#268502
This update allows users to automatically re-authenticate via fingerprint if their device is initially blocked. This eliminates friction for users and ensures they can continue their actions without interruption. The underlying changes improve the reliability and performance of identity checks.
Original PR description
The introduction of the mechanism for blocking untrusted devices allows the user to be re-authenticated automatically (via fingerprint)[^1]. If automatic re-authentication is successful, from a UX perspective, the user does not see their action being performed. This commit introduces the ability to replay the action that was blocked with an identity check if the identity is verified. This way, the user does not experience any friction. Note: Correct linter alerts. Task-5941988 [^1]: Commit: 61f22175ef3df37087887e7419dac54a620bbd55 Forward-Port-Of: odoo/odoo#248852
2 changes
Enhancements to existing features
This update clarifies the handling of Forward VAT (FWVAT) reverse charges in the Philippines for DS and EM transactions. Previously, these groups used a single reverse-charge tax without Automatic Tax Collection (ATC). Now, separate taxes with ATC are implemented for DS and EM, ensuring accurate VAT reporting and compliance.
Original PR description
The 12% FWVAT DS and EM groups shared a single reverse-charge tax with no ATC. Split it into two dedicated taxes so each carries its own ATC: 12% FWVAT RC DS (WV080) and 12% FWVAT RC EM (WV100). task-6278099 Forward-Port-Of: odoo/odoo#268502
This update improves the Swiss payroll payslip report by incorporating the necessary source tax rate information. This ensures accurate reporting of Swiss payroll taxes, aligning with local regulations and providing more complete financial data for Swiss businesses using Odoo Enterprise.
Original PR description
This commit adds the source tax rate in the payslip report for Swiss payroll. task-4979330 Forward-Port-Of: odoo/enterprise#112842
2 changes
Enhancements to existing features
This update clarifies the handling of Forward VAT (FWVAT) reverse charges in the Philippines. Previously, all DS and EM transactions used a single reverse-charge tax without Automatic Tax Collection (ATC). Now, separate taxes are created for DS and EM reverse charges, ensuring correct ATC application and compliance with local regulations.
Original PR description
The 12% FWVAT DS and EM groups shared a single reverse-charge tax with no ATC. Split it into two dedicated taxes so each carries its own ATC: 12% FWVAT RC DS (WV080) and 12% FWVAT RC EM (WV100). task-6278099 Forward-Port-Of: odoo/odoo#268502
This update enhances the Swiss payroll payslip report by incorporating the necessary source tax rate information. This ensures accurate reporting and compliance with Swiss tax regulations for our Swiss clients, improving the reliability of payroll data.
Original PR description
This commit adds the source tax rate in the payslip report for Swiss payroll. task-4979330 Forward-Port-Of: odoo/enterprise#112842
1 change
Enhancements to existing features
This update enhances the synchronization of point-of-sale (POS) transactions with Fiskaly, the payment processing system. It separates flows for retail and restaurant orders, ensuring more accurate and timely updates by only sending relevant changes – like new quantities or payment details – instead of constant updates. This improves efficiency and reduces potential errors in payment processing.
Original PR description
In this commit: ------------------ - Maintain separate Fiskaly transaction flows for retail (short tx) and restaurant (long tx) orders as discussed with the Fiskaly team. - `Initialize order…
In this commit: ------------------ - Maintain separate Fiskaly transaction flows for retail (short tx) and restaurant (long tx) orders as discussed with the Fiskaly team. - `Initialize order transactions` with an empty payload when the `first product` is added. - Start `receipt transactions` with an empty payload when the `first payment line` is added. - For retail flows, no intermediate order updates are sent to Fiskaly before finalization. - For restaurant flows, create additional transaction updates during kitchen synchronization. Ensure already synchronized products are not resent, and only newly added or updated quantities are included in the payload. - `Finalize order and receipt transactions` with complete order lines and payment details when we validate the order. task: 6208963 Reference: <img width="1863" height="1285" alt="de_tss_flow" src="https://github.com/user-attachments/assets/9140788e-7948-4a08-9f11-27197b22ca8b" /> Forward-Port-Of: odoo/enterprise#119580 Forward-Port-Of: odoo/enterprise#117526
10 changes
Enhancements to existing features
This update simplifies the softphone's contact search by prioritizing recent contacts and providing a dedicated history view for each contact. The previous 'contacts' tab has been removed, streamlining the process to focus on searching and reviewing recent interactions, making it easier to find relevant contact information.
Original PR description
Before: - Search in "recent" tab searches recent calls. - A "contacts" tab allows to browse contacts (and search them). Now: - Search in "recent" tab searches *contacts*. This looks better as if you…
Before: - Search in "recent" tab searches recent calls. - A "contacts" tab allows to browse contacts (and search them). Now: - Search in "recent" tab searches *contacts*. This looks better as if you search "john", it is often more useful to find your multiple "john" contacts rather that a chaos list of all the calls you had with all the "john"s. - The "contacts" tab is gone (search them via keypad or recent tabs): indeed, browsing contacts is rarely useful, you'd rather search for them, which you can now do both in keypad and recent tabs. - From a "contact" entry (found with a search), a new "history" button allows to list recent calls records linked to that contact. This is mostly what you wanted while searching in the "recent" tab before: if you searched "john", you found all your "john" calls... but maybe of multiple "john"s. Now you find your multiple "john" contacts, click on the correct one, click the "history" button and find the calls you wanted to find. And more, see commits for details. task-5475573
This update improves the DEP7 export process by switching from PDF to JSON files, aligning with regulatory requirements for German tax reporting (BMF/RKSV). The new JSON format is machine-readable and uses a standardized filename structure, ensuring compatibility with official tax tools and simplifying data processing.
Original PR description
In this commit: ------------------- - Updated the DEP7 export to generate a zip with JSON files instead of PDF, in compliance with BMF (RKSV) requirements. - The export now produces a valid JSON document containing the machine-readable data expected by the official BMF tools. - The filename format has also been adjusted to follow common conventions (e.g. `Name_Duration_DEP_KassenID.json`). Task: 6071034 Forward-Port-Of: odoo/enterprise#112276
This update enhances the partner VAT listing report by grouping results first by VAT number. This change provides a clearer and more accurate view of partner VAT information, especially when multiple partners share the same VAT number, improving data visibility.
Original PR description
Add another level of grouping to the partner vat listing report to group first by vat number as there might be different partners sharing the same vat so it is more appropriate and better for visibility to have them grouped by vat. task-6133010
This update adds a worker code helper specifically for employer categories within the Odoo Enterprise system. This enhancement simplifies the process of assigning and managing worker codes, ensuring accurate reporting and compliance with Belgian tax regulations. It improves the functionality related to payroll and HR data for businesses operating in Belgium.
Original PR description
Added a worker code helper for employer categories task - 6139841
This update enables the ability to adjust past salaries through a new wizard, facilitating accurate payroll records. When a salary increase is applied, the system automatically triggers a correction process to update related payslips, ensuring data integrity. This change improves payroll accuracy and compliance.
Original PR description
[IMP] hr_payroll: allow past salary increases with correction flow Reworks the salary increase wizard to support past-dated increases. When validated payslips are affected, the wizard transitions to the payslip correction wizard. Also refactors hr.payslip.correction.wizard to support being pre-populated with payslips from the salary increase flow. Adds tests for the salary increase wizard. Task-6123622
This update aligns the subtotal fields within subscription sales orders with the existing margin layout, creating a more visually consistent and professional appearance. This change improves the overall presentation of sales order totals, enhancing the user experience for sales teams and customers. It’s a minor improvement focused on aesthetics and clarity.
Original PR description
Adapt subscription subtotal fields layout to match the margin section style and improve consistency in the sales order totals area. Community PR:https://github.com/odoo/odoo/pull/264260 Upgrade PR:https://github.com/odoo/upgrade/pull/10384 task-5887493
This update adjusts the minimum training time off threshold in the HR payroll system, effective September 1st, 2025. This change ensures compliance with updated Belgian regulations regarding training time off allowances. It also includes minor updates to time type definitions.
Original PR description
Adding a new parameter value for `rule_parameter_training_time_off_threshold` starting from September 1st, 2025. task-6230171
This update allows receptionists to quickly check out multiple visitors at once, streamlining the end-of-day process. Previously, each visitor needed to be checked out individually. The changes include a new mass checkout action and optimizations to improve performance and reduce database load.
Original PR description
Context ------- <img width="1914" height="373" alt="image" src="https://github.com/user-attachments/assets/22cb504a-8cc5-4d62-9218-d24e1bdd1f99" /> Receptionists may need to check out multiple visitors at the end of the day when some visitors are still marked as checked in. Previously, each visitor had to be checked out individually. Specification ------------- - Added a **Check Out** server action to the **Actions** dropdown in the Visitors list view. - Allows users to select multiple visitors and check them out in a single operation. Task-6236884
This update improves how commission losses are calculated for employees working on public holidays. The system now correctly determines the loss based on whether the employee joined during the current year (using daily average commissions) or during the current month (using monthly commissions divided by worked days).
Original PR description
Loss on commissions for public holiday must be handled differently when the employee arrived during the current year. If he arrived during the current year, the loss on commission must be the daily average commissions on the current year. If he arrived during the current month, the loss on commission must be this month commissions / number of worked days. task-6246944
This update simplifies the process of creating and reusing sign requests. Users can now save requests as templates, making them easily accessible and reusable. The sign request flow has also been improved with clearer navigation and added details about completion dates, enhancing efficiency and document management.
Original PR description
Before: - No direct way to convert a sign request into a reusable template from the documents list view or the open document view. - Navigator arrow disappeared when all fields were filled instead of…
Before: - No direct way to convert a sign request into a reusable template from the documents list view or the open document view. - Navigator arrow disappeared when all fields were filled instead of pointing to the "Validate & Send Completed Document" button, which was also positioned too low. - No way to see the signing completion date in the documents list view. After: - Added "Save as template" and "Send to" actions in the list view and open document view. - "Save as template" unarchives the linked template, marks it as reusable, adds it to favorites, opens the template list view and shows a confirmation toast. - Navigator arrow now points to the validate button once all required fields are completed; moved the validate button up for better visibility. - Added an optional "Completed on" column (hidden by default) showing the datetime when the signing session was completed; blank if not applicable. - Improved SignActionHelper in Templates and Documents views to better explain what each upload area is used for. Task: 6235676
1 change
Enhancements to existing features
This update includes necessary payment fields for Saltedge, enabling the processing of payments through this payment gateway. This change supports a key integration with Saltedge, improving payment processing capabilities. It's a necessary step to fulfill Saltedge payment requirements.
Original PR description
In order to be able to initiate payments using Saltedge we need to include a couple more fields in our payload. This commit adds them. Task ID: 6095729