Daily updates from Odoo
Friday, June 6, 2025
9 changes · saas-18.3
Resolved issues and error corrections
Bank statement lines now correctly match a customer or vendor even when the same partner has multiple linked bank accounts with the same account number. This prevents valid matches from being missed during bank reconciliation, reducing manual correction work.
Original PR description
There was a corner case where a single partner should match a statement line but would not. The case was when the statement line account number matches multiple accounts that are linked to the same active partner. This commit fixes this issue by relying on the number of partners instead of the number of banks while matching. task-4826477
The EC Sales List warning now more accurately identifies truly duplicated VAT numbers. This prevents businesses from seeing unnecessary duplicate VAT alerts when a customer has both invoices and refunds in the same reporting period.
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.
Point of Sale IoT auto-configuration now prefers USB-connected receipt printers over network printers when assigning a printer. This helps improve receipt printing reliability during POS setup by choosing the more dependable connection type first.
Original PR description
Currently when auto-configuring IoT with pos printers we take the first available receipt printer we assign to PoS we chose. However if the printer is usb-connected it should take priority over network printers for the reliability reasons. task-4853231
Opening the return kanban now applies its expanded group setting only to that specific return view. This prevents unrelated kanban views from being unintentionally changed, keeping other workflows consistent for users.
Original PR description
Before when we would open the return kanban, it would set for every other kanban the variable MAX_NUMBER_OPENED_GROUPS to max integer. This is not what we want, we only weant to restrict that to the Return Kanban Model only not every relational model.
The AI chatbot now handles failed embedding requests gracefully instead of showing a system traceback. This helps users continue receiving clear error feedback when document-based AI responses cannot be generated.
Original PR description
Problem: When calling `/v1/embeddings`, if the request fails for any reason, the `response` will be `None`. Attempting to access `response['data'][0]['embedding']` then results in a traceback. Solution: Check if `response` is `None` before attempting to extract the embedding from it to ensure graceful error handling. Steps to reproduce: 1. Add a new AI Agent. 2. Attach a document to the agent. 3. Click "Test" to open the chatbot. 4. Send any message. → A traceback occurs due to a failed embeddings request. opw-4817213
Bank reconciliation now automatically handles invoices that are slightly higher than the related bank payment when the difference is within the allowed tolerance. Users can keep the invoice fully reconciled, leave the small difference on the statement line, and more easily assign that leftover amount using reconciliation models, reducing manual cleanup and improving reconciliation counts.
Original PR description
**[FIX] account_accountant: fully reconcile the move_line if amounts close** If an invoice has a bigger amount than the bank line but within the tolerance of 3%, reconcile the invoice automatically…
**[FIX] account_accountant: fully reconcile the move_line if amounts close** If an invoice has a bigger amount than the bank line but within the tolerance of 3%, reconcile the invoice automatically and leave the difference in the suspense account. The statement line will be partially matched. **[IMP] account_accountant: allow filling with reco model on partial** So, with the idea of directly reconciling the aml and leave the partial on the statement line if the amount is close, we want an easy way for a user to assign these leftovers. Before this commit, when you clicked on the reconciliation model after partially putting amount, it would try to override everything on the statement line and putting what is said by the model. Now, we leave the amounts previously reconciled and complete it with the model. **[IMP] account_accountant: automatic model for fees** For the leftover from the full reco of the invoice that are left on the statement line, we propose a new reconciliation model that will be put when we encounter these situations. We create it when the user is in the case of the 3% and that he put the leftover on a specific account. **[FIX] account_accountant: line auto-reconciled does not change count** To reproduce: Create a statement line of 1000 for partner A Create an invoice of 1000 for same partner Create a statement line of 1000 for same partner => The invoice is now auto-reconciled. But the Count of Reconcile for the first st_line is still 1 task-4749343
Shop floor users now see manually added components on the correct manufacturing order and related work orders. Untracked component quantities are easier to edit or undo, and worksheet instructions for component quality checks open reliably.
Original PR description
For untracked component moves in the shop floor:
- No longer show move lines
- Show pencil button instead of add button, clicking opens edit quantity
- Apply sets picked (and passes check if applicable)
- No remove button, instead:
- Add an undo button to unreserve and reassign the move, and set picked to false (and sets quality status to none on check if applicable)
Also: make sure to display moves created via Add Component in the shop floor on the relevant MO card (as well as all WOs of this MO)
task-4760982This change restores a filter in bank reconciliation so entries without partners no longer inflate or slow down the displayed reconciliation count. Users should see fewer misleading counts and faster loading when checking items to reconcile.
Original PR description
This commit will revert part of this commit: https://github.com/odoo/enterprise/commit/6a2716e4d58f3b8d913a785f263e910eb5334ea0 Where we removed a domain that was hiding the number of reconcile entries for line that don't have partners. The number showed was wrong (for example displaying 15 but you have like 70 in the wizard) and the perf impact was huge (18s in average to compute the reconcile number) no task id
Portal users will no longer see the Invite button when sharing Knowledge articles. This prevents them from triggering an access error for an action they are not allowed to use, improving the sharing experience.
Original PR description
Currently, the "Invite" button is visible to portal users. When a portal user clicks this button, the system attempts to open a wizard using the `knowledge.invite` model. However, because portal users lack access rights to this model, the system raises an "Access Error". Steps to reproduce: 1. Log in as a portal user 2. Open an article 3. Click on the "Share" button 4. Click on the "Invite" button => Traceback: Access Error on the model `knowledge.invite` To fix the issue, we will simply hide the "Invite" button for the portal user as it was the case before the permission panel refactoring. See: odoo/enterprise#76261 Task-4636494