Daily updates from Odoo
Tuesday, May 13, 2025
16 changes
1 change
Resolved issues and error corrections
The accounting reconciliation process has been corrected so users can reconcile selected entries without encountering an error. This prevents an interruption in daily accounting workflows caused by an outdated internal reference.
Original PR description
**Steps To Reproduce:** - Go to accounting -> reconcile. - Select 1 or 2 entries and try to reconcile. **Issue:** - By clicking on the reconcile button, a traceback occurs. **Cause:** - In the new bank reconciliation widget, the field "counterpart_type" is removed from the 'account.reconciliation.model' ([Ref](https://github.com/odoo/odoo/pull/203327/files#diff-c217a13a40a3cc27dc516b899793abecfac8cab9a42fed407d4776bcbc9de9a8L180 )), but it is not removed from one domain, which causes the traceback. - **Solution:** - The fields which is removed from the 'account.reconciliation.model', is removed from the domain. Task-4784111
3 changes
Enhancements to existing features
Users now see a clear option to reset filters when a view has no matching records, helping them recover faster from empty search results. Empty screens that rely on sample data also display a banner so users better understand that the data shown is illustrative.
Original PR description
task-4648766 odoo PR https://github.com/odoo/odoo/pull/208864 enterprise PR https://github.com/odoo/enterprise/pull/85388
AI agents are now linked more directly to their persona records, making related chat interactions faster and easier to maintain. The opening message in AI agent conversations can also use the agent's subtitle, creating a clearer first impression for users.
Original PR description
First commit refactors how ai.agent records are accessed from Persona(res.partner) to improve performance and code clarity. Currently, an orm.searchRead() call was necessary to fetch the corresponding ai.agent for a Persona. This commit also adds helper function `isAgent()` to the Persona model. Second commit is my change proposal for start message of a chat with AI agent. Let me know how you think about this! <img width="1357" alt="image" src="https://github.com/user-attachments/assets/48955c4b-529a-44f0-b1e0-748b9c2de9ce" />
Updates Romanian electronic invoicing to better synchronize with ANAF, Romania's tax authority. This helps businesses keep invoice exchange and compliance workflows aligned with official systems.
Original PR description
WIP task-4588800 related : https://github.com/odoo/odoo/pull/205141
12 changes
Resolved issues and error corrections
This update refreshes Odoo's spreadsheet component with several fixes that improve calculation accuracy, pivot table behavior, chart handling, and formula assistant usability. Users should see fewer spreadsheet errors, smoother editing, and better performance from reduced unnecessary screen updates.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/b3088aaea [REL] 18.0.28 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/b3088aaea [REL] 18.0.28 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/a42cc3d54 [FIX] evaluation: fix floating point precision [Task: 4766910](https://www.odoo.com/odoo/2328/tasks/4766910) https://github.com/odoo/o-spreadsheet/commit/225011e7e [FIX] tokenizer: support signed scientific exponent [Task: 4766910](https://www.odoo.com/odoo/2328/tasks/4766910) https://github.com/odoo/o-spreadsheet/commit/435787836 [FIX] Stores: skip unnecessary renderings [Task: 4781429](https://www.odoo.com/odoo/2328/tasks/4781429) https://github.com/odoo/o-spreadsheet/commit/f28aac049 [FIX] pivot: chart field with mix of text and numbers [Task: 4771482](https://www.odoo.com/odoo/2328/tasks/4771482) https://github.com/odoo/o-spreadsheet/commit/cf5bc138e [FIX] composer: empty composer assistant shadow [Task: 4774936](https://www.odoo.com/odoo/2328/tasks/4774936) https://github.com/odoo/o-spreadsheet/commit/64a0827af [FIX] pivot: pivot panel with multiple of same dimensions [Task: 4775660](https://www.odoo.com/odoo/2328/tasks/4775660) https://github.com/odoo/o-spreadsheet/commit/7f60d915d [FIX] sheet: make sheetName comparison case insensitive [Task: 4707398](https://www.odoo.com/odoo/2328/tasks/4707398) https://github.com/odoo/o-spreadsheet/commit/c2c5f5ce9 [REV] pivot: re-introduce pivot missing cell insertion [Task: 4707732](https://www.odoo.com/odoo/2328/tasks/4707732) https://github.com/odoo/o-spreadsheet/commit/a7aae8117 [FIX] Composer: keep focus with interacting with formula assistant [Task: 4771772](https://www.odoo.com/odoo/2328/tasks/4771772) Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
This pull request fixes several user-facing issues across Odoo, including spreadsheet date imports, point-of-sale order dates, default filters, scrap orders, and unsaved records when using the call button. It also improves compliance reporting in Australia, corrects India GST fiscal position behavior, and updates a live chat empty-state icon for consistency.
Original PR description
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
Fixed an issue where parts removed during a repair could be incorrectly added back to the repair when warehouse push rules created follow-up transfers. This prevents duplicate repair lines and keeps repair orders aligned with the actual inventory movement.
Original PR description
Steps to reproduce the bug: - Enable multi-steps route - Set a remove destination location (e.g., WH/stock/shelf1) on the repair operation type. - Create a new route: - name: Push route - Rule: -…
Steps to reproduce the bug:
- Enable multi-steps route
- Set a remove destination location (e.g., WH/stock/shelf1) on the repair operation type.
- Create a new route:
- name: Push route
- Rule:
- Action: push to
- Operation type: internal transfer - Source location: WH/stock/shelf1 - Destination location: WH/stock/shelf2
- Create a storable product “P1”:
- Update the Qty to one unit in WH/stock
- Create a sotrable product “C1”:
- Route: select the new created route → “Push route”
- Create a repair order:
- Customer: Azure interior
- Product: P1
- part:
- Remove one unit of C1
- Confirm the repair
- Start the repair
- End the repair
Problem:
The move of “C1” is duplicated and added to the repair
When a push rule triggers an internal transfer for a component removed during a repair, the newly created stock move wrongly inherits the "repair_id" from the original move.
This happens because the "repair_id" field was not excluded from being copied, resulting in the duplicated move being incorrectly linked to the repair order.
https://github.com/odoo/odoo/blob/11e69870db1c49d9a6af79ffd263e4e162b34b6b/addons/stock/models/stock_move.py#L1854-L1855
https://github.com/odoo/odoo/blob/11e69870db1c49d9a6af79ffd263e4e162b34b6b/addons/stock/models/stock_move.py#L968-L969 https://github.com/odoo/odoo/blob/11e69870db1c49d9a6af79ffd263e4e162b34b6b/addons/stock/models/stock_rule.py#L212
https://github.com/odoo/odoo/blob/11e69870db1c49d9a6af79ffd263e4e162b34b6b/addons/stock/models/stock_rule.py#L240
Solution:
By setting copy=False on the repair_id field, we prevent this unintended propagation.
opw-4689206This fix improves how Odoo detects browser disconnections, especially when a user goes offline. It prevents users from being incorrectly warned that their page is outdated after reconnecting when no notifications were actually missed.
Original PR description
The outdated page watcher checks whether bus notifications were missed when the bus reconnects after an unexpected disconnection. To do so, it checks if the last known notification id is still in the bus table. When the bus disconnects, the last notification id is saved. However, disconnect event is not correctly sent when switching from online to offline. This commit fixes this issue. follow up of https://github.com/odoo/odoo/pull/208625 backport of https://github.com/odoo/odoo/pull/209472 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
Live chat conversations can now be renamed correctly from the chat window and Discuss. The updated name is visible to all operators, helping teams identify conversations more easily, while visitors do not see the internal name change.
Original PR description
The rename in the chat window as well as in discuss is not working for livechat, this commit is fixing the issue. The name should now be visible by all operators but not to visitors task-4431259 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
Users can once again insert cells in spreadsheet pivot tables after a previous change removed that option. This restores expected spreadsheet behavior and helps users adjust pivot-based reports without workarounds.
Original PR description
This commit reverts the commit c4a481aa5fd4c4168e2ec0252bca46ac95cf1a67 which removed the ability to insert cells in pivot tables. Task: 4707732
Posting Kenyan OSCU credit notes no longer fails when a newly created, unposted credit note has not yet received its final document number. This helps users complete credit note workflows reliably without unexpected system errors.
Original PR description
**[FIX] l10_ke_edi_oscu: Handle None name of fresh unposted credit notes.** To reproduce the issue: - Create an invoice with some lines - Create the first credit note and change the product set on one of the lines or its quantity to trigger the fix piece of the code (do not confirm the credit note) - Create another credit note and try to post it -> Traceback The issue is caused by the fact that newly created moves generally have `None` in the `name` field, which is only populated after posting. This fix resolve this by replacing the string shown when the name field is None. opw-4779976
Fixed an issue where German DATEV exports could show outdated amounts for journal entries after debit or credit values were changed. This helps ensure exported accounting files match the posted accounting data and reduces reconciliation errors.
Original PR description
<b>Steps to produce :</b> 1) Install 10n_de_reports and switch to the German company 2) Create a journal entry from accounting with a credit and debit 3) Now update the credit and debit to a…
<b>Steps to produce :</b> 1) Install 10n_de_reports and switch to the German company 2) Create a journal entry from accounting with a credit and debit 3) Now update the credit and debit to a different value. 4) Post the journal 5) Go to "Accounting / Reporting / Audit Reports / General Ledger" 6) Download "DATEV DATA (ZIP)" and check "EXTF_accounting_entries.csv" <b>Issue:</b> The line for the created journal entry has a price_total of the previous balance even after updating the credit and debit values. <b>Cause:</b> When the user updates the 'debit' and 'credit' values for an `aml`, The `price_totals` value remains unchanged as it is not dependent on `balance`. So, it will show the previous value in the report line because we are taking the abs(aml.price_total) from the report data. <b>Solution:</b> We can add an extra check of the move type so that it will fall back to the else block, where the line_amount will take a value by calculating taxes from `aml.tax_ids.compute_all`. opw-4707567
Customer follow-ups now calculate due and overdue totals correctly when vendor payables are also present. This prevents vendor bill attachments or payable amounts from incorrectly affecting customer follow-up processing.
Original PR description
Since f82f9ab7b0351d0c1239c4cafa772bea8c17c6ff, the unreconciled aml domain includes payable accounts, which leads to issue when processing followup. Since we need to get the total value including payable accounts, we add `account_id` to the group by, this way we can conditionnally set the computed values regarding the type of account, but also get the total due/overdue amounts, by adding two computed fields. Steps to reproduce new issue: - create a vendor bill for Demo (Joel Willis), with due date 15 days ago - confirm the bill, print the PDF and attach it to the bill (as if we received it from the vendor) - now open the follow-up wizard from the partner form, and notice that the Vendor bill is attached opw-4664402
The Trial Balance report now calculates end balances correctly when users group results by an analytic plan. This prevents totals from being counted twice, giving finance teams more reliable reporting when using analytic accounting.
Original PR description
**Steps to reproduce:** - Install Accounting - Activate "Analytic Accounting" in Accounting settings - Go to "Accounting / Accounting / Journal Entries" - Create an entry with some analytic distribution - Go to "Accounting / Reporting / Audit Reports / Trial Balance" - Activate "Analytic Group By" in the settings of the report - Add the plan used in the analytic distribution in "Analytic" group option **Issue:** In the "End Balance" column, all the amounts are summed in the total column instead of being grouped by analytic plan. It results on a total amount being twice what it should be as the total column of each period is also included in the sum. This is a complement to previous fix for the grouping by analytic account where the analytic plan groupby case was forgotten: https://github.com/odoo/enterprise/commit/05bbab713c749b7d7450d5dbaf2eda1ba4f68712 opw-4648009
The Philippine SLSP reports now refresh correctly when users change key inclusion filters, and the displayed active filter names stay accurate. Totals and exported amounts are also corrected, improving confidence in tax report review and submission outputs.
Original PR description
Fixed the following issues in the SLSP reports: - When filters "Including Partners Without TIN" and "Including Importations" are updated, the lines are not refreshed - When the filters above are updated, the name of the current active filters are not refreshed - When "Including Partners Without TIN" is enabled, the grand total does not consider lines from those partners - When exported, amounts from the previous row are carried forward to the current row, if the current row has no value for that amount 4748216
Users can now customize the Documents spreadsheet kanban view in Studio without triggering an error when changing sorting options. This keeps document-related views editable for configuration teams and avoids interruptions during setup.
Original PR description
Steps:
- install `web_studio` and `documents_spreadsheet`
- open documents
- open studio on the spreadsheet kanban view (the default one)
- change sort by field to "created on" field
- error
This commit replaces encodeURIComponent with window.encodeURIComponent,
because owl won't try to evaluate this variable via the context.
And so the fix
```js
get renderingContext() {
const context = super.renderingContext;
context.encodeURIComponent = encodeURIComponent;
...
}
```
In `DocumentsKanbanRecord` is no longer necessary.
The error occurred because `encodeURIComponent` was not found in the context object.
The reason this fix doesn't work with studio is the view is defined as
```xml
<kanban js_class="documents_kanban"/>
```
and studio does not load view js classes.
And since the fix is in `documents_kanban`, it's not taken into account. opw-4744886