Daily updates from Odoo
Thursday, April 24, 2025
15 changes · master
New functionality added to Odoo
The update adds a guided submission wizard for EU OSS sales returns, making it easier for businesses to prepare and submit these tax returns. It also improves wording and adds a helpful link in the Belgian VAT return submission flow, reducing confusion for users.
Original PR description
[IMP] l10n_be_reports: VAT return: better phrasing + link in submission wizard [IMP] l10n_eu_oss_reports: add submission wizard for OSS return For now, only OSS Sales are supported through a return. OSS Imports will also be in the future.
A new Annual Statements report is available, combining the Balance Sheet, Profit and Loss, and Trial Balance into one report. This makes year-end financial review easier and is available across country-specific accounting report localizations.
Original PR description
This commit creates a new report named "Annual Statements". This new report is a composite of Balance Sheet, Profit and Loss, and Trial Balance. The report is also created for each country accounting reports localization. task-4418407
Users can now create a new journal entry directly from a document, bringing back a workflow similar to earlier document accounting actions. This streamlines accounting work by reducing manual steps when turning uploaded documents into financial records.
Original PR description
We add a new type of server action allowing to create account record from document similarly to the "work flow rule" of v17 (Create Vendor Bill, ...) on which the code is heavily inspired. Task-4711378
Enhancements to existing features
This update improves the user experience around employee time off planning, especially in calendar-style planning views and payroll-related workflows. It helps HR and payroll teams better manage leave information and related warnings across supported country payroll setups.
Approval officers and administrators can now force approve requests they are allowed to oversee, helping unblock approval flows when needed. The update also prevents portal users from being selected as approvers and reduces unnecessary notifications by only sending them when a request status actually changes.
Original PR description
The security group approval officer or approval administrator allow the user to see every request. These managers should also be able to approve all requests. This commit: - Adds a "Force approval" action on the list and form view of the approval request that bypasses all approvers and set the request as approved. - Disable the possibility to choose a portal user as an approver - Only send approval/refusal notification (or mail) when the request status has changed and not every time an approver approves/refuses task-3002203
Contracts created from salary offers now stay archived until the offer is signed, helping avoid premature active contracts. If an offer is refused, the related contract is removed so HR records stay clean and accurate.
Original PR description
This PR improves the salary configuration process by refining contract handling. The contract will remain in an archived state until the offer signing process is completed. If the offer is refused during the process, the linked contract will be deleted. task-4581692
The Belgian salary package flow now includes mobility budget options directly in the standard Belgian HR salary module. This simplifies setup and gives Belgian employers and employees a more integrated way to manage mobility-related benefits in contracts and payslips.
Social media communications for events with multiple time slots are now sent once for the overall event instead of once per slot. This prevents audiences from receiving repetitive posts while keeping event promotion clear and manageable.
Original PR description
For multi slots events, on the contrary of the current multi slots events mailing system, the social communications still need to be send once for the whole event, not for every slots. i.e. there is no need to send a social post before every exposition tour. Limit the social post communication once for the event even if multi slots. related: https://github.com/odoo/odoo/pull/205945 https://github.com/odoo/upgrade/pull/7565 Task-4307566
The IoT app now shows connected devices even when they do not have a supported driver. This gives teams better visibility when troubleshooting hardware that is connected but not working as expected.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/207043 Before this commit, only devices with supported drivers were shown in the IoT app. After this commit, a new device type 'Unsupported' is added, and the IoT box now sends us these unsupported devices. This can be helpful to debug when a device is not working as expected (e.g. blackbox serial device) task-4744357
Users uploading a PDF to prepare it for signing will now see a warning if they try to leave before saving it as a template or sending it for signature. This helps prevent accidental loss of document setup work and gives users the option to save or discard their changes.
Original PR description
Before this commit, if a user uploaded a PDF using the "Upload a PDF and sign" button, added fields to the document, and then left without saving or sending it for signing, all progress would be lost. In this commit, when a user tries to leave a document that hasn't been saved as a template or sent for signing, a warning dialog will appear. It informs the user that the document will no longer be available if not saved. The user can choose to save the document from the dialog if needed, or discard it if they don't want to keep the changes. task-4164228
Resolved issues and error corrections
AI field processing now follows a clearer order and the related prompt code has been simplified, making behavior more predictable. The update also fixes an issue that prevented regular users from saving approved AI prompt expressions, reducing friction for day-to-day use.
Original PR description
…cation Task-4742523
This fixes a missing setup entry that prevented point of sale IoT connection requests from being accepted by the IoT Box. Businesses using connected POS hardware should see more reliable communication with their IoT Box.
Original PR description
The manifest was missing the path to the longpolling override in the IoT module. As a result, no longpolling call was signing their request and the IoT Box refused them.
The GST reporting flow now prevents users from creating duplicate return periods for the same month or quarter. This improves filing accuracy and avoids confusion when return periods are created around the government portal deadline window.
Original PR description
Steps to Reproduce: =================== The user creates a GST return period for example January 2025 between 1st - 10th April. After 10th April, the user creates another GST return period for…
Steps to Reproduce: =================== The user creates a GST return period for example January 2025 between 1st - 10th April. After 10th April, the user creates another GST return period for January 2025. The system allows the creation of a duplicate record. Reason: ======= As per GST filing rules, the return period for the previous month can be filed on the government portal until the 10th of the following month. The system automatically sets the month and quarter values to the previous month and previous quarter respectively if the current date is between the 1st and 10th of a month, when the periodicity is set to monthly or quarterly. Cause: ====== Both records are considered different by the system based on the quarter value or month value and the system does not block the creation of duplicate GST return periods. Technical: ========== Modified the SQL constrains into two separate constrains for checking unique return period monthly and quarterly. Also, changed the default method to the compute method and added quarter logic in the creation of the Return period from the 'fetch from GSTN` button. Changed the quarter's key because with the start month, it's considered as IFF **UPGRADE PR:** https://github.com/odoo/upgrade/pull/7270 **Task**-4534812
Features or functions removed from Odoo
This work removes an outdated menu definition from the web client setup and updates related tests and portal templates so the interface continues to behave consistently. The change mainly affects navigation and internal validation across accounting, documents, knowledge, web enterprise, and studio areas.
Odoo no longer supports Adam weighing scales in IoT and delivery/POS scale workflows because they were unused and could be incorrectly detected as other serial devices. This reduces device-detection conflicts, especially with Belgian blackboxes, while aligning customers toward supported scale hardware.
Original PR description
This PR removes the code responsible for the detection and communication with Adam scales. These scales had no reliable way of detecting them as such, with the code always detecting every single serial connection as an Adam scale. Since Adam scales have been added to Odoo year s agom there are 0 existing (even archived) tickets in support concerning them, we are recommen ding Mettler Toledo scales to our clients and most importantly they interfere with the detectio n of belgian blackboxes we delete the problematic code and thus the support of these unused sca les. It also removes the associated 'manual_measurement' field and all of the associated fields and methods Associated Odoo PR: https://github.com/odoo/odoo/pull/206832 Associated upgrade PR: https://github.com/odoo/upgrade/pull/7589