Friday, February 28, 2025
20 changes · saas-17.4
Enhancements to existing features
The Vendor Bills smart button on vendor records is now provided by the Accounting app instead of Purchase. This keeps the button available where accounting data is managed while preventing duplicate buttons when both apps are installed or updated.
Original PR description
Move the Vendor Bills smart button from the `purchase` module to the `account` module. The views records in `purchase` module are kept as but made empty so that if the user updates the `account` module, it will also update the `purchase` module and hide the smart button from the `purchase` to only keep the new one from the `account` module. task-4584035
Resolved issues and error corrections
This fix prevents attendance kiosk mode from failing when a company's contact record has no language set. The system now falls back to the current environment language, allowing employees to access kiosk mode normally.
Original PR description
Issue: When you try to acssess the kiosk mode for a company which has no lang set on its partner, a blocking error is raised solve: add the env.lang as a default lang if the partner lang return false Task: 4465594 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Certain certificates contain additional fields beyond those currently included (CN, OU, O, C), such as "2.5.4.97" and "L". Since these additional fields are not incorporated into the issuer name, attempts to validate the signed document on the following sites will result in errors: - https://face.gob.es/es/facturas/validar-visualizar-facturas - https://valide.redsara.es/valide/validarFirma/ejecutar.html These errors typically indicate that the signature is either invalid and that the cer
Original PR description
Certain certificates contain additional fields beyond those currently included (CN, OU, O, C), such as "2.5.4.97" and "L". Since these additional fields are not incorporated into the issuer name, attempts to validate the signed document on the following sites will result in errors: - https://face.gob.es/es/facturas/validar-visualizar-facturas - https://valide.redsara.es/valide/validarFirma/ejecutar.html These errors typically indicate that the signature is either invalid and that the certificate does not match the values within `<KeyInfo>`. This discrepancy occurs because all certificate fields are included in the signature, but some are missing from the `<X509IssuerName>` field. This fix adds the missing certificate fields to ensure consistency between the signature and the issuer name. Based on my tests, the order of these fields does not affect the validation process. opw-4484906 opw-4482626 Forward-Port-Of: odoo/odoo#196576
The Sales order line product form now displays the product field with a proper label. This keeps fields like quantity and delivery information aligned and in the expected order when users create order lines.
Original PR description
Steps: - Install sales app. - Open a sale order and toggle studio. - Click on list view, select 'Edit list view' - Select 'Open form view' for 'when creating record' under 'views' side panel. - Go back to sale order. Add Product in sale order line. - Create Order Lines form opens. Issue: - Fields (quantity, delivered, etc.) are misformatted and not in sequence. - Product field has no label. Cause: - There was no label defined for product field as done for others that was breaking the flow and sequence. Fix: - Added a Label to product field which solves the issue. opw-4455197
When registration form have extra form details where the field value doesn't match an attendee field format (2 or 3 values separated by a dash) we where crashing while trying to unpack the split value. This commit simply ignore the field if its value doesn't match the expected format of an attendee field. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#199543
Original PR description
When registration form have extra form details where the field value doesn't match an attendee field format (2 or 3 values separated by a dash) we where crashing while trying to unpack the split value. This commit simply ignore the field if its value doesn't match the expected format of an attendee field. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#199543
A traceback error occurs when creating an employee without working hours, setting up an accrual allocation for that employee, and choosing a start date before yesterday. **Steps to reproduce the issue:** 1- Create a new employee in the Employees module with an empty "Working Hours" field. 2- Create an accrual plan: - Go to Time Off > Configurations > Accrual Plans > New. - Create a new milestone for X amount of days hourly, source: Calendar. 3- Create an accrual allocation for t
Original PR description
A traceback error occurs when creating an employee without working hours, setting up an accrual allocation for that employee, and choosing a start date before yesterday. **Steps to reproduce the…
A traceback error occurs when creating an employee without working hours, setting up an accrual allocation for that employee, and choosing a start date before yesterday. **Steps to reproduce the issue:** 1- Create a new employee in the Employees module with an empty "Working Hours" field. 2- Create an accrual plan: - Go to Time Off > Configurations > Accrual Plans > New. - Create a new milestone for X amount of days hourly, source: Calendar. 3- Create an accrual allocation for that employee: - Go to Time Off > Management > Allocations > New. - Select the accrual plan created earlier. If you choose any start date before yesterday, a traceback error occurs (see screenshots attached) <img src="https://github.com/user-attachments/assets/03198eb8-5e9a-4633-a87f-b0c07aec600d" alt="traceback_error" width="400"/> The PO (GMF) confirmed that there should always be a fallback for "Working Hours" in this order: Working hours from Contract > Working Hours from Employee > Working Hours from company opw-4281311 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185428
Move the Vendor Bills smart button from the `purchase` module to the `account` module. The views records in `purchase` module are kept as but made empty so that if the user updates the `account` module, it will also update the `purchase` module and hide the smart button from the `purchase` to only keep the new one from the `account` module. task-4584035 Forward-Port-Of: odoo/odoo#199248 Forward-Port-Of: odoo/odoo#198146
Original PR description
Move the Vendor Bills smart button from the `purchase` module to the `account` module. The views records in `purchase` module are kept as but made empty so that if the user updates the `account` module, it will also update the `purchase` module and hide the smart button from the `purchase` to only keep the new one from the `account` module. task-4584035 Forward-Port-Of: odoo/odoo#199248 Forward-Port-Of: odoo/odoo#198146
The sequence of events leads to slightly different results in Chrome 133 which results in the test failing. This commit changes the sequence of events so that the test passes in Chrome 133 as well as the prior versions. Forward-Port-Of: odoo/odoo#199599
Original PR description
The sequence of events leads to slightly different results in Chrome 133 which results in the test failing. This commit changes the sequence of events so that the test passes in Chrome 133 as well as the prior versions. Forward-Port-Of: odoo/odoo#199599
When odoo.pivot.value is surrounded with an IF and the result of that IF has a value, AND the odoo.pivot.value isn't perfectly formed, in dashboard mode, when the user clicks on that value it creates a traceback. Reproducible on runbot: - sales > pivot - fold existing groups - group by user on the left and by customer on top - add a cell whose formula is `=if(false, ODOO.PIVOT(1,"amount_total","user_id",2,"partner_id", "#Error"), "test")` - Create a dashboard using this spreadsheet - cl
Original PR description
When odoo.pivot.value is surrounded with an IF and the result of that IF has a value, AND the odoo.pivot.value isn't perfectly formed, in dashboard mode, when the user clicks on that value it creates a traceback. Reproducible on runbot: - sales > pivot - fold existing groups - group by user on the left and by customer on top - add a cell whose formula is `=if(false, ODOO.PIVOT(1,"amount_total","user_id",2,"partner_id", "#Error"), "test")` - Create a dashboard using this spreadsheet - click on the test cell > traceback This fix is removing the "see records" menu from the cells that can't have a correct domain on their pivot values. Task: 4582219 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#199065 Forward-Port-Of: odoo/odoo#198025
Before this commit and since https://github.com/odoo/odoo/pull/110188, The people invited to a channel by someone in a call in that channel wouldn't receive a call invitation, as the invitation parameter was omitted during the refactor. This commit fixes this issue. Forward-Port-Of: odoo/odoo#199580
Original PR description
Before this commit and since https://github.com/odoo/odoo/pull/110188, The people invited to a channel by someone in a call in that channel wouldn't receive a call invitation, as the invitation parameter was omitted during the refactor. This commit fixes this issue. Forward-Port-Of: odoo/odoo#199580
Set the correct accounts for expense & income currency exchange accounts Description of the issue/feature this PR addresses: task: https://www.odoo.com/odoo/my-tasks/4179478 swap Exchange Difference Gain & Exchange Difference Loss Current behavior before PR: - The exchange difference accounts were wrongly assigned Desired behavior after PR is merged: - Fix issue by swapping them --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-P
Original PR description
Set the correct accounts for expense & income currency exchange accounts Description of the issue/feature this PR addresses: task: https://www.odoo.com/odoo/my-tasks/4179478 swap Exchange Difference Gain & Exchange Difference Loss Current behavior before PR: - The exchange difference accounts were wrongly assigned Desired behavior after PR is merged: - Fix issue by swapping them --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#196950 Forward-Port-Of: odoo/odoo#190704
The lack of borders in the modals of the front-end is problematic when there is some content overflowing the height of the modal. This PR restores the borders for a better visual hierarchy. Non-optimal design introduced in front-end redesign: https://github.com/odoo/odoo/pull/120302 task-4001380 | Before | After | |--------|--------| | <img width="979" alt="Screenshot 2024-06-20 at 11 41 54" src="https://github.com/odoo/odoo/assets/110090660/31e0d3c7-fcd9-43c9-9aae-7db3b4e49af2"> |
Original PR description
The lack of borders in the modals of the front-end is problematic when there is some content overflowing the height of the modal. This PR restores the borders for a better visual hierarchy. Non-optimal design introduced in front-end redesign: https://github.com/odoo/odoo/pull/120302 task-4001380 | Before | After | |--------|--------| | <img width="979" alt="Screenshot 2024-06-20 at 11 41 54" src="https://github.com/odoo/odoo/assets/110090660/31e0d3c7-fcd9-43c9-9aae-7db3b4e49af2"> | <img width="978" alt="Screenshot 2024-06-20 at 11 42 26" src="https://github.com/odoo/odoo/assets/110090660/09f12eb0-79e4-454f-9896-af238b26a7b3"> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170105
Issue: When settling user account, the order will not have any order lines, that will display a misleading empty state on the receipt, saying: "Start adding products". Fix: We do not display this empty state, when the order is not editable, which is the case of, but not only, settling an account. Note that we have another related PR https://github.com/odoo/enterprise/pull/76370 for the same ticket, which fixes only the case of settling an account. However, @adgu-odoo suggested to make th
Original PR description
Issue: When settling user account, the order will not have any order lines, that will display a misleading empty state on the receipt, saying: "Start adding products". Fix: We do not display this empty state, when the order is not editable, which is the case of, but not only, settling an account. Note that we have another related PR https://github.com/odoo/enterprise/pull/76370 for the same ticket, which fixes only the case of settling an account. However, @adgu-odoo suggested to make the fix more general, to fix the case of not only settling an account, but also other possible cases where we show the OrderWidget in a receipt. If this PR is merged, the other one should be closed, and vice versa. opw-4430325 Forward-Port-Of: odoo/odoo#197256
- The total amount of the order is 2.0. - The payment being made is 20. - Note that there is delay between handling of keypress in pos. - So when pressing they keys "2" and "0" for the amount 20, the first key is registered first then the system rerenders highlighting the validate button because the payment amount is already enough. - This means that before the callback of pressing 0 is called, the order can be validated which is what happens. - The fix is to wait for the payment screen to
Original PR description
- The total amount of the order is 2.0. - The payment being made is 20. - Note that there is delay between handling of keypress in pos. - So when pressing they keys "2" and "0" for the amount 20, the first key is registered first then the system rerenders highlighting the validate button because the payment amount is already enough. - This means that before the callback of pressing 0 is called, the order can be validated which is what happens. - The fix is to wait for the payment screen to show the "change" amount before validating the order. Forward-Port-Of: odoo/odoo#198782 Forward-Port-Of: odoo/odoo#198741
- While calling `_generate_primary_snippet_templates`, `create_missing_views` fetches the existing snippet views. However, archived snippet is ignored, causing `create_missing_views` to attempt to create the snippet again, mistakenly considering it as a missing view. This leads to a traceback: ```py File "/data/build/odoo/odoo/sql_db.py", line 332, in execute res = self._obj.execute(query, params) psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "ir_mod
Original PR description
- While calling `_generate_primary_snippet_templates`, `create_missing_views` fetches the existing snippet views. However, archived snippet is ignored, causing `create_missing_views` to attempt to create the snippet again, mistakenly considering it as a missing view. This leads to a traceback:
```py
File "/data/build/odoo/odoo/sql_db.py", line 332, in execute
res = self._obj.execute(query, params)
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "ir_model_data_module_name_uniq_index"
DETAIL: Key (module, name)=(website, new_page_template_services_0_s_website_form) already exists.
```
- To prevent such errors, it's better to fetch inactive views as well during creation.
opw-4510585
upg-2452055
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#197107When settling the user account from `pos_settle_due`, we show a receipt with no order (as expected), but with an empty state saying "Start adding products"! This bug has been reported while using the `pos_settle_due` module, however, the fix has been made generic and hence been implemented in the `point_of_sale` module. This PR just adds the test specific to `pos_settle_due`. opw-4430325 Forward-Port-Of: odoo/enterprise#79454
Original PR description
When settling the user account from `pos_settle_due`, we show a receipt with no order (as expected), but with an empty state saying "Start adding products"! This bug has been reported while using the `pos_settle_due` module, however, the fix has been made generic and hence been implemented in the `point_of_sale` module. This PR just adds the test specific to `pos_settle_due`. opw-4430325 Forward-Port-Of: odoo/enterprise#79454
Steps to reproduce: 1) Configure 2 rental products (product1 and product2) 2) Add at least 1 pricing period to product2 3) Set product2 as accessory product to product1 4) Go to /shop page and add product1 5) Go to the cart and observe the broken layout of suggested accessories opw-4463981 Forward-Port-Of: odoo/enterprise#80385
Original PR description
Steps to reproduce:
1) Configure 2 rental products (product1 and product2)
2) Add at least 1 pricing period to product2
3) Set product2 as accessory product to product1
4) Go to /shop page and add product1
5) Go to the cart and observe the broken layout of suggested
accessories
opw-4463981
Forward-Port-Of: odoo/enterprise#80385Add a default field for each analytic plans when exporting journal items from list view task-4378083 Forward-Port-Of: odoo/enterprise#80279 Forward-Port-Of: odoo/enterprise#78530
Original PR description
Add a default field for each analytic plans when exporting journal items from list view task-4378083 Forward-Port-Of: odoo/enterprise#80279 Forward-Port-Of: odoo/enterprise#78530
Changes are introduced to ensure compliance with the regulations established by SUNAT in the context of inventory management, specifically as outlined in Resolution No. 234-2006/SUNAT. Additionally, functionality and data presentation improvements are included to facilitate analysis and interpretation for end users. Main Changes: 1. Initial Balance for the Period - The initial balance of products in stock at the start of the fiscal period is added. - Code is introduced to identi
Original PR description
Changes are introduced to ensure compliance with the regulations established by SUNAT in the context of inventory management, specifically as outlined in Resolution No. 234-2006/SUNAT. Additionally,…
Changes are introduced to ensure compliance with the regulations
established by SUNAT in the context of inventory management,
specifically as outlined in Resolution No. 234-2006/SUNAT. Additionally,
functionality and data presentation improvements are included to
facilitate analysis and interpretation for end users.
Main Changes:
1. Initial Balance for the Period
- The initial balance of products in stock at the start of the fiscal
period is added.
- Code is introduced to identify the initial balance.


2. Corrections in Inventory Valuation
- Fields related to product entries and exits in inventory valuation are
adjusted.
3. Optimized Presentation Order
- A new sorting criterion is established for the records:
- Priority 1: Sort by product code (column 7).
- Priority 2: Sort by date (column 10).
- This allows for better analysis and interpretation, as well as ensuring
correct printing.
4. Delivery Guide Number as the Primary Indicator
- Fields 11, 12, and 13 now use the delivery guide number as the primary
indicator, complying with regulations.
- This includes the delivery guide number corresponding to the transfer
document, payment voucher, internal document, or similar.
Forward-Port-Of: odoo/enterprise#72064When your spouse has no income or low income, you can benefit from withholding taxes reduction. Before this commit, only the case where the spouse had no income was implemented. This PR includes the case where the spouse has low income to also benefit for the withholding taxe reduction. task-4582221 Forward-Port-Of: odoo/enterprise#80346 Forward-Port-Of: odoo/enterprise#80052
Original PR description
When your spouse has no income or low income, you can benefit from withholding taxes reduction. Before this commit, only the case where the spouse had no income was implemented. This PR includes the case where the spouse has low income to also benefit for the withholding taxe reduction. task-4582221 Forward-Port-Of: odoo/enterprise#80346 Forward-Port-Of: odoo/enterprise#80052