Daily updates from Odoo
Thursday, December 18, 2025
12 changes · master
Resolved issues and error corrections
This update ensures that rental product availability in our e-commerce system accurately reflects when employees are on time off. Previously, the system didn't account for employee absences, leading to incorrect availability displays. This fix corrects this issue, providing a more reliable view of available resources for rental bookings.
Original PR description
…navailabilties Before this commit, when an human resource is linked to rental product thanks to his role and take a time off at a certain day. The user inside ECommerce should be able to add that product when the resource is off (since there is no resource available) at the period chosen. However, that check does not take into account the time off taken by the resources linked to that service rental product. This commit makes sure the time off of the resources linked to the product are correctly taken into account to know if the service rental product is available at a specific period. task-5075698 Forward-Port-Of: odoo/enterprise#98165
This update fixes an issue where the download button appeared prematurely in the eSigner wizard. It now correctly hides the button until a signature is completed, and adjusts text size for better readability when using Aadhaar signatures. This ensures a smoother and more professional user experience for e-document signing.
Original PR description
Version: - 19.0 Issue: - The wizard shows a download button even when using emsigner, but the file should only be downloaded after signing. - When users sign with Aadhaar and download the document, the text appears too small. Fixes: - Hide the download button in the wizard for emsigner requests. - Adjust page coordinates so the font size displays correctly. Impact: - Makes the text clear and readable in documents signed with Aadhaar. - Hides the download button until the user signs. After signing with eSigner, they can download the document with the certificate. task-5075596 Forward-Port-Of: odoo/enterprise#94279
This update fixes a previous issue where users couldn't select product variants when setting recurring prices. Now, users can accurately define recurring prices for each variant of a product, ensuring accurate subscription billing and improved flexibility in managing recurring revenue. This enhancement simplifies subscription management and reduces the risk of pricing errors.
Original PR description
Version: - 19.0 Before: - When creating a product with variants and setting recurring prices, users could not select product variants in the recurring price list. Issue: - The recurring price list appeared read-only for product variants, preventing users from defining variant-specific recurring prices. Cause: - The product variant field was missing from the recurring pricing view. Fix: - Added the product variant field to the recurring prices list view, allowing users to select and manage variants while setting recurring prices. Taskid-5361266 Forward-Port-Of: odoo/enterprise#101779
This update resolves a critical bug in the Report Editor that caused crashes due to incorrect data translation. By disabling translation specifically within the report's iframe, the system now reliably saves edited reports without errors. This ensures a stable and accurate report generation experience.
Original PR description
Before this commit, when google translate was active on the current ReportEditor, it produced wrong data to save, and ultimately crashes. After this commit, since we disable the translation on the whole HTML element inside the iframe (that is only for the edited report), there is no error any more opw-5122924 Forward-Port-Of: odoo/enterprise#97019
This update corrects a bug where invoice posting in Chilean tests resulted in incorrect date calculations due to timezone differences. The fix ensures invoices are processed correctly by freezing the test time and setting a fixed invoice date, preventing date rollbacks.
Original PR description
**Issue:** ```python File "/data/build/enterprise/l10n_cl_edi/models/account_move.py", line 744, in _l10n_cl_edi_post_validation raise UserError( odoo.exceptions.UserError: The stamp date and time…
**Issue:**
```python
File "/data/build/enterprise/l10n_cl_edi/models/account_move.py", line 744, in _l10n_cl_edi_post_validation
raise UserError(
odoo.exceptions.UserError: The stamp date and time cannot be prior to the invoice issue date and time. TIP: check in your user preferences if the timezone is "America/Santiago"
```
**Cause:**
Posting an invoice at early local hours (e.g., 2025-12-11 04:00) is converted by the [Chilean timezone (America/Santiago)](https://github.com/odoo/enterprise/blob/ac3f333d97eda5c86a0813490ac6204d4ec5721f/l10n_cl_edi/models/l10n_cl_edi_util.py#L117-L120) to the previous day (e.g., 2025-12-10 19:30).
**Solution:**
- Freeze the test time at a stable CL-safe hour
- Add a fixed `invoice_date` aligned with the frozen timestamp
Reference : [timezone converter](https://dateful.com/time-zone-converter?t=730pm&d=2025-12-10&tz2=Santiago-Chile)
Runbot error: [234755](https://runbot.odoo.com/odoo/runbot.build.error/234755)
Related PR: https://github.com/odoo/enterprise/pull/99518
Forward-Port-Of: odoo/enterprise#102127
Forward-Port-Of: odoo/enterprise#101901This update fixes a usability issue in the Sign editor where the document dropdown didn't close properly after selection. The changes include improved hover behavior, consistent styling for actions, and a new mechanism to handle dropdown closures within the PDF iframe, ensuring a smoother user experience.
Original PR description
- Fix hover and pointer behavior on update document action - Apply consistent danger styling to delete action - Ensure dropdown closes correctly after interaction (PDF iframe has its own document so outside-click logic did not apply; add a click listener on the iframe document to close open dropdowns. ) task: 5384677
This update corrects a bug in the 'My Work Orders' filter within the manufacturing work order list, ensuring it accurately displays only work orders assigned to the current user. This improves usability and allows users to easily find and manage their assigned tasks.
Original PR description
Before this commit: ------------------------- The 'My Work Orders' filter in the manufacturing work order list view was not functioning as expected. Previously, it did not effectively filter work…
Before this commit: ------------------------- The 'My Work Orders' filter in the manufacturing work order list view was not functioning as expected. Previously, it did not effectively filter work orders to display only those assigned to the current user. Steps to reproduce: ------------------------- 1. Install 'mrp_workorder' module. 2. Go to Operations → Work orders view. 3. Apply Search Filter → My Work Orders . 4. Notice that the 'My Work Order' filter does not displays work orders assigned to the logged-in employee. Cause of the issue: ------------------------- In this filter, a static ID was used to identify the logged-in user. However, user IDs are dynamic and vary from one user to another. As a result, the filter could not work properly. After this commit: ----------------------- It resolves the issue by ensuring the filter now correctly identifies and displays work orders assigned to the logged-in employee, providing the expected 'My Work Orders' view.It helps the users to filter the work-orders directly which are assigned to them. Task Id: 4935833
This update addresses several key issues in the ID payroll calculations, ensuring more accurate net salary and year-end reporting. Specifically, it incorporates reimbursements, corrects JHT and JP calculations, and streamlines data for improved payroll processing. This change enhances the reliability of employee compensation data.
Original PR description
* Move fixed allowance to basic category since it is treated same as basic salary and used together in other rules * Spread the sequences * Update the net salary calculation since curently it did not include reimbursement * Update the view historical lines in employee so it search only paid/validated payslip and also show the JHT and JP * Update the end of year calculation to use accumulated JHT and JP in a year (similar to gross rule) * Add new parameter data for JP for 2025 * Remove outdated worked days rate method and instead use the standard basic salary rule * Update the rounding to down Task: [5182482](https://www.odoo.com/odoo/project.task/5182482)
This update resolves a bug preventing users from adding products to invoices when navigating from an FSM task. The issue stemmed from differing context settings – the sale order provides a specific context, while the task does not. This change ensures consistent domain settings for product searches across different invoice access points.
Original PR description
On a fsm task, using the smart button to go to the invoice, will not give the same domain for the products, if you go from the sale order or directly from the task Steps to reproduce:…
On a fsm task, using the smart button to go to the invoice, will not give the same domain for the products, if you go from the sale order or directly from the task Steps to reproduce: ------------------- * Create a product - Purchase: False - Sale : True * Create a fsm task * Add products * Go to the sale order * Create the invoice (regular invoice) * Go back to the task * Go to the invoice using the invoices smart button * Try to add your product -> issue it's not possible. Observation: --------------- The domain of the search is not the same if we go from the sale order or from the task. This is because the domain depend on the context and the context is not the same : [Domain](https://github.com/odoo/odoo/blob/8258ddf12ed6c0495628f7a480d1e2424e756540/addons/account/views/account_move_views.xml#L1134-L1141) When using the smart button on the SO, some elements will be added to the context, the important one is: default_move_type : "out_invoice": [SO context](https://github.com/odoo/odoo/blob/18.0/addons/sale/models/sale_order.py#L1453) Instead when using it on the task, the context does not have that element: https://github.com/odoo/enterprise/blob/cb79d565031ee0e1bec9db82aa35deb2e1c03576/industry_fsm_sale/models/project_task.py#L325-L327 This will be calculate here in the js files: [evalContext](https://github.com/odoo/odoo/blob/c3367bd7c6900e42394b006ccf48c3b36a1b87e9/addons/web/static/src/views/fields/field.js#L400) opw-5135567 Forward-Port-Of: odoo/enterprise#101938 Forward-Port-Of: odoo/enterprise#98612
This update resolves an error that prevented the creation of draft payslips for employees configured to report BAS-W3 data. The fix corrects a coding issue that was causing a type error, ensuring that draft payslips can now be generated correctly for this employee group. This improves payroll processing reliability.
Original PR description
Currently, an error occurs when generating draft entries for the Australian payslips when the employee is configured to `report in BAS–W3`. **Steps to reproduce:** - Install the…
Currently, an error occurs when generating draft entries for the Australian payslips when the employee is configured to `report in BAS–W3`. **Steps to reproduce:** - Install the `l10n_au_hr_payroll_account` module and switch to `My Australian Company`. - Create an employee with all necessary payroll information and enable `Report in BAS – W3`. - Go to Payroll Settings and complete the `Payroll Onboarding`. - Navigate to Payroll > Payslips > Payslips and open any draft payslip. - Click `Create Draft Entry`. (Refer [1] for steps to produce.) **Error:** `TypeError: 'int' object is not iterable` **Root Cause:** At [2], the code tries to append an `integer`(`w3_tag.id`) to a `list`(`tag_ids`) using `+=`, which causes the `error`. **Fix:** This commit prevents an error when creating a draft entry by wrapping the integer in a list before adding it to `tag_ids`, similar to [3]. [1]: https://drive.google.com/file/d/1XGUUYCpmB3ocwXSWkxgFV7vjyAvRsHS6/view [2]: https://github.com/odoo/enterprise/blob/d9c864a5a55dd45f6fed794a809a5aefe26e7699/l10n_au_hr_payroll_account/models/hr_payslip_line.py#L23 [3]: https://github.com/odoo/enterprise/blob/d9c864a5a55dd45f6fed794a809a5aefe26e7699/l10n_au_hr_payroll_account/models/hr_payslip_line.py#L27 opw-5370293 Forward-Port-Of: odoo/enterprise#101811
This update fixes a previous issue where sales lines flagged as 'out of scope' were incorrectly excluded from tax warnings. The change ensures that all sales lines, including those marked as 'out of scope,' now trigger the necessary tax configuration checks, improving accuracy and compliance. This resolves a potential reporting discrepancy.
Original PR description
Previously, we excluded all lines with the `sale_out_of_scope` section from checks and warnings to improve performance. However, some tax-related warnings also apply to those lines. Due to the global exclusion, warnings for incorrect tax configuration were no longer shown when the line belonged to the `sale_out_of_scope` section. This commit removes the `sale_out_of_scope` condition from the shared (general) domain and instead applies it only to specific warnings where it is actually needed. task-5404258 Forward-Port-Of: odoo/enterprise#101781
This update resolves an issue where ECO applications incorrectly linked product documents to attachments, leading to database errors. The fix ensures that ECOs correctly reference the associated attachments, preventing potential application failures and data inconsistencies. This improves the reliability of ECO implementation.
Original PR description
When applying an ECO, the system incorrectly sets the origin_attachment_id of a product.document to a product.document record itself instead of its related ir.attachment. As a result, if the incorrectly referenced ir.attachment is missing, the ECO will attempt to reference a record that does not exist, leading to a foreign key violation during action_apply. Steps to reproduce: 1.) Create an mrp.eco record 2.) Upload a document, take note of the product.document ID 3.) Unlink the ir.attachment with ID = (document ID + 1) (+1 is to account for the .copy within action_apply) 4.) Run eco.action_apply 5.) Observe SQL Constraint Expected result: The ECO should correctly link the product.document to its related ir.attachment. Actual result: origin_attachment_id may point to an unrelated ir.attachment, causing constraint violations when those attachments do not exist. opw-5050263 Forward-Port-Of: odoo/enterprise#94958