Tuesday, February 3, 2026
37 changes · 19.0
New functionality added to Odoo
This update adds missing templates for Equity and Government checks within the Odoo Enterprise accounting reports. This ensures accurate and comprehensive reporting, fulfilling a key requirement for financial compliance and providing complete data for analysis. It builds upon previous work to ensure data integrity.
Original PR description
Completes the work started in odoo/enterprise#88360. The Equity and Government check templates were missing and are added here to fully complete the data. task-5365677
Enhancements to existing features
This update makes the top bar (embedded actions) visible by default when a new audit working file is created and opened for the first time. This simplifies the initial user experience and ensures users immediately have access to key controls. The visibility is still customizable based on user preferences.
Original PR description
Currently, the top bar (embedded actions) in Working Files in audit is not visible by default when the user creates and opens it for the first time. This commit makes it visible when the Audit is created and opened for the first time, later on the visibility is decided as per the user preferences set in the `res.users.settings.embedded.action` model. task-5388717
Resolved issues and error corrections
Fixed an issue where clicking a button link in the email template editor could show an invalid URL preview error. This helps marketing users verify storefront links, such as shop pages, without interruption while editing templates.
Original PR description
**Steps to reproduce:** - Install `mass_mailing` and `website_sale`. - Go to Email Marketing > Create new record. - In the template editor, insert a /button. - Set the URL to `/shop` and select it…
**Steps to reproduce:** - Install `mass_mailing` and `website_sale`. - Go to Email Marketing > Create new record. - In the template editor, insert a /button. - Set the URL to `/shop` and select it from the app URLs. - Click on Apply, then click on the newly created button. **Issue:** - Clicking on the button raises a UI error: `This URL is invalid. Preview couldn't be updated.` **Root cause:** - In [1], `this.props.document.url` is used. - This works in the website editor, but in template view `this.props.document` points to the iframe document, not the document. **Solution:** - Replace `this.props.document.url` with `document.URL`. - This ensures the preview works correctly in both website and template views. [1]https://github.com/odoo/odoo/blob/12d63b536dddc40428fb5edb6f6b3302605dc72d/addons/html_editor/static/src/main/link/link_popover.js#L506-L507 **Before:** <img width="381" height="123" alt="image" src="https://github.com/user-attachments/assets/1370b04d-8bc6-40b9-b7b0-77413a36bd51" /> **After:** <img width="419" height="119" alt="image" src="https://github.com/user-attachments/assets/d5d47a47-1805-4b1f-b852-88ea725beaba" /> opw-5428680 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Documentation and clarification updates
The corporate contributor agreement record for Moduon has been updated. This keeps Odoo's legal contribution documentation current and supports continued collaboration with the partner.
Original PR description
@moduon MT-13567 Forward-Port-Of: odoo/odoo#246701
This fix changes when the Irish chart of accounts update runs during upgrades, moving it to a later point after all modules are loaded. This prevents warning messages during migrations and helps make Irish localization upgrades smoother and more reliable.
Original PR description
We faced a warning because this update doing a try_loading is called in `post-` scripts (after the module is loaded) and not in `end-` scripts (when all modules are loaded). All l10n_* modules were changed in this PR: https://github.com/odoo/odoo/pull/183359 Regarding the changes in this PR related to Registry: https://github.com/odoo/odoo/pull/186467 see: https://github.com/odoo/odoo/pull/222186 upg-3828301 **Reference Image** <img width="1769" height="39" alt="2026-01-28_18-44" src="https://github.com/user-attachments/assets/8aa5f213-b150-403b-b2a1-0bc9ed4a4ccc" /> Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246541
Creating a new contact from a CRM opportunity now correctly copies the selected company's address. This prevents incomplete contact records and reduces manual cleanup for sales teams.
Original PR description
**Steps to reproduce:** - Install Sales/CRM apps - Go to CRM app - Create new opportunity card - Set a company (`commercial_partner_id`) - Create a new contact using `quick_create` - The new contact is linked to the company but it doesn't inherit the company address **Issue:** Kanban quick create of crm app was modified to allow a company field, which is used as `default_parent_id` when creating a new partner from the card. This properly set the partner `parent_id` and `commercial_partner_id` but without applying the logic of `_fields_sync()` which also added the address (only for quick_create). **Fix:** Check if a default value was given for `parent_id` in `_fields_sync()`. related: https://github.com/odoo/odoo/commit/a6c3ebc21c066ab4d5711f535ca5fc858e6485b0 opw-4932114 Forward-Port-Of: odoo/odoo#229234
The point of sale loyalty screen now only highlights the “more control” button when valid rewards are actually available. This avoids misleading cashiers and helps them quickly identify real reward options during checkout.
Original PR description
Before this commit: ========= - The more control button was being highlighted even if rewards were not available. After this commit: ========= - The more control button will be highlighted if only valid rewards are there. task-5438708
Users can now star eligible Inbox notifications even when those messages are not linked to a discussion thread. This fixes cases such as sign request notifications where the star action was incorrectly unavailable, making it easier to mark important messages for follow-up.
Original PR description
**Description of the issue this PR addresses:** Starring a message should depend on whether the message is persistent and whether the current user is allowed to star it, not on whether the message is attached to a thread. **Current behavior before PR:** Some persistent messages (such as user notifications) can be displayed in Inbox without an associated thread. In such cases, the star action was unavailable even though the message itself was valid and persistent. **Desired behavior after PR is merged:** This change removes the dependency on thread presence when determining whether a message can be starred. As a result, users can now star persistent messages without a thread, including Inbox notifications such as sign requests. task-[5473438](https://www.odoo.com/odoo/project/1519/tasks/5473438) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#244204
This update stabilizes an automated website test related to saving images. It helps reduce false test failures, making development checks more dependable without changing the customer-facing website experience.
Original PR description
The purpose of this commit is to fix the non-deterministic test “Save image with correct parameter.” There is no guarantee that ‘modify_image’ will be executed during the next animationFrame. Solution: Use “expect.waitForSteps” to wait for “modify_image” to be executed. error-238377 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246788
Stock transfer users can now correct product descriptions after a picking leaves draft status. The field only becomes read-only once the transfer is completed or cancelled, making it easier to fix mistakes before finalization.
Original PR description
Once a picking is no longer in draft, it's not possible to edit a product description anymore and there's no easy way to correct a mistake. Solution: only make it readonly in done or cancel state. task 5083104 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#243109
Video thumbnails in Mail link previews now fill their preview area consistently instead of leaving blank space. This makes shared YouTube and other video links look more polished and uniform for users.
Original PR description
**Purpose of this PR:** Before this commit, video thumbnails from youtube left blank spaces in the container, creating inconsistent layouts across different video links. After this commit, thumbnails consistently fill the entire container, ensuring uniform appearance for all video link previews. **Before/After:** <img width="533" height="407" alt="image" src="https://github.com/user-attachments/assets/ce2ba872-27b7-4be5-9d85-fbbe6f272e14" /> <img width="481" height="386" alt="image" src="https://github.com/user-attachments/assets/523f5d16-2983-49c1-9dcc-01adb4284e56" /> task-5424534 Forward-Port-Of: odoo/odoo#244176
This fix makes an automated website editing test wait for the correct page loading indicator before continuing. It reduces random test warnings and helps keep website editor quality checks stable without changing end-user behavior.
Original PR description
`insertSnippet` has a step to wait for `o_loading_screen` to disappear, but it is querying the iframe inside the dialog instead of the main iframe. This issue causes the following undeterministic warning error: ``` should not have any "characterData", "remove" or "add" mutations in current step when you update the selection ``` Ensure we are waiting for the loading screen of the correct iframe. runbot-229803 Backport-Of: https://github.com/odoo/odoo/pull/246750 Forward-Port-Of: odoo/odoo#246819
This fix prevents tab styling from unintentionally overriding the background color of columns placed inside tab content. Website editors can now combine tabs and column layouts without losing their chosen visual formatting.
Original PR description
Steps to reproduce: =================== 1- Drop the block tab snippet 2- Inside one of the tab panes, drop a Columns snippet. 3- Select background_color for one of the columns 4- Change tab style to…
Steps to reproduce: =================== 1- Drop the block tab snippet 2- Inside one of the tab panes, drop a Columns snippet. 3- Select background_color for one of the columns 4- Change tab style to tab -> The background color of the inner column is overridden. Cause: ====== When the "Tabs" snippet style is set, a `.card` class is added to its container (See [1]) A generic CSS rule, intended to style these tabs, was targeting any `.card` element with a `.card-body` child. (See [2]) However, the Columns snippet also uses a `.card > .card-body` structure (distinguished by a `data-vxml` attribute). This caused the overly broad tab-styling rule to incorrectly cascade and override the background color of the nested column. Solution ======== The SCSS selector has been made more specific so that works if `card-body` class doesn't have any parent class with class `card` and has attribute `data-vxml` [1]: https://github.com/odoo/odoo/blob/4cb3ffc09507fdfdb1aeabb70b2c93105f992700/addons/website/static/src/snippets/s_tabs/options.js#L149 [2]: https://github.com/odoo/odoo/blob/4cb3ffc09507fdfdb1aeabb70b2c93105f992700/addons/web/static/src/scss/bootstrap_review_frontend.scss#L55 opw-5394480 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241118
Creating a calendar reminder now handles a cleared Type field without causing an error. This prevents users from being blocked while configuring reminders and keeps the reminder name updated once required fields are restored.
Original PR description
Currently, an error occurs when user creates a reminder. **Steps to Reproduce:** - Install the `calendar` module. - Go to `Calendar` > `Configuration` > `Reminders`. - Create a `new reminder` and…
Currently, an error occurs when user creates a reminder.
**Steps to Reproduce:**
- Install the `calendar` module.
- Go to `Calendar` > `Configuration` > `Reminders`.
- Create a `new reminder` and clear the `Type` field.
`KeyError: False`
**Cause**:
- Error started occurring in 19.0 due to a change in selection field behavior. Since change https://github.com/odoo/odoo/pull/214422/commits/8d2a42ac419fdf7943a0c11beb8c5de6c6f85bef, selection fields no longer display an “empty” value.
- To remove a value from a selection field, the user must clear the field, similar to a many2one field.
- When the Type field is cleared, its value becomes False, which raise the error here [1].
**Fix:**
- This commit ensures that when the alarm type is False, display_alarm_type is set to an empty value
similar to the display interval [2].
- Since both fields are required, once they are set again, the correct name is computed accordingly.
[1]: https://github.com/odoo/odoo/blob/2ee2f7678ed262036ee8cf8719ceafd3d69d4062/addons/calendar/models/calendar_alarm.py#L72-L74
[2]: https://github.com/odoo/odoo/blob/97e90f14ea40e4dc8645f845ef78eb579bb3e8dc/addons/calendar/models/calendar_alarm.py#L71
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fix stabilizes two automated tests for date and time fields in editable list views. It reduces random test failures so updates can be validated more consistently without affecting end-user behavior.
Original PR description
This commit fixes two unit tests involving the datetime field which are randomly failing since [1]. In the first one, we add a record in an editable list view. The first field is automatically…
This commit fixes two unit tests involving the datetime field which are randomly failing since [1].
In the first one, we add a record in an editable list view. The first field is automatically focused (in `onMounted`). Before this commit, the first field was the datetime. When it is focused, the datetime field re-renders itself (from a `<button>` to an `<input>` with datepicker). The test failed when those two renderings were done within the same animationFrame, which was rare but possible. We fix the test by moving `foo` field before `date`, that way, the date field is never focused, and we can properly assert the default date value.
In the second one, again in an editable list, we select a date in the picker, and we then assert that the field is rendered with a `<button>` whose text is correct. The test sometimes failed because there was no button (the field was still displaying an `<input>`). When the value is selected, an update is done in the model, which triggers a re-rendering. At that moment, the picker still states that there's an `activeInput` ("date"), so the field is rendered with an input. The picker state is only updated afterwards, so there's another rendering, where `picker.activeInput` is "", which leads to the expected `<button>` being rendered. However, that rendering can happen in another animationFrame, thus triggering the issue. This commit fixes it by simply waiting for the button to be displayed.
[1] https://github.com/odoo/odoo/pull/218387
runbot error-238437 (1)
runbot error-238758 (2)
Description of the issue/feature this PR addresses:
Current behavior before PR:
Desired behavior after PR is merged:
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis change brings back automated checks for self-billing XML generation that were accidentally removed. It helps ensure electronic invoicing documents for self-billing scenarios continue to be generated correctly and reduces the risk of regressions.
Original PR description
Accidentally removed by 4247eac4a84c. task-none
This fix removes a timing delay from website editor previews that could interfere with typing. It helps prevent the first typed character from being lost when users edit website content while preview behavior is active.
Original PR description
With commit aa3a2a694930d077aab5ff55e72655cc453a64ff, the delay of one animation frame in the preview of `templatePreviewableWebsiteConfig` is not necessary anymore. This was the only preview with a delay that can be triggered by hovering a button (the others needs to open a dropdown or input in text field). With commit be032732d1f5d1f7b28da3fa7bf19bffbef4a46d, previews are reverted as soon as the user starts typing, to avoid loosing the typed text when the preview is reverted. But this does not handle completely previews that are async: they may revert just after the first character is typed, and thus loose that character. This commit eliminates async preview that can be triggered while keeping focus in the editor. task-5493193
The website image gallery template was corrected to avoid stray placeholder styling and restore expected spacing. This helps pages using the gallery look cleaner and more consistent for visitors.
Original PR description
This commit fixes a few minor issues in the new carousel items template introduced in [1]: items having an `"undefined"` class, and a missing margin style in the main snippet template. [1]: https://github.com/odoo/odoo/commit/9042b1cae7b630b20e0670788b7a4ed9e4c97609 linked-task-3414281 Forward-Port-Of: odoo/odoo#245357 Forward-Port-Of: odoo/odoo#241785
A recent test failure related to restaurant appointment tours has been resolved. The fix ensures the test accurately reflects the system's time by applying a simulated time early in the process, preventing inconsistencies. This improves the reliability of our test suite.
Original PR description
The `RestaurantAppointmentTour` was failing inconsistently because the browser used the real system clock during the initial Point of Sale load, while the test data was created for a specific mock date (Jan 28). Because the PoS logic filters appointments based on the current time, the test data was being misinterpreted or "normalized" by the application before the tour had a chance to freeze the clock. Moving `Chrome.freezeDateTime` to the absolute first step of the tour ensures the simulated time is applied as early as possible, making the test deterministic. runbot-232601 Forward-Port-Of: odoo/enterprise#106024
This update resolves an issue where sending voice messages without text would trigger an error. The fix prevents the system from incorrectly interpreting empty HTML as a required text message, ensuring voice messages are successfully sent via WhatsApp.
Original PR description
Sending a voice message without any text can trigger a WhatsApp API error because the empty HTML body is incorrectly treated as a valid text message. ### Reproduction Steps 1. Open the Discuss app.…
Sending a voice message without any text can trigger a WhatsApp API error because the empty HTML body is incorrectly treated as a valid text message. ### Reproduction Steps 1. Open the Discuss app. 2. Select a WhatsApp channel. 3. Record and send a voice message without typing any text in the composer. 4. Observe the message status. Result: The status changes from "Sent" to "Failed" with the error `(#100) The parameter text['body'] is required`. ### Cause The WhatsApp API does not support captions for audio files. Messages containing both audio and text are split into two separate WhatsApp messages: one for the audio file and one for the text body. Whether the text message is created depends on whether the message body is considered non-empty. Since commit odoo/odoo@f4dcc83adf552466ba7b05f09a4c651fe69f18ff , the composer’s default content is an empty HTML element. Although visually empty, this HTML is still a non-empty string at the data level. As a result, the system incorrectly determines that a text message is required and creates a secondary `whatsapp.message` record. When processed, the empty HTML is converted to a plain text string (`""`). Sending this as a text message fails validation because WhatsApp requires a non-empty body for text messages. ### Fix 1. Update `DiscussChannel.message_post()` to use `tools.is_html_empty(body)` to detect semantically empty HTML. This prevents creating a separate text message for audio attachments when the composer content is effectively empty. 2. Update `WhatsappMessage._send_message()` to check the truthiness of the converted plaintext `body` rather than the raw HTML field before adding a caption. This prevents sending an empty `caption` parameter for attachments when the body is empty. opw-5266805
This update corrects a technical issue related to a tour (tutorial) within the Swiss localization of Odoo's payroll system. Specifically, the tour was incorrectly guiding users through work entries, which aren't relevant for Swiss companies. This fix ensures the tour functions correctly for Swiss businesses.
Original PR description
The Work Entries button on the form view of the hr_payslips is defined differently in the Swiss localization. We need to override the tour to make it work for swiss companies. Runbot Error: 234647
A bug preventing the sign tour from completing was resolved. The fix ensures the sign UI tests run correctly by using a reliable selector for the document signing button, eliminating a timeout error. This improves the reliability of the document signing process.
Original PR description
The sign_tour was failing because the `.o_sign_sign_directly` button was not found in the document view, causing the tour step to timeout and breaking both sign UI tests. This was due to the tour not properly opening the document in the signing view. The tour now relies on a stable selector, restoring successful execution of `test_sign_tour` and `test_sign_tour_without_sign`. Runbot issue: https://runbot.odoo.com/odoo/runbot.build.error/234923
This update corrects a bug in the salary configurator where the fuel card benefit would incorrectly appear enabled if no company car was chosen. The change ensures the field is properly initialized and remains disabled until a car is selected, preventing data inconsistencies. This improves the user experience and data accuracy.
Original PR description
On first load of the salary configurator, the fuel-card benefit could appear enabled even when no company car was selected. The dependency logic reacted to in-page changes but did not initialize the field correctly on page load. Initialize the fuel-card field from the current car selection and keep it non-selectable until a car is chosen to prevent inconsistent packages. task-5156562
This update resolves an issue where outdated account synchronization records could cause problems, preventing new connections. By focusing on fresh, uninitialized links, the system now reliably establishes and maintains account connections. This ensures smoother operation for our users.
Original PR description
Prevent reusing stale account.online.link records that have a provider_type set, which can leave an unusable row and block new connections. By adjusting the search domain in action_new_synchronization, we only reuse clean, uninitialized links. opw-5868438 opw-5867799 Forward-Port-Of: odoo/enterprise#105187
This update ensures the accounting dashboard's data is compatible with the latest Odoo 18.5 version. The change addresses a technical issue where data formats were being incorrectly upgraded, and while partially implemented, requires further refinement for full functionality.
Original PR description
This commit upgrades the data for the accounting dashboard from the 18.4.x file format to 18.5.x The goal is to avoid having `ODOO.FILTER.VALUE` being upgraded to `ODOO.FILTER.VALUE.V18` because the dashboard was already adapted to work[*] with the new formula see 682d6ec1ddb825674999e0db1fc0cc48c3be67c5 *: it only half-works. It only works for simple values of filters (years, quarter, months), but it doesn't work properly with others (Last 7 days, etc.)
This update resolves a test failure related to a date restriction in the dividend fiscal year selection field. The fix ensures the test environment uses the correct, 'frozen' date range, preventing errors. While a long-running server scenario is considered theoretical, this change improves test reliability.
Original PR description
The selection field of the dividend_fiscal_year has a restricted range based on dates, which has implication for the frozen dates in the test. That is why the test will fail today: 2021 is not anymore in the selection. But, suppose however that you have a server running for 3 years, it could be problematic as well. (quite theoretical however) So we can simply make the selection field selection in the wizard a lambda method and that way also in the test, it will take the 'frozen selection'. build error 237681 https://runbot.odoo.com/odoo/runbot.build.error/237681 Forward-Port-Of: odoo/enterprise#106132
This update fixes a bug that occurred when users undid copying planning slots. Specifically, it prevented an error from appearing when a record had already been deleted. The fix ensures the system checks for record existence before attempting to delete, improving stability and usability of the Planning module.
Original PR description
### Steps to reproduce: - Install Planning - Navigate to the gantt view for planning slots - Copy previous week's slots - Delete one of the newly copied records - Undo the copying action - Notice an Error is raised that a record doesn't exist ### Cause: When undoing the copy process we unlink all the newly created records but if the user has already deleted one of them it will trigger an error that this record doesn't exist and it has already been deleted ### Fix: We check the existence of the records before deleting them. opw-5490327 Forward-Port-Of: odoo/enterprise#105530
This update simplifies the subscription plan view by removing irrelevant order line details like sections and discounts. The change focuses only on displaying the actual subscription products, making it easier for users to configure and understand their plans. This improves usability and reduces visual clutter.
Original PR description
The subscription plan view was displaying all order line types, including sections, notes, and discount lines, which added unnecessary clutter. This update filters the order lines to display only actual subscription products, improving clarity and usability in the plan configuration. task-5404614 Forward-Port-Of: odoo/enterprise#106076 Forward-Port-Of: odoo/enterprise#101796
This update fixes an issue where the 'Next Booking Start' field for rooms was displaying incorrectly when a room had existing bookings. The change removes a filtering step that prevented the system from accurately calculating the next available time, ensuring the field always reflects upcoming booking opportunities.
Original PR description
Steps to reproduce:
1. Install `room`
2. Create a room.
3. Create a booking for the current time (so the room becomes occupied).
4. Create another booking for tomorrow.
5. Open the list view of rooms.
Current Behavior:
- The `Next Booking Start` field is empty for the created room, despite Having future bookings.
Cause:
- The method `_compute_next_booking_start` filters the rooms using `self.filtered('is_available')`. Since the room is currently occupied (due to the active booking), the room is excluded from the query entirely.
Solution:
- Remove the `is_available` filter from the search domain. The next booking start time is now calculated for all rooms, regardless of whether they are currently available or occupied.
opw-5360101
Forward-Port-Of: odoo/enterprise#102129Rendering IoT reports from PoS is failing because of PoS using string uuids as `res_ids`. As they are not required to render pdf reports, we filter them out.
Original PR description
Rendering IoT reports from PoS is failing because of PoS using string uuids as `res_ids`. As they are not required to render pdf reports, we filter them out.
This update resolves an issue where opening reports with associated actions would cause a crash if the report data wasn't fully loaded. The fix ensures that report actions can be used reliably during the report loading process, improving user experience. This prevents unexpected errors and ensures consistent functionality.
Original PR description
When a report was loading if a reportAction was used and no report already was loaded before, it would crash. This happened because we tried to get the context from the data which were not yet loaded. To reproduce: - switch to debug mode (?debug=1) - add a 5s delay in _get_lines - when a report is opening, try to click on the settings cog that appear in debug mode
This update fixes a translation issue where warnings on payslips didn't correctly display translated field names in French (CH). The change ensures that all missing information fields on payslips are accurately translated, improving the user experience for French-speaking Swiss users. This resolves a minor usability concern.
Original PR description
The warnings that appear on a payslip when the employee's form misses information are not fully translated Steps to reproduce: 1. Install module l10n_ch_hr_payroll 2. Switch to "My Swiss Company" and change language to French (CH) 3. Open app "Paie" and create a new employee (only add a name) 4. Click on "Contrats" in the stat button and create a new contract for the employee (only add a name), save it and set it as "En cours" in the status bar 5. Go to "Fiches de paie" > "Toutes les fiches de paie" and create a new payslip 6. Add the newly created employee to the payslip 7. The warnings in the form displaying the missing fields from the employee form do not translate the name of the missing fields Solution: Use `get_description` to get the translated name of the missing fields opw-5403634 Forward-Port-Of: odoo/enterprise#106188 Forward-Port-Of: odoo/enterprise#104499
This update resolves a problem that prevented the l10n_be_hr_payroll_fleet module from installing correctly when automatic module installation was skipped. The fix ensures the necessary dependencies are included, preventing a traceback error during demo data creation, and improving the module's stability.
Original PR description
Steps to reproduce: 1. Install l10n_be_hr_payroll_fleet with --skip-auto-install and demo data. 2. Traceback when creating demo data because driver_employee_id is missing on the model fleet.vehicle Cause: The module depends on fleet instead of hr_fleet so hr_fleet is only auto installed. Thus, when skipping auto install, the field driver_employee_id doesn't exist. Fix: Change the dependency from fleet to hr_fleet to force the module to be installed. Runbot error: https://runbot.odoo.com/odoo/runbot.build.error/237909 Task: 5875410 Forward-Port-Of: odoo/enterprise#106199
This update fixes issues with how Odoo's website data is collected, specifically addressing problems with robots.txt and content cleanup. The changes ensure accurate data extraction and prevent errors related to website elements like popups and cookie bars, leading to more reliable website information.
Original PR description
## Fix Summary - Include the instance's base URL in internal domains to allow bypassing robots.txt checks for sites that have no domain. - Fix the scraper's cleaning logic to prevent content containers deletion edge cases on Odoo websites. - Refine noise removal for Odoo websites (popups, cookie bars, etc.).
This update corrects a minor error in the invoice and withhold view for the Ecuador localization (l10n_ec_edi) module. The fix removes an extra closing tag that was causing formatting problems with the invoice XML, ensuring invoices are generated correctly. This improves the accuracy of financial reporting.
Original PR description
Currently, the `account_move_form_invoice_and_withhold_view` contains an invalid closing group tag (`</group>>`) introduced by PR [1], at [2]. The extra `>` results in malformed XML. This commit removes the stray character and restores a properly closed `</group>` tag. [1]: https://github.com/odoo/enterprise/pull/77592 [2]: https://github.com/odoo/enterprise/blob/7c574d758ff5b1404b808cc647d4a2ae40f5f0c0/l10n_ec_edi/views/account_move_views.xml#L79 **No task Id** Forward-Port-Of: odoo/enterprise#106104
This update resolves a test failure within the Odoo Enterprise testing suite. The change prevents unintended modifications to a key configuration setting, ensuring consistent test results. This improves the reliability of our core enterprise application testing.
Original PR description
Updating the fieldsets of `DEFAULT_FIELDS_TO_EXECUTE` in place changes the behaviour of `test_23_export_hardcoded_models_and_fields` if that test runs after `_compute_excluded_fields` has been executed for one reason or an other, which apparently does not occur during post_install but *does* occur during at_install, and so fails in the "full" enterprise test running everything in a single job. https://runbot.odoo.com/odoo/error/238451 https://runbot.odoo.com/odoo/error/238449 https://runbot.odoo.com/odoo/error/238497 Forward-Port-Of: odoo/enterprise#106110
This update addresses a temporary issue with downloading tax rates for Switzerland (l10n_ch_hr_payroll) due to changes on the Federal Tax Administration website. The pull request adjusts the import URLs to ensure the system continues to function correctly and accurately reflect the latest tax rates.
Original PR description
Due to recent updates on the Federal Tax Administration website, the single-canton import feature was made temporarly unavailable, this PR adjusts the new URLs for downloading the tax rates Forward-Port-Of: odoo/enterprise#106288