Thursday, February 19, 2026
12 changes · 18.0
New functionality added to Odoo
This update adds support for JoFotara's Point of Sale system within Odoo. It enables the generation of UBL (Universal Business Language) invoices and credit notes directly from PoS orders, streamlining the invoicing process for JoFotara users. This enhancement improves integration and reporting capabilities.
Original PR description
This commit adds support to JoFotara for pos.order model. task-4213323 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This update resolves a potential issue where global invoices sent from the POS could fail to send correctly to the SAT portal, leading to duplicate documents. By increasing the timeout for communication with the SW sapien system, the fix enhances the reliability of invoice processing, particularly when handling multiple POS orders. This prevents errors and ensures accurate reporting to tax authorities.
Original PR description
**Fix:** Increase the read timeout for POST requests to SW sapien PAC. It may prevent timeout issue when sending a global invoice from the POS with a lot of POS orders that could lead to duplicated documents on the SAT portal when retrying to send the global invoice again. opw-5347962
This update resolves an issue where a backorder was incorrectly created when validating a stock picking involving a product with a quality control point and a serial number. The fix ensures that the 'picked' status is correctly set to 'False' after generating a serial number, preventing unnecessary backorders and improving order accuracy.
Original PR description
Issue ----- When validating a picking with a product with a QC and a product tracked by SN, the system creates a backorder although quantities haven't been manually edited. Steps to reproduce ----- -…
Issue ----- When validating a picking with a product with a QC and a product tracked by SN, the system creates a backorder although quantities haven't been manually edited. Steps to reproduce ----- - Create product A tracked by SN - Create product B with a quality check point upon reception - Create a reception for 1 of each product - Validate the picking > QC prompt - Pass the QC > Missing SN prompt for A - Generate a SN for A - Validate the picking > Backorder prompt Cause ----- When validating, the moves get `picked` set to True in `_pre_action_done_hook` https://github.com/odoo/odoo/blob/6b232a2dc96a995eaf3714f3f077a9205dfa7ca8/addons/stock/models/stock_picking.py#L1492 Then, we go through the override of `quality_control` https://github.com/odoo/enterprise/blob/fc6ef67dbbb0962c75393076abf6a0a53cfa61a3/quality_control/models/stock_picking.py#L102-L105 which returns the QC wizard https://github.com/odoo/enterprise/blob/fc6ef67dbbb0962c75393076abf6a0a53cfa61a3/quality_control/models/stock_picking.py#L79-L82 So it gets propagated as the return value of `button_validate` https://github.com/odoo/odoo/blob/6b232a2dc96a995eaf3714f3f077a9205dfa7ca8/addons/stock/models/stock_picking.py#L1421-L1423 When we later generate the SN, we create a new move, for which `picked` is False https://github.com/odoo/odoo/blob/6b232a2dc96a995eaf3714f3f077a9205dfa7ca8/addons/stock/static/src/widgets/generate_serial.js#L90-L93 https://github.com/odoo/odoo/blob/6b232a2dc96a995eaf3714f3f077a9205dfa7ca8/addons/stock/models/stock_move.py#L261-L267 In a flow without the control point, `button_validate` raises the missing SN exception https://github.com/odoo/odoo/blob/6b232a2dc96a995eaf3714f3f077a9205dfa7ca8/addons/stock/models/stock_move_line.py#L664-L672 The change to `picked` does not get applied to the records, so both moves stay unpicked. ----- Ticket: opw-5457667
This update fixes an issue in the barcode picking interface where adding multiple extra products triggered a confusing, repeated confirmation dialog. Now, the dialog opens only once and allows users to easily select and deselect products before confirming the addition, streamlining the picking process.
Original PR description
When adding extra products in the barcode picking interface, the confirmation dialog did not handle correctly the scan of multiple extra items. Before: Scanning multiple extra products successively opened (mutex + promise) the dialog multiple times. The user had to confirm/cancel each extra product addition one by one. After: The dialog is now only opened once and updated when scanning multiple extra products before confirming. The user can select/deselect the extra products to add before validating. [opw-5193269](https://www.odoo.com/odoo/project/49/tasks/5193269)
This update resolves a bug that caused forum posts to fail to create when Odoo was in debug mode. The issue stemmed from incorrect property settings being passed to a key component. By changing 'disabled' to 'isReadOnly', the system now correctly handles forum post creation, ensuring a stable user experience.
Original PR description
Following rewrite in odoo/odoo@33206fd1941ae, this commit update passed props (`disabled` -> `isReadOnly`) to avoid a crash when creating a new forum post while being in debug mode: `OwlError: Invalid props for component 'WebsiteForumTagsWrapper': unknown key 'disabled'` --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where tasks remained linked to sales orders even after sales order items were removed. Now, users can properly detach tasks from sales orders, preventing billing issues and allowing for easier task management. This ensures tasks can be accurately billed or re-assigned when needed.
Original PR description
Currently, a task remains linked to its original sales order even when it has no sales order item. This prevents users to not bill a task and temporarily detach it from a sales order until it can be…
Currently, a task remains linked to its original sales order even when it has no sales order item. This prevents users to not bill a task and temporarily detach it from a sales order until it can be linked to a new one. **Steps to produce:** * Install Sales, Project * Products > Virtual Home Staging > Create On Order > Project and Task * Create and confirm quotation with that product. * Tasks > Empty the Sale Order Item Field **Observed Behavior:** * Sale Order is still linked to the task despite sale order line has been unlinked from that task. **Root cause:** * Compute method [1] only detaches the sale order if the customer has been changed. **Solution:** * Only detach the sale order when there are no sale order items and the record is not a field service task. * Field service tasks should always keep the sale order linked so materials can still be added to the existing sale order, even when the task is non-billable (i.e., no sale order line is linked). This logic is handled by the compute override at [2], which reassigns the sale order when needed. [1]: https://github.com/odoo/odoo/blob/3f4e45ecaca46a98c904536658728a1f1571bdbd/addons/sale_project/models/project.py#L916-L935 [2]: https://github.com/odoo/enterprise/blob/6658581828dcdc43ffc5823814a05cb936cd0500/industry_fsm_sale/models/project_task.py#L178-L194 Related Enterprise PR: https://github.com/odoo/enterprise/pull/103487 opw-5215989 Forward-Port-Of: odoo/odoo#241446
This update resolves an issue where tasks remained linked to sales orders even without a related sales order item. Now, users can unlink tasks from sales orders without impacting the ability to bill tasks, particularly for field service tasks where materials can still be added to the existing order. This improves workflow efficiency.
Original PR description
Currently, a task remains linked to its original sales order even when it has no sales order item. This prevents users to not bill a task and temporarily detach it from a sales order until it can be…
Currently, a task remains linked to its original sales order even when it has no sales order item. This prevents users to not bill a task and temporarily detach it from a sales order until it can be linked to a new one. **Steps to produce:** * Install Sales, Project * Products > Virtual Home Staging > Create On Order > Project and Task * Create and confirm quotation with that product. * Tasks > Empty Sale Order Item Field **Observed Behavior:** * Sale Order is still linked to the task despite sale order line has been unlinked from that task. **Root cause:** * Compute method [1] only detaches the sale order if the customer has been changed. **Solution:** * Only detach the sale order when there are no sale order items and the record is not a field service task. * Field service tasks should always keep the sale order linked so materials can still be added to the existing sale order, even when the task is non-billable (i.e., no sale order line is linked). This logic is handled by the compute override at [2], which reassigns the sale order when needed. [1]: https://github.com/odoo/odoo/blob/3f4e45ecaca46a98c904536658728a1f1571bdbd/addons/sale_project/models/project.py#L916-L935 [2] https://github.com/odoo/enterprise/blob/6658581828dcdc43ffc5823814a05cb936cd0500/industry_fsm_sale/models/project_task.py#L178-L194 Related community PR: https://github.com/odoo/odoo/pull/241446 opw-5215989 Forward-Port-Of: odoo/enterprise#103487
This update resolves an incorrect reliance on Peppol BIS3 constraints within the RO and HR EDI modules. Previously, an unnecessary dependency caused issues with sending invoices, particularly to physical persons. This fix ensures proper functionality and alignment with standard EDI formats.
Original PR description
The CIUS RO and CIUS HR depends on the BIS3 which is fundamentally incorrect. This was probably made out of lazyness to redefine things that are almost the same in both these CIUS and the BIS3. Now, in previous PR [1], we added contraints for the Peppol BIS 3 that are impacting those formats. Indeed, the EndpointID can be empty in the context of CIUS RO and CIUS HR. In particular, it's breaking the sending to physical person at the moment. [1]: https://github.com/odoo/odoo/pull/246961 opw-5943698
This update corrects a validation issue with invoices generated using the facturae module in Spain. Previously, the system was generating XML invoices with excessive decimal places (up to 8), causing validation errors with e-Fact systems. This change ensures that currency amounts are rounded to two decimal places for Euro invoices, complying with Spanish tax regulations.
Original PR description
Steps to reproduce: - Have facturae modules installed - Generate invoice with any amount - Send to Facturae Issue: Resulting XML has 8 digits after the decimal point on several fields, such as unit…
Steps to reproduce: - Have facturae modules installed - Generate invoice with any amount - Send to Facturae Issue: Resulting XML has 8 digits after the decimal point on several fields, such as unit price, gross amount, and total cost. When trying to validate such an XML, this results in validation error: "RCF06001: En facturas emitidas en euros, alguno de los importes de las líneas tiene más de dos decimales (regla 6a del anexo II de la Orden HAP/1650/2015)." According to regulation HAP/1650/2015 [1]: For invoices issued in euros, it will be validated that the total line amounts related to the total cost are numeric and rounded, according to the common rounding method, to two decimal places. This commit introduces dynamic decimal precision: 2 places for EUR and 8 places (the previous default) for other currencies. [1] https://www.boe.es/diario_boe/txt.php?id=BOE-A-2015-8844 Machine translated [BOE-A-2015-8844 (1).pdf](https://github.com/user-attachments/files/25345382/BOE-A-2015-8844.1.pdf) opw-5927356
This update resolves an issue preventing the correct transmission of wage statements for Swiss payroll in Odoo Enterprise. The fix ensures that wage statement data is properly sent, addressing a potential disruption to payroll reporting and compliance. This improves the accuracy and reliability of Swiss payroll processes.
Original PR description
Forward-Port-Of: odoo/enterprise#107827
This update fixes a bug preventing Click & Collect widgets from accurately displaying rental product availability. Previously, the system didn't account for rental periods when calculating stock levels on the website. This change ensures customers see correct quantities and rental periods when browsing rental products through the Click & Collect feature.
Original PR description
Click and collect widget is not supported for rental products Steps to reproduce: ------------------- * Enable "Click and collect" in setting and set up warehouses * Create a rental product * Add a…
Click and collect widget is not supported for rental products Steps to reproduce: ------------------- * Enable "Click and collect" in setting and set up warehouses * Create a rental product * Add a unit of the product in one of the warehouses * Rent that product for a period * Go on the website>shop>the product * The available quantity for the warehouse does not account for the in start/end dates in the eCommerce product page Observation: ------------- The issue is that click and collect and openLocationSelector has no information about he rental periode https://github.com/odoo/odoo/blob/20e54e37670ffa569f47663a7e4b8d7de3a4c33c/addons/website_sale_collect/views/templates.xml#L28-L36 https://github.com/odoo/odoo/blob/20e54e37670ffa569f47663a7e4b8d7de3a4c33c/addons/website_sale_collect/static/src/js/click_and_collect_availability/click_and_collect_availability.js#L54 the rental period is set in the xml file: https://github.com/odoo/enterprise/blob/1bf7dbcfef2186ee5a08382367fe195efca033dc/website_sale_renting/views/templates.xml#L90 opw-5365564
This update fixes a bug where Click & Collect product availability didn't account for rental periods. Now, the website accurately displays the available quantity of rental products based on their start and end dates, ensuring customers see correct stock levels when browsing and ordering through Click & Collect.
Original PR description
Steps to reproduce: ------------------- * Enable "Click and collect" in setting and set up warehouses * Create a rental product * Add a unit of the product in one of the warehouses * Rent that…
Steps to reproduce: ------------------- * Enable "Click and collect" in setting and set up warehouses * Create a rental product * Add a unit of the product in one of the warehouses * Rent that product for a period * Go on the website>shop>the product * The available quantity for the warehouse does not account for the in start/end dates in the eCommerce product page Observation: ------------- The issue is that click and collect and openLocationSelector has no information about he rental periode https://github.com/odoo/odoo/blob/20e54e37670ffa569f47663a7e4b8d7de3a4c33c/addons/website_sale_collect/views/templates.xml#L28-L36 https://github.com/odoo/odoo/blob/20e54e37670ffa569f47663a7e4b8d7de3a4c33c/addons/website_sale_collect/static/src/js/click_and_collect_availability/click_and_collect_availability.js#L54 the rental period is set in the xml file: https://github.com/odoo/enterprise/blob/1bf7dbcfef2186ee5a08382367fe195efca033dc/website_sale_renting/views/templates.xml#L90 opw-5365564