Friday, November 28, 2025
5 changes · saas-18.4
Enhancements to existing features
This update automatically notifies users when invoices are canceled due to DGI rejections, ensuring timely correction of rejected electronic invoices. It also fixes inconsistencies when invoices are later accepted by DGI, allowing users to easily update invoice statuses and maintain accurate records. This prevents missed opportunities for invoice correction and improves data integrity.
Original PR description
Added 3 improvements to the process of updating the state of an invoice in Odoo, according to the state in DGI: **For invoices that have been rejected by DGI:** - Added logic to automatically notify…
Added 3 improvements to the process of updating the state of an invoice in Odoo, according to the state in DGI: **For invoices that have been rejected by DGI:** - Added logic to automatically notify relevant users when an electronic invoice (CFE) is rejected by the DGI and, as a result, canceled in the system. The goal is to ensure that there is always someone responsible who is informed to correct and resend the receipt. - Added logs in the terminal to make the debug easier in case we want to identify rejected invoices. **Particular case of an invoice that had been rejected by DGI but the user somehow fixes it and then DGI accepts it:** - Added logic to verify both DGI state and Invoice state and adjust it accordingly when updating invoice DGI status. - Make 'Update DGI status' button always visible to be able to adjust invoices states. **== Context of the Problem ==** Previously, when Odoo detected that a CFE had been rejected by the DGI, the system proceeded to cancel the invoice automatically. However, this process was carried out silently, without generating any notification. This could mean that if no user or salesperson was actively monitoring the status of the receipts, the cancellation would go unnoticed, resulting in invoices that were never corrected or reissued. For the case of a previously rejected and then accepted invoice, we always thought that 'Rejected' state in DGI was a definite state and could not suffer any change. But recently it has been a case that this state changed, creating inconsistencies in Odoo invoices states as they appear as cancelled. With these changes, the user can adjust the invoices state by clicking 'Update DGI status' button. **== Automatic Notification Logic ==** With the new functionality, every time an invoice is automatically canceled due to a DGI rejection, the system posts a message in the document chatter to report the situation. The logic for determining who is notified is as follows: _Scenario 1: Invoice with Internal Followers_ - If the canceled invoice has at least one internal follower (an Odoo user), the system will perform the following actions: - It will post a message in the invoice chatter. - It will tag (@) all internal followers to notify them directly. _Scenario 2: Invoice without Internal Followers_ - If the invoice does not have any internal followers, the system will search for a more general but relevant audience to ensure that the notification is addressed: - It will post a message in the invoice chat. - It will tag (@) all users who belong to the “Accounting Manager” permission group (technical name: group_account_manager). Task ODOO: #[1362](https://latam-localizations.odoo.com/web?debug=1#id=1362&cids=1&menu_id=88&action=131&active_id=16&model=project.task&view_type=form) Task ADHOC: #[54799](https://www.adhoc.inc/odoo//project.task/54799) Forward-Port-Of: odoo/enterprise#98210 Forward-Port-Of: odoo/enterprise#94502
This update enhances how sales information is displayed on customer-facing pages within Odoo. Specifically, the system now supports passing additional data (kwargs) to the page view value generation process in key modules like Sales, Accounting, Project, and Purchase. This allows for more flexible and customized sales page content.
Original PR description
kwargs is added to the `_get_page_view_values()` method in other modules: `account` (https://github.com/odoo/odoo/blob/fdfa573fef5de83a77310e650dd950bddd7b0554/addons/account/controllers/portal.py#L47), `project` (https://github.com/odoo/odoo/blob/fdfa573fef5de83a77310e650dd950bddd7b0554/addons/project/controllers/portal.py#L58), or `purchase` (https://github.com/odoo/odoo/blob/fdfa573fef5de83a77310e650dd950bddd7b0554/addons/purchase/controllers/portal.py#L110). @Tecnativa TT57124 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237270
This update enhances the generation of UBL (Universal Business Language) files used for accounting and tax reporting. By default, new helpers are now utilized for BIS3 extensions, ensuring compatibility with formats like NLCIUS and XRechnung. This improves the accuracy and reliability of these critical financial documents.
Original PR description
Since commit 52e984037 we have enabled the new helpers by default for generating BIS3 UBLs. But we didn't enable them in the UBL formats that depend on BIS3 (NLCIUS, XRechnung, Chorus Pro etc). That was to first fix any issues in BIS3 in case the new helpers had broken something. Since the new helpers seem to be working fine for BIS3, we are now making them the default for all the formats that depend on BIS3 as well. We also add comments in the old helper methods to indicate that they are no longer used by default for BIS3 and its extensions. task-none Forward-Port-Of: odoo/odoo#237198 Forward-Port-Of: odoo/odoo#229231
This update simplifies the process of retrieving matched debit and credit entries associated with an account move line. Previously, this was a complex process, and this change provides a new helper function to streamline data access. This enhancement improves the efficiency of account reconciliation workflows.
Original PR description
This commit add a new helper to easily get matched_debit_ids and matched_credit_ids from an account.move.line. Linked:https://github.com/odoo/enterprise/pull/100493 opw-5184679 Forward-Port-Of: odoo/odoo#237367
This update brings the Odoo Swissdec ELM Certification up to version 5.3, adding crucial enhancements for Swiss payroll reporting. Specifically, it includes support for new regulations regarding telework and retirement, as well as automated calculations for employee benefits.
Original PR description
This Pull request extends the Odoo Swissdec ELM Certification to the minor version 5.3. By doing so we add the following features : - Telework Percentage declaration for French-crossborder comuters - Adapting to AVS21 regulation, where retired employees can refuse their right to retirement - Adding automatic Child and education allowance calculation - Add the calculation of LPP in % - Allowing the specification of custom employer parts for LAAC and IJM Forward-Port-Of: odoo/enterprise#95518