Daily updates from Odoo
Friday, November 28, 2025
17 changes
3 changes
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 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 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
1 change
Enhancements to existing features
This update brings Odoo’s Swissdec ELM certification up to version 5.3, ensuring continued compliance with Swiss tax regulations. Key improvements include new features for reporting French-crossborder employee benefits, adapting to recent regulatory changes, and automating calculations for allowances.
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
4 changes
Enhancements to existing features
This update ensures that CFDI credit notes for point-of-sale orders are properly linked to their corresponding accounting reversal entries. This change aligns with legal requirements for fiscal document audits, creating a more robust and auditable accounting process for Mexican sales transactions.
Original PR description
As a legal requirement, fiscal documents requires to have its own accounting entry to reference it for audits. This is not the case for pos orders credit notes Currenty, a reversal move is created each time an invoice is created for a pos order of a closed session. Also if the order was globally invoiced, a cfdi credit noted is create to undo the global invoice. This commit makes the virtual relation between the reversal entry created and the cfdi credit notes documents created on the pos order target: master task-4856009
This update significantly speeds up the process of regenerating employee attendance records, a task previously taking 20 seconds for 100 employees. The optimization reduces the number of database queries from 55,000 to just 750, resulting in a much faster execution time of 2 seconds. This improves overall system responsiveness and efficiency.
Original PR description
Forward-Port-Of: odoo/enterprise#100156
This update simplifies user access to certain settings within various Odoo modules by removing restrictions on writeable fields. This change enhances user experience and flexibility while maintaining security for sensitive data. The changes primarily focus on streamlining access to user-configurable options.
Original PR description
odoo/odoo#231159
This pull request introduces work-in-progress development for a new feature to collect barcodes during the website sale process. The changes involve updating the website's sales functionality to integrate with barcode scanning, potentially improving order accuracy and efficiency. This is an initial implementation and requires further refinement.
Original PR description
TODO task-5166559 See also: - https://github.com/odoo/odoo/pull/235386
6 changes
Enhancements to existing features
This update enables the IoT box to function correctly by allowing HTTP requests instead of HTTPS, simplifying setup and avoiding certificate requirements. Additionally, a warning message is displayed when HTTP requests to the Blackbox fail, providing better visibility into potential issues. This enhances the reliability of IoT integrations within the POS system.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/237147 Since odoo/odoo#235702, there is a `point_of_sale.use_lna` system parameter. When it is set, ePOS requests will use HTTP instead of HTTPS, and the `targetAddressSpace: "local"` option is used in the `fetch` request. This bypasses the need for a HTTPS certificate. This commit adds the same functionality to all IoT requests from the POS. This should allow the IoT box to function correctly without a HTTPS certificate. In addition, we now show a warning message when a request to the Blackbox via HTTP fails and has to fallback to the websocket. task-5353672 Forward-Port-Of: odoo/enterprise#100469 Forward-Port-Of: odoo/enterprise#100331
This update enables the IoT box to function correctly by allowing it to use HTTP requests over the local network (LNA) instead of requiring a secure HTTPS connection. This change simplifies the setup process and ensures consistent performance for our IoT devices.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/100331 **This PR contains 2 commits:** - **[IMP] iot_base: allow use of LNA for IoT requests** Chromium 142 added support for HTTPS -> HTTP…
Enterprise PR: https://github.com/odoo/enterprise/pull/100331 **This PR contains 2 commits:** - **[IMP] iot_base: allow use of LNA for IoT requests** Chromium 142 added support for HTTPS -> HTTP requests on the local network (Local Network Access). This commit adds a flag to the IoT longpolling class to enable LNA support. The flag forces all requests to use HTTP even in an HTTPS environment. It also sets the `targetAddressSpace` option to `local` in the `fetch` request. - **[IMP] point_of_sale: use_lna support for IoT requests** Since https://github.com/odoo/odoo/pull/235702, there is a `point_of_sale.use_lna` system parameter. When it is set, ePOS requests will use HTTP instead of HTTPS, and the `targetAddressSpace: "local"` option is used in the `fetch` request. This bypasses the need for a HTTPS certificate. This commit adds the same functionality to all IoT requests from the POS. This should allow the IoT box to function correctly without a HTTPS certificate. task-5353672 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237340 Forward-Port-Of: odoo/odoo#237147
This pull request enhances the Odoo website builder with several UI improvements, including clearer controls for background images and videos, fixes for dark mode compatibility, and refinements to the page editor experience. These changes improve usability and ensure a consistent look and feel across different themes and device settings.
Original PR description
This pull request adds remove buttons for background images and videos, fixes several dark mode issues in the editor, and includes a few small UI improvements throughout the website builder. task-5104004 Forward-Port-Of: odoo/odoo#236201
This update enhances the accuracy of follow-up reporting across key Odoo modules (Client Portal, PoS, and Follow-up Report) by ensuring invoices and related entries are correctly filtered. This prevents irrelevant invoices from appearing in follow-up reports and creates a more consistent user experience.
Original PR description
This commit implements multiple improvements around the `no_followup` functionality to ensure misc entries and invoice-related moves behave consistently across Follow-up Report, Client Portal, and PoS. Main changes: -Removed default journal filters from the Follow-up Report for a cleaner view. -Display the “No Follow-up” field on miscellaneous entries whenever at least one line impacts a receivable account. -Client Portal only shows invoices that are meant for follow-up. -PoS balance includes entries that should be followed up. -“Settle Invoices” lists only invoices that require follow-up. Impact: -Avoids showing invoices that should not appear in follow-up flows. -Makes the experience more consistent across Follow-up report, Client Portal, and PoS. Related enterprise PR: https://github.com/odoo/enterprise/pull/100685 task-5149502
This update focuses on refining the user experience within the Odoo Sign app. The changes include UI adjustments and functional enhancements designed to improve usability and streamline the signing process. These improvements aim to make the sign app more intuitive and efficient for users.
Original PR description
This task aims to enhance the user experience by refining both the UI and functionality of the sign app. task-5169331
This update prepares Odoo to efficiently store and access sales commission achievement data, which was previously generated on-the-fly. For large systems, this change allows for 'materializing' the achievement data to significantly speed up report generation times, improving overall performance.
Original PR description
This commits aims to ease the possibility to materialize the achievements. The achievement table was a report built on the fly. Several commits were introduced to speed up the performances but on big systems with thousands of invoices, reading the achievements takes a few seconds. On big databases, it may be needed to materialized the achievement view to speed up reads. This commit reorganize the code to ease the materialization in a simple override commit. task-5170644
1 change
Enhancements to existing features
This update enhances Odoo's support for Argentina's tax regulations by adding necessary tax accounts and definitions. This ensures businesses using the l10n_ar module comply with AFIP requirements and accurately report their taxes, minimizing potential accounting errors.
Original PR description
Description of the issue/feature this PR addresses: On the AFIP portal, there are specific tax values and scenarios when registering purchase invoices that are not currently supported by the l10n_ar…
Description of the issue/feature this PR addresses: On the AFIP portal, there are specific tax values and scenarios when registering purchase invoices that are not currently supported by the l10n_ar module. Desired behavior after PR is merged: This improvement adds the required tax accounts and definitions for Argentina localization. It ensures legal compliance and proper fiscal reporting for companies using l10n_ar. Key changes: Added new tax account templates for various Argentine tax scenarios, including “Otros Impuestos” and “Impuestos Internos”. Updated and extended tax definitions to align with AFIP and ARCA requirements. Improved mapping between tax codes and accounts for accurate reporting. These changes make it easier for users to configure and use Odoo with accurate fiscal settings for Argentina, reducing the risk of accounting errors and improving compliance with local regulations. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
2 changes
Enhancements to existing features
This update enhances user privacy by permanently providing access to the Cookie Policy page and allowing users to update their consent choices at any time, regardless of whether cookies are initially accepted. Previously, users could only access the policy through a popup that disappeared after acceptance, and the option to change preferences was hidden once cookies were enabled.
Original PR description
This improvement enhances user control over cookie preferences by making the Cookie Policy page (/cookie-policy) more accessible and allowing users to modify their consent at any time. **Issue:** -…
This improvement enhances user control over cookie preferences by making the Cookie Policy page (/cookie-policy) more accessible and allowing users to modify their consent at any time. **Issue:** - Previously, the only way to access the Cookie Policy page was through the link in the cookie consent popup. However, once users accepted cookies, the popup was no longer displayed, making it impossible to navigate to the policy page later. - Additionally, the Cookie Policy page had a button to reopen the cookie consent popup, but it was only visible if cookies were not accepted. Once cookies were accepted, the button was hidden, preventing users from changing their preferences. **Improvements:** - Added a permanent link to the Cookie Policy page in the copyright footer, ensuring it remains accessible at all times. - The cookie consent toggle button now remains visible even after a user has accepted cookies, allowing them to update their preferences at any time. task-[4502416](https://www.odoo.com/odoo/project/974/tasks/4502416)
This update ensures Odoo's Swissdec ELM Certification is compatible with the latest version 5.3. It includes key enhancements for reporting, specifically addressing new regulations regarding telework and retirement benefits, as well as automating allowance calculations.
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