Daily updates from Odoo
Friday, March 6, 2026
10 changes · saas-18.4
New functionality added to Odoo
This update incorporates recent changes to Mexican city listings within the Odoo Enterprise system. This ensures accurate reporting and compliance for Mexican businesses utilizing the l10n_mx_edi_extended module. The change reflects the latest government updates.
Original PR description
The Mexican government has recently introduced new cities. This pr adds those cities here as well. task-5883334 Forward-Port-Of: odoo/enterprise#109358 Forward-Port-Of: odoo/enterprise#107623
Enhancements to existing features
This update enhances logging for transactions related to Codabox integration (_l10n_be_codabox_fetch_coda_transactions). These improved logs will assist the support team in quickly identifying and resolving any issues with the Codabox data synchronization process. This ultimately reduces support response times and improves the reliability of the integration.
Original PR description
This commit will improve the logs of _l10n_be_codabox_fetch_coda_transactions to help the support team to debug possible problem. task-5436868 Forward-Port-Of: odoo/enterprise#108213 Forward-Port-Of: odoo/enterprise#107779
This update enhances the accuracy of loan interest rate calculations within the Enterprise module. Previously, interest rates were displayed with only two decimal places. Now, users can specify up to ten decimal places for greater precision, improving financial reporting and analysis.
Original PR description
Allowing more precision on the interest rate for loans. By default the display uses 2 decimals, but if a user decides to add more precision they can up to 10 decimals. task-5913175 Forward-Port-Of: odoo/enterprise#107163
Resolved issues and error corrections
This update fixes a bug where users could incorrectly cancel subscriptions that already had invoices generated. The change adds a check to ensure subscriptions with invoices remain uncancelled after being closed, preventing revenue discrepancies and ensuring accurate subscription management. This resolves an issue identified in opw-5479719.
Original PR description
Steps to reproduce: -------------------------------- 1. Install Subscription module 2. Create a new subscription quotation and confirm it 3. Generate an invoice for the subscription 4. Attempt to…
Steps to reproduce: -------------------------------- 1. Install Subscription module 2. Create a new subscription quotation and confirm it 3. Generate an invoice for the subscription 4. Attempt to cancel the subscription * A ValidationError is correctly raised 5. Close the subscription by selecting any close (churn) reason 6. Attempt to cancel the same closed subscription again Observation: -------------------------------- The subscription is successfully cancelled even though it already has invoices Issue: -------------------------------- In the following code: https://github.com/odoo/enterprise/blob/9e39b4b85fcb9f6ed5b21b942796b76b8a6eefdb/sale_subscription/models/sale_order.py#L741-L742 The cancellation logic does not check whether a subscription is already churned and still has active invoices Solution: -------------------------------- Added an additional condition to prevent cancelling churned subscriptions that still have active invoices opw-5479719 Forward-Port-Of: odoo/enterprise#106596
This update resolves an issue preventing PDF exports of composite reports that included journal report sections. The fix ensures that journal reports utilize their specialized PDF generation process, allowing for accurate PDF creation. This improves the functionality of composite reports for users generating financial data.
Original PR description
# Steps to reproduce: * Enable **Developer Mode**. * Go to **Accounting → Configuration → Accounting → Accounting Reports**. * Create a new report and enable **Composite Report**. * Add a new line of…
# Steps to reproduce: * Enable **Developer Mode**. * Go to **Accounting → Configuration → Accounting → Accounting Reports**. * Create a new report and enable **Composite Report**. * Add a new line of type **Journal Report**. * Save the report and create a menu item from the gear icon. * Open the report from the reporting menu. * Try to download the report in **PDF** format. # Observed behavior: * PDF export fails with a traceback. * Composite reports containing journal report sections cannot be exported as PDF. # Cause When exporting a composite report to PDF, the export flow iterates over each embedded sub-report and generates the HTML body used for PDF rendering. * The composite export relies on the base [`export_to_pdf`](https://github.com/odoo/enterprise/blob/a4e2c7c7d3aa50c8b57668c9ca73f523a31a5c41/account_reports/models/account_report.py#L5875) implementation from `account.report`, which directly calls `_get_pdf_export_html()` for each sub-report. * For standard reports, this works as expected because they use the base [`_get_pdf_export_html`](https://github.com/odoo/enterprise/blob/a4e2c7c7d3aa50c8b57668c9ca73f523a31a5c41/account_reports/models/account_report.py#L5944) method, which renders flat report lines into the default PDF template. * Journal reports, however, rely on a completely different PDF structure. Their templates expect `document_data` (journal entries grouped by journal/document) instead of flat report lines. * This `document_data` is generated exclusively by the journal report’s custom handler via its own [`export_to_pdf`](https://github.com/odoo/enterprise/blob/a4e2c7c7d3aa50c8b57668c9ca73f523a31a5c41/account_reports/models/account_journal_report.py#L240) flow. * The handler builds the required `document_data` using [`_generate_document_data_for_export`](https://github.com/odoo/enterprise/blob/a4e2c7c7d3aa50c8b57668c9ca73f523a31a5c41/account_reports/models/account_journal_report.py#L261C9-L261C22). * When a journal report is embedded inside a composite report, the composite export logic bypasses the custom handler and forces the report through the base `_get_pdf_export_html()` pipeline. * Since the base pipeline does not generate `document_data`, the journal report PDF template fails at render time with `KeyError: 'document_data'`. In short, journal reports embedded in composite reports were incorrectly routed through the standard PDF export pipeline instead of their specialized handler-based one. # Fix: * Add PDF export support to the journal report custom handler. * Centralize common print option logic in a shared helper. * Update composite report export logic to delegate PDF generation to custom handlers when available. * Journal reports inside composite reports now export to PDF correctly. opw-5477551 Forward-Port-Of: odoo/enterprise#109262 Forward-Port-Of: odoo/enterprise#105040
This update fixes an issue where IoT blackbox warnings were incorrectly treated as errors. Now, when the blackbox returns a warning code (starting with '1'), a notification is displayed to the user. This ensures warnings are properly communicated and addressed, improving the overall reliability of the POS system.
Original PR description
Before this commit, all errors returned by the iot after a call to the blackbox were considered as errors. Actually, the errors are only the ones that do not start with 0 (no error) or 1 (warning). This commit changes the behaviour when handling warning. We now show a notification. task-id: 5062178 Forward-Port-Of: odoo/enterprise#103112 Forward-Port-Of: odoo/enterprise#93896
This update adjusts the minimum and maximum amounts for employee mobility budgets each year, aligning with local regulations. These changes ensure employees have access to the appropriate budget range for relocation expenses, improving compliance and employee support. The update affects the l10n_be_hr_payroll module.
Original PR description
Each year the minimum and maximum amount of mobility budget is indexed, here are the new values. Forward-Port-Of: odoo/enterprise#109641
This update prevents Instagram posts from failing due to delays in media processing. By using a scheduled cron job to retry publication, the system now handles temporary processing delays gracefully, ensuring posts are successfully published without impacting server performance.
Original PR description
With the current behavior the Instagram API sometimes requires time to process media containers, the media_id is not yet ready on Instagram side, leading to failed posts. To avoid this, we now use an asynchronous flow: If the media container is not immediately 'FINISHED', we store the container ID in `instagram_post_id` (prefixed with `containerIDs-`), set the state to 'posting', and trigger the scheduled cron to retry in 1 minute. The `_cron_publish_scheduled` method has been updated to detect these pending posts and resume the publication attempt so workers remain free while Instagram processes the media. opw-5081325 Co-authored-by: @ushyme Forward-Port-Of: odoo/enterprise#100313
This update fixes a discrepancy in the Abbreviated Balance Sheet report for Spanish businesses. It incorporates a required account code (189) as mandated by recent Spanish tax regulations (PGCE). This ensures accurate financial reporting and compliance with local accounting standards.
Original PR description
According to last updated of PGCE https://www.boe.es/buscar/act.php?id=BOE-A-2011-18458 <img width="790" height="342" alt="image" src="https://github.com/user-attachments/assets/d5875946-d3b0-480b-bea1-8a7f4202aef7" /> @moduon MT-14017 Forward-Port-Of: odoo/enterprise#108557
This update removes a display field ('Visible Internally Only') from the customer rating form in the Helpdesk module. This field was no longer needed as customer ratings are no longer visible on the website. This cleanup improves the user experience and reduces unnecessary complexity.
Original PR description
**Steps to reproduce:** - Open a Helpdesk ticket with a customer rating. - View the rating form. - Observe the field ‘Visible Internally Only’ still showing. **Issue:** - The field is displayed even though ratings are no longer shown on the website. **Reason:** - The field is now irrelevant but still present in the view. **Fix:** - Invisible the ‘Visible Internally Only’ field from the customer rating form in the affected version. **Task id - 5359052** Forward-Port-Of: odoo/enterprise#109287 Forward-Port-Of: odoo/enterprise#100686