Daily updates from Odoo
Wednesday, May 28, 2025
14 changes · 18.0
Resolved issues and error corrections
When users edit an existing review, the popup button now changes to clearly show that they are updating the review. This removes confusion in the review editing flow for portal and eLearning course pages.
Original PR description
**Before this PR:** The button label in the popup does not update when a user tries to edit a review. **Technical**- The button label updates only during the widget initialization, as it is handled in the willStart function. https://tinyurl.com/2derk498 **After this PR:** The button label in the popup correctly updates to 'Update Review' when a user edits a review. **Task**-4677251
Point of Sale sales detail reports now correctly include closing differences for bank payment methods when a session is closed. This helps businesses reconcile reported sales and bank payments more accurately after cash control discrepancies.
Original PR description
When a PoS session was closed with a closing difference, the report was not correctly updated to reflect the closing difference for bank payment methods Steps to reproduce: ------------------- * Open PoS session * Make a sale with a bank payment method * Close the session with a closing difference * Open the sales detail report > Observation: The report does not show the closing difference for the bank payment method Note: ---------------- The previous test was testing a payment method with no outstanding account set on it. This is not a real use case, as the outstanding should always be set. opw-4494656
This fix prevents an error when loading Attendances sample data after a previously referenced employee was deleted. It ensures the related HR skills sample data can load correctly, helping users set up or test HR modules without interruptions.
Original PR description
Currently, an error occurs when loading sample data for **Attendances** if a referenced employee record has been deleted by the user. **Steps to reproduce:** - Install the `hr_appraisal` module…
Currently, an error occurs when loading sample data for **Attendances** if a referenced employee record has been deleted by the user.
**Steps to reproduce:**
- Install the `hr_appraisal` module without demo data.
- Load sample data for **Appraisals**.
- Navigate to **Employees** and delete record for **Emma Granger**.
- Install `hr_attendance` module and load sample data for **Attendances**.
- Observe the error.
**Error:**
`ValueError - ParseError('while parsing /home/odoo/src/odoo/saas-18.2/addons/hr_skills/data/scenarios/hr_skills_scenario.xml:209, ...`
The error occurs because the method at [1] tries to load the `hr_skills_scenario.xml` file, which references a deleted `employee_id` [2], resulting in a parsing failure.
[1] - https://github.com/odoo/odoo/blob/547327f30d2d4bf778b9d358dbea4b133d55188a/addons/hr_skills/models/hr_employee.py#L49
[2] - https://github.com/odoo/odoo/blob/5c1db495828a7fe8c6ec987de432b1916ad32922/addons/hr_skills/data/scenarios/hr_skills_scenario.xml#L210
This commit ensures that all the referenced data is loaded properly, preventing errors due to missing references.
Sentry - 6426462322This update prevents an error when a user enters a VAT number on a new customer record before saving it. It keeps the customer form usable by safely handling missing commercial partner information until the record is saved.
Original PR description
Currently, An error occurs when adding a `vat` number in res_partner form view without saving a record. Steps to produce: - Install the `account` and `web_studio` modules - Create a customer, Add field name 'commercial_partner_id' in customer form view. - Enter a `VAT` number and click anywhere in the form view before saving the record. `ValueError: Expected singleton: res.partner()` An error occurs when the system is attempts to access a value of `commercial_partner_id` at [1], but it is not available. Link 1: https://github.com/odoo/odoo/blob/c87acdcfa48b1d8aa66bb5d27d58e3edb70a86ba/addons/account/models/partner.py#L670 To prevent this error, add a condition to check if value of `commercial_partner_id` is not available. then set `invoice_edi_format` to False. Sentry-6383383350 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Italian vendor bills with line-level discounts or surcharges are now imported with the adjustment applied to each line before tax is calculated. This prevents incorrect totals when invoice lines have different VAT rates, improving accounting accuracy for imported supplier invoices.
Original PR description
Fix the import of vendor bills that use per-line ScontoMaggiorazione. The discount/surcharge should be applied to the price unit before taxes, instead of summed and subtracted from the total. ####…
Fix the import of vendor bills that use per-line ScontoMaggiorazione. The discount/surcharge should be applied to the price unit before taxes, instead of summed and subtracted from the total. #### Correct | Product | Qty | Unit Price | Discount | VAT % | Formula | Total | |-----------|-----|------------|----------|-------|----------------------------------|-----------| | Product 1 | 2 | 5.00 | 3.00 | 22% | `2 * (5 - 3) * 1.22` | 4.88 | | Product 2 | 1 | 10.00 | 3.00 | 10% | `1 * (10 - 3) * 1.10` | 7.70 | | | | | | | | **12.58** | #### Before the scontomaggiorazione is not managed line by line. We have to manage line by line because the ScontoMaggiorazione should decrease the "Imponibile" and than calculate the amount tax line by line because each line can have different tax % . ATTENTION: the ScontoMaggiorazione on ImportoTotaleDocumento is not the sum of the ScontoMaggiorazione on the lines. It is a discount on the amount tax included
The self-ordering interface now shows the configured slideshow when customers use QR menu ordering. This restores the intended visual experience in preview and customer-facing self-order flows.
Original PR description
Steps to reproduce: ---- - Install pos_self_order - Configuration > Settings > Under Mobile self-order & Kiosk - Select Self Ordering Mode as QR menu + Ordering and save changes - Click Preview Web Interface Issue: ---- - Slideshow is not working in QR menu + Ordering mode. Cause: ---- - It was intentionally bypassed for the QR menu + Ordering mode. Fix: ---- - Removed unnecessary code which caused the issue. --- task-4745666
Users can now export attachment file content in XLSX format without hitting an error screen. This corrects a broken internal reference introduced by a prior rename, improving reliability of the export workflow.
Original PR description
When the user tries to export a file of attachment in xlsx format, A traceback will appear. Steps to reproduce the error: - Open attachments > Upload a file that does not contain base64-encoded content - Select that file > Actions > Export > Export Format: XLSX > Add File content(raw) field > Export Traceback: ``` AttributeError: 'ExportXlsxWriter' object has no attribute 'field_names' ``` In this commit: https://github.com/odoo/odoo/commit/a4e04518a437f09d6a10e25a35900c4adfe11dc6 ``field_names`` is renamed to ``fields``. https://github.com/odoo/odoo/blob/0e98b684834cf9e1d646e55599e7bc00aa5997f0/addons/web/controllers/export.py#L231 Here, ``field_names`` is still used. So, it will lead to the above traceback. sentry-6096581800 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix restores the review experience on website course pages. When users add a review, the review tab label now updates and the review message appears in the portal discussion area as expected.
Original PR description
**Before this PR:** When a user attempts to add a review, the label on the "Review tab" doesn't update, and the portal chatter fails to display the review message. https://youtu.be/H1XRamn9Koc **Technical:** The code related to these features was removed in commit 368eb78a9cedfce0802b64fd2782e1c018541e40, but it was never addressed afterward. **After this PR:** Adding a review updates the tab label and displays the message in portal chatter. **Task**-4677251
Newly promoted accounting administrators can now generate, regenerate, and view Indian GST return spreadsheets without running into a document access error. The change ensures these users receive the needed access to the GSTR document folder, reducing support issues and blocking errors during GST reporting.
Original PR description
#PURPOSE: - Currently is the user is promoted as admin for accounting and he/she is try to generate/regenerate or view the gst report following Error is thrown. - Access Error ```Uh-oh! Looks like…
#PURPOSE:
- Currently is the user is promoted as admin for accounting and he/she is try
to generate/regenerate or view the gst report following Error is thrown.
- Access Error
```Uh-oh! Looks like you have stumbled upon some top-secret records.
Sorry, Marc Demo (id=5) doesn't have 'read' access to:
- Document (documents.document)```
#STEPS TO REPRODUCE
1) Install necessary modules for indian accounting localization.
2) Enable GST E-Filing & Matching Feature from account's configuration.
3) Go to Settings -> User & Companies -> Users
4) Click new if no user is there other then administrator else click on
another user.
5) Under Access Rights section , inside Accounting select Administrator & Save.
6) Now log in as new user in another tab.
7) Go to Accounting -> Reporting under 'India' section click on
GST Return Period.
8) Click on generate/regenerate or View option.
9) The above shown error will be raised.
#SPECIFICATION:
- The issue is with documents access rights
- After promoting user to admin of accounting, the document's folder right is
not properly assign to user.
- fix this by giving rights of GSTR folder to user if user is in accounting
manager group.
task-4770583Corrected a spelling mistake in the UrbanPiper product label from “Is Alchoholic” to “is Alcoholic.” This improves clarity and professionalism in product information shown or managed through the point-of-sale integration.
Original PR description
In this commit: --------------- - Corrected the label from `Is Alchoholic` to `is Alcoholic`. task- 4826438
This fix prevents an error when creating a Mexican payroll payslip if the period end date is removed. Payroll users can continue preparing payslips without the screen failing due to missing date information.
Original PR description
The system failed to retrieve `worked_days.payslip_id.date_to` because user remove end period Steps to Reproduce: 1. Switch to `My Mexican Company`. 2. Go to Payroll > click Payslips > To Pay > Click New 3. Select Employee from the selection 4. Remove end date from period (Right One). Error: `TypeError: unsupported operand type(s) for -: 'bool' and 'datetime.date'` Solution: Ensure that if worked_days.payslip_id.date_to, start_date, end_date are not present then continue the flow Sentry - 6473512002
Purchase approval requests now require each requested item line to include a product before submission. This prevents approvals from getting stuck later because approvers cannot edit confirmed request lines or create the related RFQ without product information.
Original PR description
### Issue: The current design of the 'pruchase' approval requests makes it possible to create and confirm requests for RFQ's that can not be validated down the road leading to dead un-usable records.…
### Issue: The current design of the 'pruchase' approval requests makes it possible to create and confirm requests for RFQ's that can not be validated down the road leading to dead un-usable records. To be more precise, the `product_id` field is not required to be set on `product_line_ids` of `approval.request` of the `purchase` type: https://github.com/odoo/enterprise/blob/fe983e9874409415a1cf4f1a822173aec454ca06/approvals_purchase/views/approval_product_line_views.xml#L12 The initial idea behind this design choice was to let the approver (who might have more access rights than the user making the request) create and set a `product_id` based on the line description before validating the request. However, this process can not be performed since, the product lines become readonly once the request has been confirmed: https://github.com/odoo/enterprise/blob/fe983e9874409415a1cf4f1a822173aec454ca06/approvals/views/approval_request_views.xml#L184-L189 In particular, the approver will never be able edit them nor can he generate the related order as this action raises a user error: https://github.com/odoo/enterprise/blob/fe983e9874409415a1cf4f1a822173aec454ca06/approvals_purchase/models/approval_request.py#L21-L22 ### Steps to reproduce: With Marc Demo - Approvals > Create RFQ's > New Request - Add a line wihtout product but with a description and quantity - Set Mitchell Admin as approver and submit the request - Login with Mitchell > Approvals > Manager > Approvals to review - Try to approve the request > A user error is raised: You must select a product for each line of requested products. > Since the line is readonly you are stuck. opw-4815115
Documents created through an email alias now use the company of the target folder instead of the database default. This prevents errors for businesses working across multiple companies and keeps document ownership consistent.
Original PR description
Creating documents through a mail alias for a folder that was not the default company on the database would cause an error. This was due to the company on the inactive alias that was being created for this new document not matching the company of the owner document. Added the company id to the vals_list before the creation of the document in order to use the proper company on the alias. opw-4717277
Batch payments now calculate remaining amounts more reliably, including payments in progress and payments linked to journal entries. Currency handling was also improved so totals stay accurate when different currencies are involved.
Original PR description
After 233c75ae6aaac4b7109483cab8fbfc4253a6dd42 computation of residual amounts is wrong when the payment is linked to a journal entry no-opw