Daily updates from Odoo
Thursday, July 3, 2025
7 changes · saas-18.4
Enhancements to existing features
This update refreshes Odoo's web interface framework to include small fixes and translation improvements. It helps ensure displayed text and accessibility labels are handled more consistently for users in different languages.
Original PR description
This brings two commits: - [FIX] parser: t-esc/t-out vs t-translation* - [IMP] compiler: make human-readable ARIA attributes translatable see https://github.com/odoo/owl/releases/tag/v2.8.0. Forward-Port-Of: odoo/odoo#216599
Live chat conversations now show the expertise or qualifications that caused them to be routed to a specific agent. This helps agents understand the context behind each handoff and supports better reporting on chat assignment decisions.
Original PR description
provide a way for the agent to understand why the conversation was forwarded to them based on their qualifications; also useful for the reporting task-4889092 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Live chat operators can now see a visitor's recent conversations, making it easier to handle follow-up questions and give consistent answers. This history also helps teams spot repeated misuse or spam patterns from the same visitor.
Original PR description
visitors sometimes ask follow-up questions or want to have a refresher on the information they got from a previous conversation; also allows us to identify visitors who might have been abusing/spamming the live chat. task-4889093 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Uruguayan electronic invoices now send the mandatory item name consistently and avoid duplicating product names in generated PDF reports. Longer product names and extra descriptions are split into the correct fields for DGI, improving invoice readability and compliance with field limits.
Original PR description
This PR aims to improve the way we create NomItem and DscItem lines on the XML files we send to DGI in order to generate the PDF report. We have two fields to inform to DGI in an electronic invoice,…
This PR aims to improve the way we create NomItem and DscItem lines on the XML files we send to DGI in order to generate the PDF report. We have two fields to inform to DGI in an electronic invoice, NomItem which is mandatory an has a maximum of 80 characters to send, and DscItem that is optional an has a limit of 1000 chars. So we ensure NomItem is always sent, and the description will be filled like this: First, if the product name is longer than 80 chars, DscItem field will contain the characters that didn't fit in the NomItem field (characters from the 80th) Then it will contain the description of the product and the addenda content if it exists. Plus, I refactor the method _l10n_uy_edi_cfe_D_global_discount so it is also aligned with what I mentioned before. Another reason for this improvement is that, as the description of a product contains the product name at the beginning, we faced some issues when a user added a description on the fly in the line of the product, and then confirmed and printed the report. In this case, the name of the product was duplicated in the report. With this change, the description will only contain the the part of the product name that exceeds the 80th character. Example:  Forward-Port-Of: odoo/enterprise#80993
US payroll now includes additional state-specific employer tax and surcharge rates for Alabama, Colorado, and Washington. This helps payroll calculations better reflect current local requirements and improves accuracy for affected employees and companies.
Original PR description
Added salary rules for state: - US: Alabama ESA rate - US: Colorado Support Surcharge rate - US: Colorado Solvency Surcharge rate - US: Washington EAF Rate task-4814709 Forward-Port-Of: odoo/enterprise#87708
The bank reconciliation widget no longer shows a link to the bank journal entry when that entry is simply the bank transaction itself. This reduces visual clutter and helps users focus on the relevant reconciliation information.
Original PR description
Before this PR: Link to the bank journal entry was shown in bank reco widget. After this PR: If the journal entry linked is the bank itself, then it will not be shown in bank reco widget. task-4872789 Forward-Port-Of: odoo/enterprise#87753
Starshipit shipping labels no longer block order processing when the final shipping cost is not immediately available. Odoo temporarily records a zero cost, then automatically retrieves the final amount later and updates the delivery order and related sales order line, improving reliability and billing accuracy.
Original PR description
**Description of the issue/feature this PR addresses:** This PR enhances the Starshipit integration to reliably handle scenarios where the exact shipping cost is not immediately available from…
**Description of the issue/feature this PR addresses:** This PR enhances the Starshipit integration to reliably handle scenarios where the exact shipping cost is not immediately available from Starshipit after label creation. Cost is fetched via a cron job and correctly applied to both the stock.picking's carrier_price and, crucially, the corresponding Sales Order delivery line. First commit removes the 3-tries loop, and was already reviewed on this [PR](https://github.com/odoo/enterprise/pull/85088). **Current behavior before PR:** When confirming a picking with a Starshipit Delivery method, the exact Shipping cost was not instantly available. The previous code had 3 attempts to retrieve it, before stopping the process, asking the user to try at a later time. **Desired behavior after PR is merged:** The price fetching becomes non-blocking. If Starshipit did not return an immediate `total_shipping_price`, a temporary price of 0.0 will be used. A Cron job will then run on all pickings with a 0.0 carrier price in order to fetch the exact price from Starshipit, and update the SO delivery lines. opw-4748113 When merging on `master`, further improvement might be to introduce a `starshipit_pending_price` boolean field instead of running the CRON job on all 0.0 carrier price pickings. With the new view `view_picking_form_inherit_stock` being introduced, runbot tests fail when migrating to saas-18.1. (Because view is not yet present in the saas-18.1 codebase) **How to test?** - On a runbot DB, install the `delivery_starshipit` module - Configure the DB to interact with the connector - Place a Sales Order with a delivery method configured to use Starshipit. - Confirm the Delivery. The shipping price, if not available, will be temporarily set to 0.0. - Run the Cron Job manually. You can check and activate the Cron by navigating to Settings > Technical > Automation > Scheduled Actions. - Check that the SO has been updated with the actual shipping price from Starshipit. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#89184 Forward-Port-Of: odoo/enterprise#86383