Daily updates from Odoo
Tuesday, June 10, 2025
16 changes
2 changes
Resolved issues and error corrections
This fix prevents Accounting users from seeing an error after fetching bank transactions and clicking the total amount. The system now keeps the correct bank journal context, so users can open the related balance view without interruption.
Original PR description
The system will crash with an error when we `fetch transactions` and then click on the total amount in the top right corner, because the method `action_open_bank_balance_in_gl` expects `exactly one…
The system will crash with an error when we `fetch transactions` and then click on the total amount in the top right corner, because the method `action_open_bank_balance_in_gl` expects `exactly one journal record` (self.ensure_one()), but receives an empty recordset. **Steps to Produce:-** 1. Install the `Accounting` module. 2. Navigate to `Invoicing > Bank`, then click on "Search Banks" and connect with the `Odoo Bank Sync Demo`. 3. Click on `Fetch Transactions` and wait for the process to complete. 4. In the new view, click on the `total amount` located in the `top right corner`. **Error:-** `ValueError: Expected singleton: account.journal()` **Solution:-** - At [1], in `default_context` we can see that `active_id` is not given. [1] https://github.com/odoo/enterprise/blob/4b8edc19dbece15f7843ec3647c464307e165906/account_online_synchronization/models/account_online.py#L878-L882 - So, in this commit now active_id is added in default_context to prevent the error **Sentry - 6644825437**
The AI app demo data no longer includes temporary Odoo website links that became unreachable during an Odoo.com upgrade. This prevents automated test environments from failing because of unavailable demo URLs, helping teams keep validation pipelines stable.
Original PR description
Using Odoo URLs in the AI app demo data while Odoo.com is upgrading is causing an issue in the runbot as all these URLs are unreachable causing the runbot to be completely red. I am removing these urls for now as a hot fix.
14 changes
Resolved issues and error corrections
This fix lets users update the customer or vendor linked to already reconciled accounting entries, matching what is allowed during the initial reconciliation. It removes an unnecessary restriction so accounting teams can correct partner information without being blocked by reconciliation status.
Original PR description
This has been allowed since saas-12.5, https://github.com/odoo/odoo/commit/6b8acd025758b042cca39508bc8994a1307d1ccd, and is still currently allowed when making a new reconciliation: you can indeed select 2 aml with different partners. But for some reason, in https://github.com/odoo/odoo/commit/1b30777ab63998d1c0b64b655e717d74b3648bcf, we added a restriction to disallow changing that afterwards. All things considered, the change of partner on reconciled entries should be allowed since it's a non-relevant point when reconciling items together. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Sales orders for services that create projects now include the project account within each analytic distribution line instead of adding it as a separate line. This keeps cost and revenue allocation consistent with configured distribution models and avoids duplicate or misleading analytic entries.
Original PR description
1. Have sales and project installed 2. Create a service product which creates a project on order 3. Set up a distribution model for this service 4. Create a sales order with this service. Confirm it. 5. The project account is added to the analytic distribution in a separate line In odoo/odoo#199763, `_compute_analytic_distribution()` in the SO line was changed to add both project account and ditribution model accounts in the analytic distribution. However, the project account should not have its own line and should instead be added to all lines coming from Analytical Distribution Models. no-task --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change fixes an unreliable automated test in the HTML editor image cropper area. It helps keep validation runs stable so future updates can be checked with fewer false failures.
Original PR description
After merging this commit [1], the test sometimes non-deterministically fails on runbot. This PR aims to fix the test. [1]: https://github.com/odoo/odoo/commit/1a2c3c00869fd9702bb9d15e3d38d9c02a3349f5 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the reliability of automated checks for the HTML editor by waiting for on-screen elements to finish appearing or disappearing before validating them. It helps prevent false test failures in slower environments, supporting smoother development and release validation without changing user-facing features.
Original PR description
### Purpose of this PR: - Add `expectElementCount` test helper to wait for elements to appear or disappear before asserting their count. This fixes flaky tests caused by timing issues and animations, especially on slower environments like runbot, in toolbar, link popover, powerbox, tablepicker, tablemenu, and emoji picker tests. task-4849995 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When customers upgrade to Odoo 18, the newly added Create Bill matching rule will now include the proper translation instead of appearing only in English. This improves consistency for users working in other languages, such as Spanish.
Original PR description
If customers migrate to version 18 from a lower version, 'Create Bill' record newly introduced so it just create but not translated. **Before fix:** ``` test_18=# select id,name from…
If customers migrate to version 18 from a lower version, 'Create Bill' record newly introduced so it just create but not translated.
**Before fix:**
```
test_18=# select id,name from account_reconcile_model;
id | name
----+----------------------------------------------------------------------------------------------------------------------------
3 | {"en_US": "Line with Bank Fees", "es_AR": "Línea con comisiones bancarias"}
1 | {"en_US": "Invoices/Bills Perfect Match", "es_AR": "Coincidencia perfecta de facturas"}
2 | {"en_US": "Invoices/Bills Partial Match if Underpaid", "es_AR": "Coincidencia parcial si hay pagos parciales en facturas"}
4 | {"en_US": "Create Bill"}
5 | {"en_US": "Internal Transfers", "es_AR": "Transferencias internas"}
```
**After Fix:**
```
test_18=# select id,name from account_reconcile_model;
id | name
----+----------------------------------------------------------------------------------------------------------------------------
1 | {"en_US": "Invoices/Bills Perfect Match", "es_AR": "Coincidencia perfecta de facturas"}
2 | {"en_US": "Invoices/Bills Partial Match if Underpaid", "es_AR": "Coincidencia parcial si hay pagos parciales en facturas"}
5 | {"en_US": "Internal Transfers", "es_AR": "Transferencias internas"}
3 | {"en_US": "Line with Bank Fees", "es_AR": "Línea con comisiones bancarias"}
4 | {"en_US": "Create Bill", "es_AR": "Crear factura"}
```
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 removes an extra click in an automated test for boolean fields in list views, preventing random failures caused by the value being toggled twice. It improves reliability of the testing process without changing how users interact with Odoo.
Original PR description
This commit fixes a test involving a boolean property field in list view that randomly fails. The problem was that we clicked twice to toggle the boolean value: once on the cell (I assume that it was done to switch the row in edition), and one on the checkbox to toggle it. However, boolean fields in list views don't require the row to be in edition to be toggled. So the first click already toggled the value, and the second click toggled it again, **sometimes** (I guess that's the non deterministic part, it was a question of timing there). So this commit fixes the issue by removing one of the 2 clicks. runbot error~224053 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
This fixes an unreliable automated test for web navigation behavior. It helps keep quality checks stable by making sure the test waits for the page routing state before simulating browser back navigation.
Original PR description
This commit fixes an action service concurrency test that fails randomly. The way the test was written was prone to errors as we didn't wait for the router to be updated before doing browser back. As a matter of fact, we even asserted that we went 2 actions back in the breadcrumbs, whereas it should be only one as we did one browser.history.back(). runbot error~163078 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
This fix prevents the point of sale numpad from briefly appearing and disappearing when users tap the Old unit price text on combo product order lines. It improves the checkout experience for French certified POS sessions by avoiding confusing screen behavior during order editing.
Original PR description
Steps: ------ - Install `l10n_fr_pos_cert` - Open a PoS session, and add a combo product, orderlines corresponding to the combo procuts will be added - Hide the numpad by clicking on the selected…
Steps: ------ - Install `l10n_fr_pos_cert` - Open a PoS session, and add a combo product, orderlines corresponding to the combo procuts will be added - Hide the numpad by clicking on the selected orderline. - Choose a random orderline, and click on the text "Old unit price" -> Observe that the numpad will appear and then disappear immediately. Reason: ------- When clicking the text "Old unit price", two click events are dispatched, those running the click handler twice, the first time it selects the orderline and hence show the numpad, and the second time, it unselects that same orderline, hiding the numpad. Fix: ---- We disable the pointer-events on the "Old unit price" text, making it unclickable, more precisely, preventing it from being a `target` of a click event. With that change, the click handler (aka `clickLink` [1]) will only run once. [1]: https://github.com/odoo/odoo/blob/8fb7e5fd304697aebcce085602a5f3a1ecaf757a/addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.xml#L9 opw-4636261
HR managers can now choose Employee-specific assignment options, such as Coach or Manager, while creating a new activity plan before it is saved. This removes an extra save-and-reopen step and makes activity plan setup more consistent and efficient.
Original PR description
_Description of the issue/feature this PR addresses:_ When setting up a new activity template on a new activity plan, HR specific values for 'Assignment' such as Coach or Manager are not available.…
_Description of the issue/feature this PR addresses:_ When setting up a new activity template on a new activity plan, HR specific values for 'Assignment' such as Coach or Manager are not available. _Current behavior before PR:_ As an HR manager, go to menu HR -> Configuration -> Activity Plan. Click 'New'. Under Activities To Create, click 'Add a line'. Under 'Assignment', the only options available are Ask at launch and Default user. <img src="https://github.com/user-attachments/assets/97be6790-b450-42c6-910a-07483c30e175" width=50% height=50%> Cancel the 'Create Activities' popup. Give the plan a name and save it. Again, under Activities To Create, click 'Add a line'. Only now are HR specific options (Coach, Manager etc) available under 'Assignment'. _Desired behavior after PR is merged:_ HR specific values for 'Assignment' are immediately availalbe when setting up a new plan for the Employee model.  _Technical solution:_ Pass the plan's model as the default model for new templates so that the related field is populated with a value that unlocks the HR specific values before first saving the plan. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Subscription renewals will no longer add invoice lines for recurring items with an ordered quantity of zero. This avoids unnecessary or confusing invoice entries and keeps customer invoices cleaner.
Original PR description
Before this commit, when a recurring order_line had an invoice_policy "order" and the quantity was 0, it would be added to the invoice. taskid: 4841550
Delivery status buttons and switches in Point of Sale delivery views now align better on smaller screens. This makes mobile use clearer and easier for staff managing delivery orders.
Original PR description
Before this commit: === - The delivery status buttons (New, Ongoing, Done) and the toggle Switches were misaligned on smaller screens due to the use of grid layout, After this commit: === - The layout uses a flex-based structure, which ensures better alignment and spacing across screen sizes. Task: 4844890
The EC Sales List now avoids incorrectly warning about duplicate VAT numbers when a partner has both invoices and refunds in the same reporting period. This helps users trust the report warnings and reduces unnecessary investigation of valid customer records.
Original PR description
Fixed the computation of `is_vat_duplicated` to avoid false positive in case of partners having both invoices and refunds in the selected period.
This fix prevents an error that could occur when a user opened an app through the command palette and immediately typed into the search field. It improves reliability of navigation in the Enterprise web interface and avoids an unexpected interruption for users.
Original PR description
Before this commit a traceback was occurring when opening an app using palette and then immediately passing a value in palette search input. After this commit the traceback will not occur anymore. task-4735048
Restaurant staff now keep the relevant order selected after accepting it or marking it as food ready in UrbanPiper POS. This reduces extra clicks and helps teams continue processing online orders without losing context.
Original PR description
Before this commit: === - After accepting an order or marking it as "Food Ready," no order was selected by default. After this commit: === - After accepting an order or marking it as "Food Ready," the respective order is automatically selected by default. task-4442911