Daily updates from Odoo
Wednesday, July 30, 2025
15 changes · master
Resolved issues and error corrections
The Starshipit shipping cost banner is now shown only when the selected delivery method uses Starshipit. This prevents confusion for users working with other delivery carriers, especially when carrier pricing is zero.
Original PR description
A Strashipit banner was appearing on all deliveries, un-depending on the Delivery Method. Steps to reproduce: * Install 'delivery_starshipit' * Create a delivery with another Delivery Method selected, and a Carrier Price of 0. * The Starshipit banner "The Shipping Cost is being fetched in the background" appears Fix: Filter out 'invisible' condition on non-Starshipit delivery methods opw-4940717 Forward-Port-Of: odoo/enterprise#90994
The Knowledge editor now restores extra space at the bottom of long articles, making it easier to scroll and keep the final lines in a comfortable reading position. This improves the editing experience after a previous editor upgrade caused the spacing rule to stop applying.
Original PR description
With version 18.1, we migrated from legacy HTML editor to the new one. As part of this upgrade, we revised the templates and reworked the wysiwyg helper. During the migration, several CSS classes were altered or removed. One issue that emerged is that the CSS rules intended to add bottom padding to the editor area are still present in the stylesheet but no longer apply to any element. These rules were especially helpful when working with long-form content, as they allowed users to scroll further and bring the end of the text closer to the center of the screen - improving readability and enhancing the editing experience. To fix this, we'll update the relevant CSS selector to ensure the padding is correctly applied to the editable area. See: odoo/enterprise#67083 Task-4636494 Forward-Port-Of: odoo/enterprise#90770 Forward-Port-Of: odoo/enterprise#86223
This fixes how Indian GST report return periods are calculated after a prior change to quarter handling. Businesses will now see the correct month and year for quarterly return periods, reducing reporting confusion and potential filing errors.
Original PR description
In this commit: https://github.com/odoo/enterprise/commit/75b72df06a109b5e89a2c8e98bc29a1fe120fb68, the quarters key was updated. Previously, it used the start month of the quarter, but it now uses the end month instead. However, the `return_period_month_year` field is still being computed based on the start month. With this PR, the `return_period_month_year` will now be computed correctly based on the updated logic. **opw**-4970000 Forward-Port-Of: odoo/enterprise#91109
Dashboard styling rules have been moved to the correct editing area instead of affecting read-only dashboards. This helps ensure dashboards look and behave correctly depending on whether users are viewing or editing them.
Original PR description
Some css rules were mistakenly added to the readonly action of the dashboard instead of it edition action. Task: 4962437 Forward-Port-Of: odoo/enterprise#90752
The Dutch tax reporting flow now correctly handles returns that have more than one closing entry. Users will only be warned when at least one related closing entry is still in draft, reducing incorrect warnings or missed validation issues.
Original PR description
Before this commit: As multiple closing moves can exist for a return, the check for the state of the closing move was incorrect. It was assuming only one closing move exists, which could lead to issues if multiple closing moves were present. After this commit: The code now checks if any of the closing moves are in 'draft' state before raising a warning. opw-4976827 Forward-Port-Of: odoo/enterprise#91223
Fixed an issue where printing a follow-up letter from a partner's action menu could fail if required report options were missing. The system now safely uses the partner's follow-up information as a fallback, allowing users to generate overdue payment letters reliably.
Original PR description
### Steps to reproduce: - Settings > Technical > Reporting > Reports - Search for "Print Follow-up Letter" - Click on "Add to the Print menu" - Create an overdue invoice for a partner - On the partner page, click the gear to show the actions - Then click "Print Follow-up Letter" - Traceback ### Cause: This [line](https://github.com/odoo/enterprise/blob/82375d181cd138b497e695e747b63c009c0538fc/account_followup/models/res_partner.py#L291) tries to read `options['followup_line']` but with this flow `followup_line` is not in the options. ### Solution: Use `get` and fallback on the followup line on the partner. opw-4864880 Forward-Port-Of: odoo/enterprise#88543
This update adjusts how WhatsApp and helpdesk live chat records prepare related contact and conversation data. It helps keep internal data handling consistent and reduces the risk of incorrect or redundant information being sent to the interface.
Original PR description
\* = website_helpdesk_livechat Enterprise counter-part. Part of task-4775128 task-4676468 task-4676464
This update removes leftover code from earlier reconciliation improvements in accounting-related modules. It helps keep the system cleaner and reduces the chance of unnecessary or confusing behavior, with no expected change to normal user workflows.
Original PR description
In this commit: https://github.com/odoo/enterprise/pull/80787/commits/04a304d58a56c7d2eeb70429340eb048fa9f2be6 We refactored the reconciliation model to be easier to use for users. However, by doing the refactor we forgot to remove some code. no task id Forward-Port-Of: odoo/enterprise#90310
Fixed an issue where Sign document reminders could fail if no “Valid Until” date was set. Scheduled reminders now continue running reliably, helping users avoid missed follow-ups on signature requests.
Original PR description
When a `sign.request` record has `validity` as `False`, attempting to send a reminder via the `_cron_reminder` method leads to a crash. **Steps to Reproduce:-** 1. Install the `Sign` module. 2.…
When a `sign.request` record has `validity` as `False`, attempting to send a reminder via the `_cron_reminder` method leads to a crash.
**Steps to Reproduce:-**
1. Install the `Sign` module.
2. Navigate to the Sign section and click on `Upload PDF & Sign`
3. Upload any PDF document and add your signature, then click `Send`
4. In the new wizard, remove the value for `Valid Until` and enable the `reminder` option. Set the reminder to `every 1 day.`
5. When our scheduled action named `Sign: Send Mail Reminder` executes the following day, it will throw an error.
**Error:-**
`TypeError(''<' not supported between instances of 'bool' and 'datetime.date'') while evaluating 'model._cron_reminder()''`
**Root Cause:-**
The SQL query within the `_cron_reminder()` method retrieves all records where:
- The request is `active` and in the `sent` state.
- Either:
- `validity < today` or
- A reminder is due based on `last_reminder + reminder`.
The fetched records are then iterated through at [1].
[1]
https://github.com/odoo/enterprise/blob/ac4aeeea98dcf2fc7f06e6a3fabc55e256330e2c/sign/models/sign_request.py#L454
If `validity` is `False`, this comparison raises a `TypeError` because it is invalid to compare a `boolean` with `datetime.date`.
**Solution:-**
- A safety check was added before the comparison between `request.validity` and today's date, ensuring that `request.validity` exists.
Sentry-6727599497
Forward-Port-Of: odoo/enterprise#91220
Forward-Port-Of: odoo/enterprise#89646This fix updates the AI Fields integration to use the correct OpenAI service address after a recent configuration change. It helps ensure AI-powered field features continue working reliably for users.
Original PR description
Purpose: -------- In commit [1], `/v1` has been added to the openai `base_url` in the `llm_api_service`, but the endpoint used in the ai_fields was not updated accordingly. [1]: https://github.com/odoo/enterprise/commit/d0c10008ce5b971638ae52ea2751628325c04da7 Task-4879318
This update fixes an internal payroll attendance test so it correctly reflects recent date comparison behavior. It helps ensure payroll attendance calculations involving time zones remain reliably validated before release.
Original PR description
The comparison with dates is fixes, so is this test. odoo/odoo#220646
This fix corrects default setup behavior in Swiss payroll records that was causing automated validation errors. It helps keep payroll-related configuration and processing more reliable for Swiss localization users.
Original PR description
https://runbot.odoo.com/odoo/runbot.build.error/115307 Forward-Port-Of: odoo/enterprise#91173 Forward-Port-Of: odoo/enterprise#90487
This fixes a dashboard filter label that displayed the internal value "not_set" to users. The option now appears as human-friendly text, making spreadsheet dashboard filters clearer and more polished.
Original PR description
Steps to reproduce: - open a dashboard with any relation filter having operators - click on the search bar to open the filter dialog - add a filter => the last select option is the technical value '"not_set"' instead of being a human friendly text. The commit that introduced global filters operators (dddcd8919f0) was done at the same time as commit 7602ca0f61750 which changed "not_set" to "not set" Task: 4937875
The Philippine BIR 2307 export checks were updated to match recent spreadsheet changes, including ZIP code handling and the correct payment description source. This helps ensure generated tax certificate data is validated against the expected official reporting format.
Original PR description
The BIR 2307 XLS export was missing the `ZIP_code` and incorrectly showing the `nature` of payment from the invoice line instead of the tax description. In this commit: --- - updates the tests to include the `zip_code` column and fetch the correct `nature` from the tax description. - adjust name fields to reflect individual vs company partner logic. community-PR- odoo/odoo#214940 --- task-4880921 Forward-Port-Of: odoo/enterprise#91202 Forward-Port-Of: odoo/enterprise#91120
The VoIP module was still sending an outdated value that is no longer accepted, which could cause a crash. This fix removes that leftover value so VoIP call handling works reliably again.
Original PR description
"state" is no longer accepted as a kwarg of create_and_format, resulting in a crash when provided. This commit removes a leftover occurrence of the "state" kwarg.