Daily updates from Odoo
Thursday, September 25, 2025
14 changes
2 changes
Enhancements to existing features
This update improves internal tax calculation helpers used for global discounts, down payments, and future combo product changes. It helps keep invoice totals stable during tax recomputation and prepares accounting logic for upcoming product handling improvements.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#228440
This improves how website translation editing identifies content that can be translated. It avoids marking non-saveable page elements as directly editable, reducing unwanted editing behavior while keeping translatable attributes available for translation.
Original PR description
[IMP] html_builder, *: improve the logic of the translation plugin *: website The goal of this commit is to improve the logic of the `TranslationPlugin` plugin. Indeed, we do not want this plugin to…
[IMP] html_builder, *: improve the logic of the translation plugin *: website The goal of this commit is to improve the logic of the `TranslationPlugin` plugin. Indeed, we do not want this plugin to handle the addition of the `o_editable` class to html elements. Instead we let this task to `SetupEditorPlugin` as usual. The problem is still that some html elements have translatable attributes and those elements will not have the `o_editable` class as they do not have the branding (oe data information). To handle those, a new `o_editable_attribute` system class is added on them. Thanks to those classes, we know which nodes are translatable (elements that are editable and elements with the `o_editable_attribute` class have an attribute that is translatable). The advantage of handling the translation that way is that we do not add the `o_editable` class on elements that are not savable. This is better also in order to not add the `contenteditable` attribute abusively. Related to task-4367641
1 change
Enhancements to existing features
Bank statement matching no longer uses a fixed tolerance for automatically reconciling slightly higher invoices against lower bank payments. The tolerance is now controlled by a system setting, defaulting to zero, so businesses can decide whether to allow partial automatic matching and suspense-account differences.
Original PR description
This commit: https://github.com/odoo/enterprise/commit/9bea3f2c517e77fdb822eb53b9648e9fc5478dac introduce a tolerance. If an invoice has a bigger amount than the bank line but within the tolerance of 3%, reconcile the invoice automatically and leave the difference in the suspense account. The statement line will be partially matched. This commit will change that tolerance to use a system parameter instead. For old DB the tolerance is at 0 and for new DB a system parameter (0 by default) will be put so that people that want to use it can. task-5106655
7 changes
Enhancements to existing features
Financial reports now expand detailed lines more efficiently by removing an unnecessary processing step. This should make report navigation faster for users working with larger accounting reports, without changing the report content or workflow.
Stock forecasts now better account for subscription-related quantities and orders at the individual product level. This gives teams a clearer view of future stock needs tied to subscriptions, helping planning and fulfillment decisions.
Original PR description
Update the stock forecast backend and frontend to support per-product computation and display of subscription quantities and orders. Task [4763124](https://www.odoo.com/odoo/project/966/tasks/4763124) odoo/odoo#212774 Forward-Port-Of: odoo/enterprise#92394
Customers can now choose a country when searching for delivery pickup locations across supported carriers. This makes pickup point selection more accurate for international deliveries and keeps carrier integrations aligned with the updated checkout experience.
Original PR description
Modify sendcloud, fedex, and other delivery providers to match the changes made to include a country selector to the location selector. task-3984383 See also: https://github.com/odoo/odoo/pull/188490
Greek reporting now supports XML exports for Intrastat and EC Sales List tax reports in the required submission format. Users can also rely on defined deadlines and a guided wizard to select the correct period and return type, helping reduce manual preparation effort and compliance risk.
Original PR description
- Deadlines are defined for both the Intrastat and EC Sales List reports. - Custom report handlers were added to export data in the required file format. - A submission wizard was implemented to guide users through selecting the period and return type. Task-4781277
Serbian Intrastat and tax reporting now include defined submission deadlines, required export formats, and guided submission wizards. This helps businesses prepare compliant filings more easily and reduces manual effort when selecting reporting periods and return types.
Original PR description
- Submission deadlines are now defined for Intrastat. - Custom report handlers were added to export data in the required file format. - A submission wizard was implemented to guide users through selecting the period and return type. Task-4781290
Worksheet reports now use more balanced column widths, giving less space to labels and more space to the related values. This makes reports easier to read, especially PDFs where long values previously had limited room.
Original PR description
The column for the label and its value in the worksheet report had fixed widths that were not optimal, leading to wasted space and poor usability, especially when the label was short and the value was long. This was particularly noticeable in PDF reports. This commit improves the layout by adjusting the column widths. The label column now takes approximately 30% of the width, and the value column takes the remaining 70%. This provides a more balanced and readable report, enhancing the overall user experience. task-4968117
The German Datev report now processes large exports in smaller batches instead of loading everything at once. This reduces the risk of memory errors and helps businesses complete large accounting exports more reliably.
Original PR description
The Datev report fetches huge number of records resulting in memory error. Processing the report in batches to avoid the memory error and few code optimizations. task-4861366 After <img width="1920" height="1013" alt="image" src="https://github.com/user-attachments/assets/89cd5a32-63af-4e2e-bac6-651b99ecc902" /> Before <img width="1920" height="1036" alt="image" src="https://github.com/user-attachments/assets/2153be9f-32f0-4a48-8c3e-a3e963bc2a99" />
4 changes
Enhancements to existing features
The Turkish Nilvera integration now syncs more invoice types, including E-Archive files and invoices created directly in Nilvera. Users can retrieve invoice statuses and PDFs from one "Sync with Nilvera" action, with PDFs shown in preview and attached automatically for easier record keeping.
Original PR description
[IMP] l10n_tr_nilvera_einvoice: refactor API to include E-Invoices & E-Archive Fixed bugs in API calls triggered during fetch requests and added support for fetching the status of E-Archive files. Updated the action button label to "Sync with Nilvera", which now fetches invoice statuses, retrieves PDFs for both E-Archive and E-Invoices, and includes invoices generated directly in Nilvera, enabling support for additional invoice types currently not supported in Odoo. Invoices/Bills are marked as "Successful" once retrieved. Retrieved PDFs are displayed in the preview and automatically attached to the chatter. The original limit of fetching a maximum of 30 records (status and PDFs) is maintained. task-4714467 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#225919 Forward-Port-Of: odoo/odoo#223599
When the IoT box cannot fully start because its drivers fail to load, users will now be sent to a helpful error page instead of the database selection screen. The new page better explains that the IoT box is down and provides links to log files for troubleshooting.
Original PR description
Before this commit, if the IoT box enters a state where Odoo can start but the `iot_drivers` module fails to load, the user would be redirected to the database selector instead of the IoT homepage. This commit adds an nginx redirect to instead send the user to the 502 error page, stating that the IoT box is down and with links to see the log files. This page is more representative of the situation and more helpful for the user. task-5111009 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website header and footer background choices now behave consistently when users switch between color combinations, solid colors, and gradients. Applying a color combination clears any previously selected solid color or gradient, making the design controls easier to understand and reducing unexpected results.
Original PR description
It was difficult for the user to understand how the background colorpicker works. The color combination would not be resetted when applying a solid color or a gradient, and vice versa. To simplify the behavior, applying a color combination now resets the solid color or gradient previously applied. The user will then choose to reapply its previous choice or not. task-5062183
The HTML editor now highlights code blocks by language, making technical content easier to read and present. Users can choose the language from a toolbar and copy the original code as plain text, improving the editing experience for documentation and website content.
Original PR description
This integrates the PrismJS library to provide syntax highlighting to code blocks. Whenever a `pre` element is in the editor, it gets wrapped into a `contenteditable=false` container, with an invisible editable `textarea` element overlayed on top of the `pre`. Whenever the contents of the `textarea` change, they pass through the library to get highlighted in the `pre`. A special toolbar appears at the top of the code block, for the user to pick a language and copy the code in plain text. task-4585835 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr