Daily updates from Odoo
Friday, April 12, 2024
20 changes
3 changes
Resolved issues and error corrections
This update improves how system errors are recorded so support and engineering teams receive more complete diagnostic details. Better error reports help teams understand failures faster and reduce time spent investigating issues.
Original PR description
This commit ensures that the complete exception information is captured by Sentry with the use of logger exception. This modification improves the error reporting functionality by providing more comprehensive information about the encountered exceptions. This will aid in debugging and diagnosing issues, enabling faster resolution of potential problems. see-https://github.com/odoo/odoo/commit/ff9da0e9e20a1c4ba682af40fecd23bac121b5d1
Miscellaneous changes
Currently, when the company has a french localization and activates the qr code option on the pos bill, if a customer scans the qr code, he will 'inevitably' meet an error: > According to the french law, you cannot modify a point of sale order. Forbidden fields: date_order, user_id, lines, payment_ids, ... Steps to reproduce: ------------------- * Install **France - Accounting** * Switch to `FR Company` * Go to the app **Point of Sale** * Select **Configuration** > **Settings** * Enabl
Original PR description
Currently, when the company has a french localization and activates the qr code option on the pos bill, if a customer scans the qr code, he will 'inevitably' meet an error: > According to the french…
Currently, when the company has a french localization and activates the qr code option on the pos bill, if a customer scans the qr code, he will 'inevitably' meet an error: > According to the french law, you cannot modify a point of sale order. Forbidden fields: date_order, user_id, lines, payment_ids, ... Steps to reproduce: ------------------- * Install **France - Accounting** * Switch to `FR Company` * Go to the app **Point of Sale** * Select **Configuration** > **Settings** * Enable `Use QR code on ticket` * Open a shop session * Add anything * Select/or not a customer * Select **Payment** * Select any payment method then validate * Scan the qr code on the ticket * Try filling the form and saving > Observation: Error Why the fix: ------------ We understand the confusion for french localization users to be presented with a feature which they are not able to use as intended. The Qr code feature was implemented to make it easier and quicker at the cashier but will always end up in an error, unless a client was selected and the invoice was created when validating the payment at the register. But then, it doesn't save time. Since they are not able to use the feature as intended, we decided to make it unavailable for companies with a french localization. There has been a lot of discussion about how to solve this issue. However, a lot of the ideas discussed were not doable in stable versions and this is the only solution we agreed on. opw-3704767 Forward-Port-Of: odoo/odoo#160304 Forward-Port-Of: odoo/odoo#158786
Use case: - Create a Kit BoM with finished qty to 5 consuming 10 components - Do a sale order for 3 units (3/5 of BoM) - Update the sale order line to 4 units Current behavior: The delivery has a huge amount to deliver Expected: The delivery is for 8 units It happens because the method `_compute_kit_quantities` always expect a BoM for 1 units. `bom_line_data['original_qty']` always contains the number of times the BoM will be needed and not the quantity of finished products. In or
Original PR description
Use case: - Create a Kit BoM with finished qty to 5 consuming 10 components - Do a sale order for 3 units (3/5 of BoM) - Update the sale order line to 4 units Current behavior: The delivery has a huge amount to deliver Expected: The delivery is for 8 units It happens because the method `_compute_kit_quantities` always expect a BoM for 1 units. `bom_line_data['original_qty']` always contains the number of times the BoM will be needed and not the quantity of finished products. In order to have the number of component by unit of finished product we have to introduce the BoM quantity in the formula Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#160149
16 changes
Enhancements to existing features
This update expands automated checks around recurring planning shifts to better cover employee contracts, holidays, and working hours. It also simplifies the related test setup, helping reduce future maintenance work and lowering the risk of scheduling regressions.
Original PR description
…rency tests This commit extends the tests performed for the recurrent shift feature of the planning app. This features was recently improved to take into account contracts, holidays and work hours when generating shifts. The tests introduced in this commit are ensuring that these new functionalities are performing as they should. Also in this commit, we are performing a small refactoring of the tests in the planning, planning_contract, planning_holidays modules. Some things were redundant and there was a lot of code duplication which now has been reduced. task-3780480
Adds automated guided tests to verify that users can create sales order lines directly from a helpdesk ticket. This helps protect the support-to-sales workflow from regressions and improves confidence in future updates.
Original PR description
…he-fly flow This commit introduces interactive tests (tours) to verify the on-the-fly creation of Sale Order lines within Ticket form view. task-3628571
Resolved issues and error corrections
This fix ensures Chilean electronic invoice receipt details are only added when the point of sale belongs to a Chilean company. It prevents receipts from showing an undefined barcode or related incorrect data in other company contexts.
Original PR description
Verify if we are in a chilean company when adding data to the receipt.
This change makes an automated payroll test wait until the page is ready before continuing. It helps prevent false test failures when all modules are loaded, improving confidence in payroll quality checks without changing user-facing behavior.
Original PR description
For some reason, when all the modules are loaded, the step - click on action - is not stepped on. This is probably because it is executed before the page is even loaded. That's why we add the check.
Code cleanup and technical improvements
This change centralizes the rule used to identify service-related sales order lines across planning, helpdesk, and field service areas. It reduces duplicated logic, helping keep behavior consistent and lowering the risk of future maintenance errors.
Original PR description
## Description The domain that specifies a `sale.order.line` as a service is repetitive and always the same. To avoid incoherence, refactoring it into a separate method. ## Reference task-3747138
Miscellaneous changes
Forward-Port-Of: odoo/enterprise#60370 Forward-Port-Of: odoo/enterprise#60166
Original PR description
Forward-Port-Of: odoo/enterprise#60370 Forward-Port-Of: odoo/enterprise#60166
The tax closing in France did an override of `_postprocess_vat_closing_entry_results` to be able to compute and compensate (by creating a move) difference from rounding taxes. As this functionality starts to be needed in other countries, we extract that method to `account_generic_tax_report` and made it generic. task-3691312 Forward-Port-Of: odoo/enterprise#60255 Forward-Port-Of: odoo/enterprise#56510
Original PR description
The tax closing in France did an override of `_postprocess_vat_closing_entry_results` to be able to compute and compensate (by creating a move) difference from rounding taxes. As this functionality starts to be needed in other countries, we extract that method to `account_generic_tax_report` and made it generic. task-3691312 Forward-Port-Of: odoo/enterprise#60255 Forward-Port-Of: odoo/enterprise#56510
At the moment, the Unaffected Earnings and Current Year Earnings lines are expressed using domains. We change them to use cross-report formulas to the Profit & Loss. This ensures that the Balance Sheet is balanced. taskid: 3060790 Forward-Port-Of: odoo/enterprise#59132
Original PR description
At the moment, the Unaffected Earnings and Current Year Earnings lines are expressed using domains. We change them to use cross-report formulas to the Profit & Loss. This ensures that the Balance Sheet is balanced. taskid: 3060790 Forward-Port-Of: odoo/enterprise#59132
With this commit on approval request's form view: * You have the same padding for dates * The primary button is "attached documents" if you don't linked a document or "confirm","approve" if you have already send a document. task : 3724860 Forward-Port-Of: odoo/enterprise#60271 Forward-Port-Of: odoo/enterprise#58863
Original PR description
With this commit on approval request's form view:
* You have the same padding for dates
* The primary button is "attached documents" if you don't linked a
document or "confirm","approve" if you have already send a document.
task : 3724860
Forward-Port-Of: odoo/enterprise#60271
Forward-Port-Of: odoo/enterprise#58863The declining method, even though its name doesn't tell it explicitly, implies a comparison with the output of a linear depreciation of the depreciable value on the remaining duration of the asset's lifecycle. task-3734735 Forward-Port-Of: odoo/enterprise#60352 Forward-Port-Of: odoo/enterprise#56601
Original PR description
The declining method, even though its name doesn't tell it explicitly, implies a comparison with the output of a linear depreciation of the depreciable value on the remaining duration of the asset's lifecycle. task-3734735 Forward-Port-Of: odoo/enterprise#60352 Forward-Port-Of: odoo/enterprise#56601
Fix the document name which was renamed to "(remaining pages.pdf" when exiting the split tool by gathering in one page. Missing the initial name and missing the closing parenthesis. The document name by gathering in one page is now structured as: "name (remaining pages).pdf" Technical point: Using sprintf so that users will have an entry with %s in the translation file allowing them to choose the file name position. related: https://github.com/odoo/enterprise/pull/40454 Task-384
Original PR description
Fix the document name which was renamed to "(remaining pages.pdf" when exiting the split tool by gathering in one page. Missing the initial name and missing the closing parenthesis. The document name by gathering in one page is now structured as: "name (remaining pages).pdf" Technical point: Using sprintf so that users will have an entry with %s in the translation file allowing them to choose the file name position. related: https://github.com/odoo/enterprise/pull/40454 Task-3847395 Forward-Port-Of: odoo/enterprise#60414 Forward-Port-Of: odoo/enterprise#59979
Basically, the following fields are only defined in private employee, and not on public employee. Thus we need to put group on them Forward-Port-Of: odoo/enterprise#60396
Original PR description
Basically, the following fields are only defined in private employee, and not on public employee. Thus we need to put group on them Forward-Port-Of: odoo/enterprise#60396
This commit adds some of the missing information in the commercial invoice for international shipments in `delivery_ups` and `delivery_ups_rest` modules. opw-3668875 Forward-Port-Of: odoo/enterprise#60043 Forward-Port-Of: odoo/enterprise#58861
Original PR description
This commit adds some of the missing information in the commercial invoice for international shipments in `delivery_ups` and `delivery_ups_rest` modules. opw-3668875 Forward-Port-Of: odoo/enterprise#60043 Forward-Port-Of: odoo/enterprise#58861
Add missing indexes on quality_check. This speeds up search_read on mrp.production when the quality/quality_mrp modules are installed. It's mostly useful at the opening of the Shop Floor App to turn Seq Scans into Index Scans. COM PR: https://github.com/odoo/odoo/pull/160349 Forward-Port-Of: odoo/enterprise#59998
Original PR description
Add missing indexes on quality_check. This speeds up search_read on mrp.production when the quality/quality_mrp modules are installed. It's mostly useful at the opening of the Shop Floor App to turn Seq Scans into Index Scans. COM PR: https://github.com/odoo/odoo/pull/160349 Forward-Port-Of: odoo/enterprise#59998
Currently, when you print the journal report, the header doesn't contain any information about the date/period. Steps to reproduce * install `account_reports` * open and export the Journal Report to PDF The period/date does not appear in the header (or anywhere in the PDF) opw-3827366 Forward-Port-Of: odoo/enterprise#59624
Original PR description
Currently, when you print the journal report, the header doesn't contain any information about the date/period. Steps to reproduce * install `account_reports` * open and export the Journal Report to PDF The period/date does not appear in the header (or anywhere in the PDF) opw-3827366 Forward-Port-Of: odoo/enterprise#59624
### Steps to reproduce: - Create a vendor bill for a partner with a super long name. - Go to Accounting > Reporting > Partner reports > Aged Payable - Generate the pdf #### > If the partner's name is long enough the last columns will not appear ### Cause of the issue: Pdf are generated in Odoo using wkhtmltopdf. This one takes an html file renders it in Qtweb (shrinking its content to fit a single screen) and making a screenshot to generate a pdf. However, there is a limit to the s
Original PR description
### Steps to reproduce: - Create a vendor bill for a partner with a super long name. - Go to Accounting > Reporting > Partner reports > Aged Payable - Generate the pdf #### > If the partner's name is…
### Steps to reproduce: - Create a vendor bill for a partner with a super long name. - Go to Accounting > Reporting > Partner reports > Aged Payable - Generate the pdf #### > If the partner's name is long enough the last columns will not appear ### Cause of the issue: Pdf are generated in Odoo using wkhtmltopdf. This one takes an html file renders it in Qtweb (shrinking its content to fit a single screen) and making a screenshot to generate a pdf. However, there is a limit to the shrinking applied to the html body. Therefore, if the content is too wide part of it will not appear on the pdf (this can easily been observed using Qtweb (but not with chrome)). Between 16.4 and 17.0 there was a refactoring of the way account reports are handled in Odoo see commit 2d77434 and commit b8209e2. Because of this refactoring, there is currently no width limit for cells of the table used in the body of account reports. As such, if the content of the first column is too wide, every other column will be pushed out of the screen before the pdf is generated. This is exactly what happens here. ### Fix: We added a max width to cells and a wordbreak option on the css file used for the html in the pdf export of every account reports. This ensures that the content of any cell will not push the other cells outside of the screen before the screen shot. ### Second Issue: Even with this issue out of the way, it is still possible for the content of the aged partner balance reports to be too wide after the shrink of the hmtl if you use a currency whose symbol is too long. The reason is the same as before coupled with the fact that these reports contain too many columns displaying the currency symbol of the company. ### Second part of the fix: To fix this second issue, we use a custom css class for the export of the two problematic reports (aged payable and aged receivable) when the currency symbol is too wide. opw-3749625 --- Forward-Port-Of: odoo/enterprise#58528
1 change
Enhancements to existing features
This update adds a customization hook to the stock accounting system for dropshipping transactions. It allows companies to modify how costs are recognized in their accounting entries, enabling them to record cost of goods sold at the time of both input and output rather than waiting for customer invoices. This is a technical enhancement that provides flexibility for companies with specific accounting requirements.
Original PR description
The goal is to modify the accounts that take please in those entries. A typical example is a company that wants to recognize cost of goods sold for the input and output at the same time, instead of waiting for the customer invoice. This is just a hook, not functional change. cc @ForgeFlow Forward-Port-Of: odoo/odoo#161460 Forward-Port-Of: odoo/odoo#137582