Daily updates from Odoo
Friday, February 6, 2026
24 changes · saas-18.3
Resolved issues and error corrections
This update adds support for commodity codes (Intrastat, UNSPSC, and CPV) within the account_edi_ubl_cii module. This enhancement ensures accurate reporting and compliance with international trade regulations, particularly for export and import transactions. The change addresses a technical requirement to properly classify goods for reporting purposes.
Original PR description
task-5890887 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247025
This update fixes a visual issue in the Expenses app where the layout would become distorted when no expenses were present. The fix ensures a consistent and stable appearance of the 'Upload or Drop Your Receipt' helper, preventing misalignment and overlapping elements. This improves the user experience for all users.
Original PR description
Steps to reproduce: 1. Open the Expenses app and navigate to 'Expenses to Process'. 2. Ensure no expenses are present so that the 'Upload or Drop Your Receipt' helper appears. 3. Remove filters. 4.…
Steps to reproduce: 1. Open the Expenses app and navigate to 'Expenses to Process'. 2. Ensure no expenses are present so that the 'Upload or Drop Your Receipt' helper appears. 3. Remove filters. 4. The layout becomes 'disturbed'—the upload overlay misaligns and overlaps the dashboard. Issue: The issue occurred because the SCSS selector was incorrectly targeting the combination of .hr_expense and .o_list_view. In the Odoo DOM structure, the hr_expense class is added to the Renderer via XML, while o_list_view is assigned to the main Controller. Because the selector never matched an actual element, the min-height: 100% rule remained inactive. Without a stable minimum height, the Renderer container collapses when empty. This prevents the 'Pink Overlay' from having a stable anchor point, leading to layout shifts and visual interference with the Search Panel and Dashboard headers. Solution: Update the SCSS selector to target &.o_list_renderer and &.o_kanban_renderer. This ensures the rule correctly matches the element carrying the hr_expense class. By forcing a min-height: 100% !important on the renderer itself, the container remains stable regardless of the data count. This provides a consistent workspace for the 'No Content' helper to render without disrupting the surrounding flexbox layout. opw-5452618
This update fixes an issue where invoices created in one company could incorrectly use accounts from a different company. The change adds a validation check to ensure invoice line accounts always belong to the invoice's company, preventing accounting inconsistencies and ensuring accurate financial reporting.
Original PR description
### Issue: When an invoice is created for a company and then its company and journal are changed to another company valid combination, the accounts on the invoice lines are not updated automatically This leads to inconsistencies where move lines use accounts that do not belong to the move’s company ### Cause: A validation check ensuring that move line accounts belong to `move.company_id` or parents was missing in `_post()` for account moves ### Steps to reproduce: - Create Company A and Company B - Create an invoice on Company A with one line having an account in Company A - Change the invoice company to Company B and set a journal belonging to Company B - Save and confirm the invoice opw-5167958 Forward-Port-Of: odoo/odoo#243243
This update resolves an issue where portal users couldn't properly close recurrent tasks. The fix utilizes a temporary bypass of access restrictions during task creation to ensure the state change is applied correctly. This improvement allows portal users to manage their recurring tasks effectively.
Original PR description
to reproduce: ============= - create a project with recurrent task and share it with a portal user - log in with the portal user and open the recurrent task - change the state to 'Done' and save -> the state is not changed to 'Done' and the task is not closed problem: ======== the method responsible for creating the next occurrence of a recurrent task executes some operations that portal users are not allowed to do, causing the whole operation to fail and preventing the task from being updated. solution: ========= use sudo() to bypass access rights checks when creating the next occurrence of the recurrent task. This is safe because the operations being performed do not involve any sensitive data or actions that could compromise security. opw-5442919 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves a bug where formatting the signature field in user preferences could cause issues with message sending, specifically related to the 'Full Composer' feature. The fix adds a specific data attribute to ensure consistent handling of quotes and formatting within signatures.
Original PR description
**Steps to reproduce:** - Go to the current user preferences - Go to its signature field - The current state should be something like: ``` -- Mitchell Admin ``` - Apply bold formatting on the text -…
**Steps to reproduce:** - Go to the current user preferences - Go to its signature field - The current state should be something like: ``` -- Mitchell Admin ``` - Apply bold formatting on the text - Save the changes - Refresh - Remove the bold formatting - Press enter between the two lines (at the end of `--`) - Save the changes - Go to the Contact app - Select any record - Go to its chatter - Click on `Send Message` and then the `Full Composer` expand button - Send the mail - In the chatter multiple `Read More` are added for the same signature (I think it can appears in multiple operations, this is just an example related to the `<strong>` element becoming `<span>` on removal) **Issue:** Playing with the html editor on the signature field can break the `tag_quote` flow due to the added elements. **Fix:** Explicitly add `"data-o-mail-quote"` to the signature container which is added when opening the `fullComposer`. It could also be an issue related to the html_editor but this seems cleaner to fix it here. This issue was fixed in 19.0 in a similar way by adding a common div around the signature and adding the same attribute. related: https://github.com/odoo/odoo/commit/6eb55c42158b08652c4c533bf56b5333c162bd3a opw-5149505 Forward-Port-Of: odoo/odoo#246982 Forward-Port-Of: odoo/odoo#231954
This update corrects a broken link used by Odoo to connect with Poland's KSeF (tax reporting) system. The previous URL was outdated, preventing proper data transmission. This change ensures Odoo can now correctly process and submit tax information required by Polish regulations.
Original PR description
The production URL for the Polish EDI (KSeF) was incorrect. This commit updates the endpoint to the current valid URL to ensure proper connectivity. 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#247424
This update resolves an issue where modifying the quantity of a subcontracting receipt after a BOM change could lead to incorrect quantities displayed on the move line. The fix ensures accurate stock tracking by correctly updating move line quantities when a BOM is modified, preventing inconsistencies between the move and move line.
Original PR description
**Issue** In subcontracting, if a BOM is modified after the creation of a PO, then modifying the move quantity of the associated receipt can lead to inconsistency between move and move line…
**Issue** In subcontracting, if a BOM is modified after the creation of a PO, then modifying the move quantity of the associated receipt can lead to inconsistency between move and move line quantities. **Steps to reproduce** - Create a subcontracting BOM of a final product using 1 component product - Create a PO of the final product for a quantity of 10 and confirm it - Modify the BOM to use 2 component products instead - Go to the receipt of the PO and modify the quantity to 2 and validate it - Click on the move line of the receipt -> The displayed quantity is 10 instead of 2 **Cause** Setting the quantity triggers this line: https://github.com/odoo/odoo/blob/c496235b9520b2a33040174974de7d37e74b0580/addons/mrp_subcontracting/models/stock_move.py#L78-L78 which calls: https://github.com/odoo/odoo/blob/c496235b9520b2a33040174974de7d37e74b0580/addons/mrp_subcontracting/models/stock_move.py#L107 Since the BOM has been modified, a `consumption_issues` is detected and `_update_finished_move()` won't be called: https://github.com/odoo/odoo/blob/c496235b9520b2a33040174974de7d37e74b0580/addons/mrp_subcontracting/models/mrp_production.py#L86-L89 And since the returned action is not used when calling `subcontracting_record_component`, `_update_finished_move()` won't be called later neither, which is the method responsible for updating the move line quantities: https://github.com/odoo/odoo/blob/c496235b9520b2a33040174974de7d37e74b0580/addons/mrp_subcontracting/models/mrp_production.py#L142-L146 **Solution** Since the consumption issue actions are ignored in this case, just skipped it and avoid inconsistencies. opw-5493577 Forward-Port-Of: odoo/odoo#246433 Forward-Port-Of: odoo/odoo#245065
This update fixes an error in the calculation of VAT payable or refundable when generating Welsh tax returns. The previous formula incorrectly subtracted input VAT, leading to inaccurate reporting. The change updates the formula to accurately reflect the difference between total output and input VAT, ensuring compliance with Welsh tax regulations.
Original PR description
**Steps to produce:** - Install the l10n_cy and accountant modules - Switch to `CY Company`. - Go to accounting > reports > Tax return. **Issue:** - The formula for VAT payable or refundable (difference between box 4 and 3) is incorrect. - box 3 refers to `Total output VAT` and box 4 refers to `Input VAT`. - Current formula: `cy_4.balance - cy_3.balance` **Fix:** - Formula for VAT payable or refundable should be output VAT - input VAT. - Update the formula to: `cy_3.balance - cy_4.balance` <img width="769" height="86" alt="image" src="https://github.com/user-attachments/assets/923a92f9-fc57-465a-9592-771730ee6870" /> opw-5751369 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247309 Forward-Port-Of: odoo/odoo#246273
This update addresses several critical bugs within the Odoo spreadsheet component. It includes fixes for crashes related to sheet deletion and incomplete Excel files, ensuring improved stability and functionality for users working with spreadsheets. Multiple developers collaborated on this release.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/a906c68b8e [REL] 18.3.35 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/a906c68b8e [REL] 18.3.35 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) https://github.com/odoo/o-spreadsheet/commit/7d959d419d [FIX] find_and_replace_store: crash after sheet deletion [Task: 5453311](https://www.odoo.com/odoo/2328/tasks/5453311) https://github.com/odoo/o-spreadsheet/commit/addf98c28c [FIX] Cell: do not rely on key presence in commands [Task: 5499921](https://www.odoo.com/odoo/2328/tasks/5499921) https://github.com/odoo/o-spreadsheet/commit/17e5af05f7 [FIX] tests: fix network serialization in mock [Task: 5499921](https://www.odoo.com/odoo/2328/tasks/5499921) https://github.com/odoo/o-spreadsheet/commit/630faa62a2 [FIX] evaluation: do not overwrite current sheet [Task: 5868007](https://www.odoo.com/odoo/2328/tasks/5868007) https://github.com/odoo/o-spreadsheet/commit/e5af7c65d3 [FIX] XLSXImport: Fix crash on incomplete xlsx file with external reference [Task: 5499753](https://www.odoo.com/odoo/2328/tasks/5499753) Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> 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: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@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> Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>
This update resolves an issue where non-manager users were receiving an error message when opening validated time off records. The fix prevents unnecessary updates to a field that wasn't required, ensuring a smoother experience for all users. This improves the usability of the time off management feature for Indian companies.
Original PR description
Steps to reproduce: ------------------- 1. Install `l10n_in` and `l10n_in_hr_holidays` 2. Switch to an Indian company 3. Create a user and related employee without Time Off rights 4. Log in with the…
Steps to reproduce: ------------------- 1. Install `l10n_in` and `l10n_in_hr_holidays` 2. Switch to an Indian company 3. Create a user and related employee without Time Off rights 4. Log in with the new user and create a past time off 5. Approve the time off as an time off manager/admin 6. Open the validated time off record as the employee Issue: ------ Opening a validated time off raises the following UserError: ```python You must have manager rights to modify/validate a time off that already begun. ``` Cause: ------ The `_get_durations` method in `l10n_in_hr_holidays` was updating the `l10n_in_contains_sandwich_leaves` field every time it was executed. When a user opened a validated time off record, this triggered a `write()` operation. Since non-manager users are not allowed to write on already started validated leaves, this caused a [UserError](https://github.com/odoo/odoo/blob/047d5b61a5f3fc5c41f5bc3975938a53b5da49a7/addons/hr_holidays/models/hr_leave.py#L793-L798) The field `l10n_in_contains_sandwich_leaves` does not need to be updated when `l10n_in_is_sandwich_leave` is False. See [[1]](https://github.com/odoo/odoo/blob/047d5b61a5f3fc5c41f5bc3975938a53b5da49a7/addons/l10n_in_hr_holidays/models/hr_leave.py#L156-L157) & [[2]](https://github.com/odoo/odoo/blob/047d5b61a5f3fc5c41f5bc3975938a53b5da49a7/addons/l10n_in_hr_holidays/models/hr_leave.py#L62) And this [part of the code](https://github.com/odoo/odoo/blob/047d5b61a5f3fc5c41f5bc3975938a53b5da49a7/addons/l10n_in_hr_holidays/models/hr_leave.py#L160-L173) is responsible to update `l10n_in_contains_sandwich_leaves` value. **NOTE:** Opening future validated time off records as a non-manager user triggers `AccessError` as it is not allowed to update the validated time off record. Solution: --------- Ensure that `l10n_in_contains_sandwich_leaves` is updated only when `indian_leaves` is applicable. opw-5373055 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240056
This update corrects how task titles and descriptions are generated from sales orders. Previously, task titles were inconsistent. Now, the task title uses the product name or sales order line description, ensuring accurate and informative task details are created when a service product generates a task.
Original PR description
Steps to reproduce: - - Create a sales order with a service product that generates a task. - Add a multi-line description to the sales order line. - Confirm the order to generate the task. - View the generated task’s title, description. Issue: - - Task titles were generated in the format sales order name + first line of the product description, and the description contained only the remaining lines. Fix: - - If the sales order line has a single-line description, it is used as the task title. - If the sales order line has a multi-line description or no description, the product name is used as the task title, and the sales order line description is used as the task’s description. Commits 588c3be420a542d8594b26ecc200ca68e35d15fc, c3877b2acd74f1f798d0046b168418300f9e27ca, and 18edce4d859935bd1425144e4c835acabc5f68f4 previously attempted to fix this issue. task-4903208 Forward-Port-Of: odoo/odoo#217035
This update resolves an issue where the 'Contact Us' button on product pages wasn't correctly redirecting to snippets, specifically when using anchors. The fix ensures that the button functions as intended, directing users to the desired snippet after they click, even with zero-priced products. This improves the user experience for contacting the business.
Original PR description
Issue: ------- When a zero price product is created and the contact us button on the product page is intended to redirect to some snippets created through drag and drop then the button doesn't work…
Issue: ------- When a zero price product is created and the contact us button on the product page is intended to redirect to some snippets created through drag and drop then the button doesn't work as intended meaning it doesn't redirects to the desired snippet even after putting the correct anchor. for ex: `#snippet-anchor` in the `Button URL` field in the settings. Cause: -------- This works fine for the pages having '/contactus' or '/'. Issues raise only when we try to redirect to a snippet. Now, if the we try to redirect to any snippet on click of the button(Contact Us) by placing the corresponding anchor, it will not redirect/work as intended. This is because of the appending`?subject=product_name` that took place. Solution: ------------ To concatenate the `subject=product_name` conditionally if the url has '#' in it If yes, we just use the `url` in the URL so that it redirects as intended else concatenate the subject & so on. This is because for redirecting to snippets we use anchors such as '#Let's-Connect'. So, In an anchor the '#' will definitely reside. Steps to reproduce: ----------------------- 1. Create a db in version 18.3 with website_sale installed. 2. Enable the `Prevent Sale of Zero Priced Product` checkbox in the settings. 3. Create a zero price product and few snippets under it and copy the anchor of one of the snippets to redirect when clicked on the 'Contact Us' button. 4. Use the Anchor(for ex: '#Let's-Connect') in the 'Button URL' field of settings. 5. Navigate to the created product and click on the 'Contact Us' button. Nothing happens & no intended redirection to the desired snippet. Ref PR: ---------- https://github.com/odoo/odoo/pull/189049/changes#diff-39e02d03a8b765b4e3afc68627aeb33f11b587163638fedfb92ed5657c3336e7R398-R399 Attachments: ----------------- **Before Fix:** [vokoscreenNG-2026-02-06_17-36-37.webm](https://github.com/user-attachments/assets/a09101d4-13df-415d-a902-420a28aedef0) **After Fix**: [vokoscreenNG-2026-02-06_17-38-37.webm](https://github.com/user-attachments/assets/a6256d0f-d8cb-4146-b95e-33452a0a79c5) - OPW - [5494517](https://www.odoo.com/odoo/project/70/tasks/5494517) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where Safari browsers, particularly when used in collaboration mode, would display incorrect HTML editor content. The fix ensures the HTML editor accurately reflects changes made in Chrome, preventing display errors and improving the user experience for Safari users. This was triggered by Chrome's undo/redo functionality.
Original PR description
Before this commit: safari returns invalid document in collaboration, typically when a chrome user is sending history steps with undo. Reproduction steps: 1. In chrome, use an existing task with…
Before this commit: safari returns invalid document in collaboration, typically when a chrome user is sending history steps with undo. Reproduction steps: 1. In chrome, use an existing task with empty description or create a task in the project (first create the task title in the kanban view, then click edit), enter 4 lines of text 2. In one of the middle lines, delete one character --> undo --> add a new character 3. Save the task, open the task in Safari incognito, log in as demo (not admin), go to the task and click the description field 4. TraceBack: IndexSizeError: The index is not in the allowed range. After this commit: we use the range of the DOM selection to set the offsets of activeSelection. If the DOM selection is too wrong to be corrected, e.g. the selection's anchor node isn't the same with range's start container (or end container if direction is right to left), we do not set new activeSelection but just return the previous activeSelection task-5428788 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246056
A bug was causing the 'New Task' button to incorrectly change task priorities instead of creating new tasks. This has been resolved by changing the button's shortcut from Alt+R to Alt+C, ensuring the correct functionality is now triggered.
Original PR description
Steps to Reproduce: - - Open Project → Tasks. - Press Alt key to view shortcut hints. - New button control show Alt+R. - Pressing Alt+R triggers priority change instead of creating a new record. Issue: - Pressing the shortcut displayed on the New button (Alt+R) does not create a new task but instead changes the task priority. Cause: - The New button and the Priority widget share the same shortcut (Alt+R), causing the wrong action to trigger. Solution: - Changed the shortcut for the New button from Alt+R to Alt+C to avoid conflict and ensure correct behavior. task-5270075
This update resolves an issue where the opening date field in the tax returns wizard remained uneditable after posting an opening move. The fix ensures the date is always editable, aligning with the current workflow and maintaining user familiarity. It also updates the opening move date if the move is still in draft.
Original PR description
To reproduce the issue (in enterprise): - Go to accounting > configuration - click on "Review Manually" (under Accounting Import) - add a balance to 1 or 2 accounts - Search for the created draft opening move in the journal entries, and post it - On the dashboard, click on "Tax returns" ====> The opening date is not set in the wizard, and still, it's not editable. You're stuck The opening date was originally introduced in the setup bar flows, years ago. Today, this field isn't really used anymore, except for creating the returns, and it then does not especially always correspond to the date of the opening move. To solve the issue, we just always allow editing it in the wizard. To keep things comfortable for users who would be used to the previous way it worked, we still modify the date of the opening move when doing so if it's still in draft.
This update corrects a bug where the product name was duplicated on delivery slips when selling products with 'never' variants and descriptions. The fix ensures that product information is accurately displayed, preventing confusion during order fulfillment. This impacts sales order delivery processes.
Original PR description
When creating a delivery slip, if the product sold has variant of type never and have a description, the name will be repeated. ### Steps to reproduce: * Create a product A with variants of type…
When creating a delivery slip, if the product sold has variant of type never and have a description, the name will be repeated. ### Steps to reproduce: * Create a product A with variants of type never * Create a sales order with two product A and confirm it * Go on the delivery (don't validate it) and create a delivery slip -> Issue, the name of the product appears twice. * Reduce the quantity of product delivered to one * Confirm and create a backorder * Print the deliveryslip -> Issue, the name of the product appears twice in the backorder section ### Observation: When confirming the SO: It creates the procurement values, where the product_description_variants are obtained from _get_sale_order_line_multiline_description_variants. In our case, we will have several elements regarding the variant: https://github.com/odoo/odoo/blob/3e5aabf66a19d406fa49c9ff2f6e4db6d5ba124a/addons/sale_stock/models/sale_order_line.py#L300 This information is added to the picking_description (for which the fallback value is the product name): https://github.com/odoo/odoo/blob/626d06734991bcd3b94a6c9454317f311164e9dc/addons/stock/models/stock_rule.py#L339-L340 When printing the delivery_slip, it uses description_picking (and attempts to filter out the name): https://github.com/odoo/odoo/blob/842025976ab65e92551366def88cdd243549e5ee/addons/stock/report/report_deliveryslip.xml#L74 However, in our case, since the variant information is included, it will not be filtered out because the value is no longer just the name. The same issue is present here : https://github.com/odoo/odoo/blob/e99e07f2f22b0987468c45d3d7da287cdf703588/addons/stock/report/report_deliveryslip.xml#L179-L180 opw-5153222 Forward-Port-Of: odoo/odoo#239693
This update fixes an issue in the French P&L report where accounts 65 were incorrectly categorized. The accounts have been moved to the 'Other Expenses' line, ensuring accurate financial reporting. This improves the clarity and reliability of financial data for French users.
Original PR description
On the french P&L, accounts 65 are refferenced in the line 'Other purchases and external charges' but this is not where those accounts need to be, they need to be part of the line 'Other Expenses' task-5446018 Forward-Port-Of: odoo/enterprise#106465 Forward-Port-Of: odoo/enterprise#103357
This update resolves an issue where failure messages weren't shown when a quality check was marked as failed. The fix ensures that failure messages are correctly displayed after a quality check is marked as failed, providing better visibility into manufacturing process issues. This improves operational efficiency and quality control.
Original PR description
*= quality_control, quality_mrp_workorder, mrp_workorder Currently, when a user fails a quality check using the quick-action button, the failure message defined for that quality control point isn’t…
*= quality_control, quality_mrp_workorder, mrp_workorder Currently, when a user fails a quality check using the quick-action button, the failure message defined for that quality control point isn’t shown. **Steps to produce:** * Install `Quality` and `Manufacturing` with demo data * Go to MRP > Configuration > Operations > Manual Assembly * Create a pass/fail quality point with a failure message * Create and confirm an MO for `Table Top` * Go to Shop Floor > Activate work centers if inactive > Manual Assembly * Fail the assembly using the quick-action button Replication video: [Link](https://drive.google.com/file/d/1gBHrvQEAavhjU4lS-bKQHQjAa9qDHj6-/view?usp=sharing) **Observed Behavior:** * No failure message is displayed when the quality check is failed. **Root cause:** * This happens because pressing the quick-action button triggers `failCheck` [1] , which calls `doActionNext` [2], which then runs the server function `action_fail_and_next` [3]. That function sets `quality_state = fail` and calls [4] to get the view. But since [3] wraps that view inside a dictionary, the check in [5] never passes, so the message never appears. **Solution:** * Pass the view correctly to display the failure message. Since the quick action already marks the quality state as failed we can hide the Confirm and Back buttons by passing the context and checking it in the view to show a single OK button, similar to earlier versions. **Before:** <img width="1673" height="813" alt="image" src="https://github.com/user-attachments/assets/029e347b-5f2c-463a-833e-3b55677137b6" /> **After:** <img width="1687" height="829" alt="image" src="https://github.com/user-attachments/assets/e4c85093-ea0d-44ca-bc9c-0fab5ac08fbc" /> [1]: https://github.com/odoo/enterprise/blob/59c06537d82fedd1916b7aeb808dc73904f6a751/quality_mrp_workorder/static/src/mrp_display/quality_check.js#L83-L86 [2]: https://github.com/odoo/enterprise/blob/59c06537d82fedd1916b7aeb808dc73904f6a751/mrp_workorder/static/src/mrp_display/mrp_record_line/quality_check.js#L147-L163 [3]: https://github.com/odoo/enterprise/blob/59c06537d82fedd1916b7aeb808dc73904f6a751/quality_mrp_workorder/models/quality.py#L86-L89 [4]: https://github.com/odoo/enterprise/blob/59c06537d82fedd1916b7aeb808dc73904f6a751/quality_mrp_workorder/models/quality.py#L48-L68 [5]: https://github.com/odoo/enterprise/blob/19.0/mrp_workorder/static/src/mrp_display/mrp_record_line/quality_check.js#L154-L161 opw-5403465
This update resolves an issue where folded (closed) tickets were incorrectly displayed in the helpdesk mail plugin, causing confusion for users. The fix filters out tickets in the 'folded' stage, ensuring that only active tickets are shown, improving the plugin's accuracy and usability.
Original PR description
**Steps to reproduce:** - Install Mail_plugin - Setup the outlook mail plugin in Outlook - Once connected, click on a mail from a contact on the database - Click on the Odoo Inbox Addin. action - Under the contact 5 related tickets are showed - Create 5 tickets with priority and put them in folded stage (closed) - Create new normal tickets - User can't see new tickets in the plugin **Issue:** The search is done on priority and then id ordering, this means that tickets in folded stages (closed) which have a high priority are always showed first. Tickets in a folded stage are considered as closed, so they should not appear anymore in the contact data to avoid displaying them indefintely. **Fix:** Adapted search domain and removed fold attribute in the answer. opw-5075477 Forward-Port-Of: odoo/enterprise#100883
This update fixes a misleading error message displayed when validating Argentine electronic invoices (ARCA). The message has been corrected to accurately reflect the issue: the invoice date must be after the last validated invoice, not before. This ensures proper compliance with AFIP regulations and prevents incorrect invoice processing.
Original PR description
WSFE error 10016-1 must be "The invoice date cannot be before the last invoice validated in AFIP." instead of "The invoice date cannot be after the last invoice validated in AFIP". Steps to reproduce: validate argentinean customer electronic invoice with invoice date before than the last invoice date validated in ARCA. Task Adhoc side: 44290 Task latam: 1376 Forward-Port-Of: odoo/enterprise#106305
This update resolves an issue related to the transmission of coordination deductions for Swiss payroll (l10n_ch_hr_payroll_elm_transmission_5_3). The fix ensures accurate calculations and reporting of these deductions, aligning with Swiss tax regulations. This improves the reliability of payroll processing for our Swiss clients.
Original PR description
Forward-Port-Of: odoo/enterprise#106615
A bug preventing infinite scrolling of recent VoIP calls in the softphone has been fixed. This issue was specific to Chrome browsers and has been resolved by adding a minimal width and height to the scrolling element, ensuring all calls are displayed correctly. This improves the user experience for accessing call history.
Original PR description
Since [1], the voip calls infinite scrolling does not work anymore. Steps to reproduce: - Make sure to have at least 14 recent calls - Open the softphone - Go to the recent/history tab - Scroll to…
Since [1], the voip calls infinite scrolling does not work anymore. Steps to reproduce: - Make sure to have at least 14 recent calls - Open the softphone - Go to the recent/history tab - Scroll to the end => You are stuck seeing only the 13 last calls. This was a Chrome-only issue, it works on Firefox. Weirdly, the infinite scrolling works on the contact tab on Chrome too, although this is the exact same implementation and configuration. This is due to the unreliable behavior of IntersectionObserver regarding 0x0 elements. The infinite scrolling implementation in VoIP relies on the visibility of a "dummy" `<span/>` added at the end of the tab. That element has no width or height, making the implementation unreliable. As a stable minimal fix, this restores the feature by making the element have a width and height, without any visual/behavior changes thanks to negative margins and no pointer events on the item. Note that [1] disabled a test that was testing the feature. This commit of course re-enables it. [1]: https://github.com/odoo/enterprise/commit/52b3065993c41c6b7c65dda586a66fdd865b3afd
This update resolves an issue that caused errors when importing bank statements with more than 80 transactions. The fix prevents unnecessary database commits during the import process, improving stability and allowing users to successfully upload and process larger bank statement files. This ensures reliable bank transaction import functionality.
Original PR description
*= account_bank_statement_import_csv An exception is currently triggered when a user attempts to import a bank transaction file containing more than 80 transaction lines (see ref file [1]). Steps to…
*= account_bank_statement_import_csv An exception is currently triggered when a user attempts to import a bank transaction file containing more than 80 transaction lines (see ref file [1]). Steps to produce an error: - Install `Accounting (accountant)` module - Go to `Accounting` > Click on `Bank` > Click `Upload` - Upload ref file [1] and click `Test/Import` >>> Error occurs Error: `psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update` Error from 19.0: `InvalidSavepointSpecification : savepoint "ef05b579-df3f -11f0-bc75-74563c5c983f" does not exist` The issue occurs because, in `model.py` code line [2] creates a `savepoint`. Before this `savepoint` is closed, code line [3] is triggered during the creation of the bank statement line [4] and attempts to commit the cursor using `self.env.cr.commit()`. Because a commit is executed while the savepoint is still active, the system fails when trying to close the previously created savepoint. This commit fixes the issue by avoiding cursor commits during the import process. The `import_file=True` flag is added to the context when `_cron_try_auto_reconcile_statement_lines` is called from `execute_import`, allowing the method to safely skip commit/rollback logic when `import_file` is present in the context. [1]: https://docs.google.com/spreadsheets/d/19hKnR8pGB27xkbEHgYYXIkBaPXV8RZZE/edit?usp=sharing&ouid=111844484867458262929&rtpof=true&sd=true [2]: https://github.com/odoo/odoo/blob/11c469086cb4d08453a70cd7bd30d7391f635ae3/odoo/orm/models.py#L971-L973 [3]: https://github.com/odoo/enterprise/blob/2683b77cd6688877c308d0733bccfc5ad84530c1/account_accountant/models/account_bank_statement.py#L218 [4]: https://github.com/odoo/enterprise/blob/2683b77cd6688877c308d0733bccfc5ad84530c1/account_accountant/models/account_bank_statement.py#L1780 sentry-6974536471 opw-5359810
This update resolves a technical issue that caused a SQL error when creating invoices with non-deductible tax values in Studio. The fix ensures the system handles unsaved invoice lines correctly, preventing the error and improving stability. This change primarily impacts users working in Studio mode.
Original PR description
**Steps to reproduce:** * Install **account_asset** and **l10n_be**. * Enable **developer mode**. * Using **Studio**, add the field **non_deductible_tax_value** to invoice lines. * Create a new invoice. * Select a partner and add a product with **21% VAT** applied. * Do not save the invoice before adding the line. **Observed behavior:** * A **SQL syntax error** occurs: `WHERE tdq.base_line_id IN ()`. * The error is triggered when accessing the non-deductible tax value on unsaved records. **Cause:** * `_compute_non_deductible_tax_value()` executes SQL query with `tuple(self.ids)`. * For unsaved records, `self.ids` is empty, creating invalid SQL `IN ()` syntax. * This path is only reached for **non-deductible taxes**. **Fix:** * Skip the SQL query when no record IDs are available. * Return a default value for unsaved records. opw-5896716 Forward-Port-Of: odoo/enterprise#106655 Forward-Port-Of: odoo/enterprise#106470