Daily updates from Odoo
Monday, June 30, 2025
9 changes · saas-18.3
Resolved issues and error corrections
The Kenyan eTIMS integration now checks whether an invoice that timed out was already received before trying again. This helps avoid duplicate submissions to the government and restores confirmation details such as QR codes when the original submission succeeded.
Original PR description
When a timeout occurs during invoice submission to eTIMS, we had no way to know if the invoice was actually received. Retrying could lead to duplicate invoices being accepted by the government. With the release of the selectInvoiceDetails endpoint, we now check if the invoice was already submitted before retrying. If found, we treat it as successfully sent and retrieve its details (QR code, etc). If not, we proceed to resend. task-4863787 Forward-Port-Of: odoo/enterprise#88858 Forward-Port-Of: odoo/enterprise#88608
A new automated check confirms that date-based rentals count the full rental period correctly, such as January 1 to January 2 being treated as two days. This helps prevent future changes from accidentally causing incorrect rental durations and pricing behavior on eCommerce rental flows.
Original PR description
Adds a tour that ensure date-based rental durations are set correctly, i.e. renting from 2025-01-01 to 2025-01-02 should result in a rental period of 2 days. This should prevent commits like 574e111 (reverted by 5982e11) from introducing faulty logic. Forward-Port-Of: odoo/enterprise#88671 Forward-Port-Of: odoo/enterprise#88264
The accounting reconciliation process now safely stops when there are no bank statement lines to process. This prevents users from seeing an error when running reconciliation models with no available transactions.
Original PR description
SQL syntax error occurs when trying to auto reconcile transactions via reconcile models,it is because there are no statement lines to reconcile. **Steps to reproduce:** * Install `accountant` module (No demo data needed) * Accounting Dashboard> Bank dropdown menu * Under reconciliation>Models>Internal Transfers>Run Now `syntax error at or near ')' LINE 57: WHERE st_line.id IN ()` **Solution:** * Return the function if there are no statement to reconcile. **Sentry-6610155279**
Printed payslips now display title-style salary rule lines with the correct formatting. This makes generated payroll documents clearer and more professional for employees and HR teams.
Original PR description
### Steps to reproduce: - Generate and print a payslip after marking a salary rule line as a title. ### Fix: - Added conditional styles and classes to fix the issue. task-4780481
This fix prevents an error from appearing when staff mark a point-of-sale preparation order as done shortly after it arrives while using debug mode. It adds a safety check so the display no longer tries to use order information that has already been removed.
Original PR description
Steps to reproduce: - Open a preparation display in debug mode - Make an order that will appear on the preparation display - Click on the done button before 5 seconds - Traceback will appear 5 seconds after the order was received Issue: When receiving an order useDelayedValueChange is called in the setup of the Orderline component. This method will try to access the props after a timeout. When the preparation orders are deleted in debug mode, the states are deleted from the front end. Since the props of orderline are the preparation state linked to it a traceback arises. Fix: A check is added to check if the state record exists.
Fixed an issue where Chilean point-of-sale invoice settlements always showed an amount of $1 instead of the actual outstanding balance. This ensures staff can settle customer invoices accurately in POS and avoid undercharging or manual corrections.
Original PR description
**Problem:** When trying to settle an order in POS with a Chilean company, the amount to be settle will be 1$, regardless of how much needed to be settled. **Steps to reproduce:** - Set the company to a Chilean company. - Make an invoice for a Chilean customer and confirm it. - Go to pos, and click settle invoices for your client, chose the invoice you just made. - The amount will be 1$ **Why the fix:** The field *pos_amount_unsettled* was not loaded into the invoice if the company is from Chile. It resulted in it being undefined, thus it was set to 1 afterwards. We now load this variable into the invoice when loading the data. opw-4856764
Removing a parent emission source from an ESG emission source no longer triggers an error. This keeps emission source management reliable and prevents disruption when users update ESG reporting structures.
Original PR description
Currently, an error occurs when attempting to remove the parent emission source from an emission source. Steps to Reproduce: - Install the `ESG` module. - Go to `Emission Sources` and create a new…
Currently, an error occurs when attempting to remove the parent emission source from an emission source. Steps to Reproduce: - Install the `ESG` module. - Go to `Emission Sources` and create a new emission source with a parent emission source. - Remove the parent emission source. `ValueError: Compute method failed to assign esg.emission.source(<NewId origin=3>,).activity_flow_direct_indirect` This error occurs when the parent emission source is removed, causing the scope to become False in _compute_scope[1]. Subsequently, in _compute_activity_flow[2], none of the cases match, which results in a failure to assign the activity flow and raises an error. [1] https://github.com/odoo/enterprise/blob/1c7620d8de97757abda1993822f92590987bc46c/esg/models/esg_emission_source.py#L75 [2] https://github.com/odoo/enterprise/blob/1c7620d8de97757abda1993822f92590987bc46c/esg/models/esg_emission_source.py#L77-L78 This commit ensures that if the parent emission source is removed, the activity flow is properly maintained. sentry-6690968543
HR users can now update employee leave requests even while they are waiting for approval, provided the leave has not already been included in payroll. This helps HR correct or adjust leave records before payslip processing without unnecessary blockers.
Original PR description
- Allowing HR people to always edit the leave, as long as it's not included in a payslip. task-4866887
This update keeps the automated checks for Mexican electronic invoicing in Point of Sale aligned with a recent underlying system change. It helps ensure invoice-related POS workflows continue to be tested correctly without affecting day-to-day users.
Original PR description
In this commit, I’ve updated the test in invoice_order_tour to align with the new signature of the selectOrder function introduced in the PR referenced below. Odoo PR: https://github.com/odoo/odoo/pull/212434