Friday, March 6, 2026
7 changes · saas-18.2
Enhancements to existing features
The geolocation module now separates how it discovers and uses the address lookup service, making it easier to connect to Nominatim-compatible providers beyond the default OpenStreetMap servers. This gives businesses more flexibility to choose third-party geocoding services that better match their reliability, compliance, or pricing needs.
Original PR description
This allows the use of an alternate nominatim-compatible server than OSM servers. For instance, to use opencage, use `https://api.opencagedata.com/geocode/v1/json?q=%(addr)s&key=%(api_key)s` Forward-Port-Of: odoo/odoo#243496
This update enhances the accuracy of interest rate calculations for loans 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 ensures that the 'Insert in spreadsheet' action is only visible to users with the necessary permissions for Documents and Dashboards. Previously, all users could see this option, regardless of their access rights. This change improves the user experience by aligning the available actions with user roles.
Original PR description
Current behavior before PR: - The 'Insert in spreadsheet' action was always visible in the list view action menu, even when the user lacked access rights for Documents or Dashboards. Desired behavior after PR is merged: - The action is shown in the list view action menu only if the user has the required permissions. Task: 5930184 Forward-Port-Of: odoo/enterprise#108099
This update adjusts the minimum and maximum amounts allowed for employee mobility budgets each year, aligning with local regulations. These adjustments ensure employees have appropriate financial support for relocation, and the changes are automatically applied within the Odoo Enterprise system. This is a routine maintenance update.
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, we ensure posts are successfully created even when the Instagram API needs extra time to process media containers. This improves the reliability of our Instagram posting functionality.
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 corrects a discrepancy in the Spanish reporting module (l10n_es_reports) to align with the latest Spanish accounting regulations (PGCE). Specifically, account code 189 has been added to the Abbreviated Balance Sheet report, ensuring accurate financial reporting for Spanish businesses using Odoo Enterprise.
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 resolves an issue where printing basic receipts would fail if the point-of-sale (POS) name exceeded a certain length. The fix ensures that receipt printing works correctly regardless of the POS name's length, preventing errors and ensuring accurate receipt generation. This improves the reliability of the POS system for Italian users.
Original PR description
When printing a basic receipt, if the pos name is too long a traceback will occurs when printing the basic receipt. Steps to reproduce: * Create a pos with a name of 46 character or more * Setup the italian fiscal printer * Enable Basic Receipt printing * Open point of sale * Create an order and validate it * Try "Print Basic receipt" Traceback: RangeError: Invalid count value: -15 at String.repeat () If the data being printed is longer than the maximum number of character in a line (MAX_CHARS = 46), paddingLeft becomes negative which cause an error in repeat(). [Similar solution](https://github.com/odoo/enterprise/blob/18.0/l10n_it_pos/static/src/app/fiscal_printer/commands/print_rec_message/print_rec_message.js#L35) [opw-5270697](https://www.odoo.com/odoo/project/49/tasks/5270697) Forward-Port-Of: odoo/enterprise#109527