Daily updates from Odoo
Tuesday, December 17, 2024
31 changes
2 changes
Resolved issues and error corrections
This update aligns the Italian Point of Sale fiscal document code with the latest POS naming conventions. It helps keep receipt and invoice flows compatible with recent platform changes without changing business workflows.
Original PR description
Rename methods used to fit the new camelCase naming scheme of POS methods instead of the previously used snake naming scheme
A bug fix ensures bank reconciliation records keep their chosen line ordering after saving. This prevents lists from unexpectedly reordering, helping accountants continue their work with a consistent view.
Original PR description
This commit adapts a call to _parseServerValues with respect to a change in community (odoo/odoo#190691). task~4366529
16 changes
Resolved issues and error corrections
Two Swiss localization taxes are now correctly marked as tax included. This ensures companies using the Swiss accounting setup get the expected tax behavior without manual correction.
Original PR description
### Steps to reproduce: - Install "l10n_ch" - Accounting > Configuration > Taxes - The taxes "100% GS" and "100% I OE" are not Tax included ### Cause: The column `price_include` in the tax CSVs was changed to `price_include_override` but the configuration was not kept for these fields. ### Solution: Make these two taxes 'Tax included' opw-4365234
This fixes an issue where some Calendar email templates could show an unintended blue background. The change ensures template formatting is saved in a browser-friendly way, so emails display as intended for users.
Original PR description
Steps to reproduce ----- 1. On a fresh database, install Calendar 2. Go to Email Templates > "Calendar : Event update" ** The content of the mail has a blue background ** Cause ----- Since commit 24731938f75358fd3c72b91465b72ab80d62d208, the `body_html` of the `mail.template` is stored in a xhtml format while it was previously saved in HTML. This means self-closing t tags, which were previously saved as `<t></t>`, are now saved as <t .../> in database. Since self closing t tags are not valid HTML, they get turned into opening t tags when viewed as HTML and the `data-oe-t-inline` attribute that prevents the blue background color styling to be applied are not present on these t tags. Solution ----- In case `output_format` is xml, transform the self closing t tags into empty elements which will be valid html. opw-4348482
This fix adjusts email editor tests so they pass consistently across community builds, where styling can differ slightly. It also improves how formatting is measured by placing a temporary copy of the editable content in the same page context, helping prevent false test failures.
Original PR description
Tests introduced with [commit] were failing on community builds because the style sheets have slight variations. This commit also specifies the DOM position of the cloned editable for style extraction. Instead of adding it blindly to the `body`, it is added as a sibling of the original `editable` element, which will provide a more accurate style context. [commit]: https://github.com/odoo/odoo/commit/1d709e8858ffdd86e79056c0f3a992e4410e127e Runbot tasks: 110278, 110279 task-4414541
The point of sale receipt screen now keeps subtotal labels such as "Untaxed Amount" from overlapping nearby values. This improves readability for cashiers and customers, especially in Odoo Online where the layout issue could appear.
Original PR description
In this commit: === - Added `text-nowrap` and `mw-100` classes to ensure labels like "Untaxed Amount" do not overlap with other elements. - This issue is only reproduce in odoo online. task-4402429 Before this commit:  After this commit:  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix stops an Argentine payment option for existing third-party checks from appearing on every cash journal. It now applies only to the specific third-party check and rejected third-party check journals, reducing configuration mistakes and keeping payment workflows cleaner.
Original PR description
**Description of the issue/feature this PR addresses**: It is necessay not to set "Existing Third Party Checks" outgoing payment method in all argentinean cash journals. It is only needed to be set on "Third Party Checks" and "Rejected Third Party Checks" Argentinean journals that are created when the module is installed or a new argentinean company is created. **Current behavior before PR**: "Existing Third Party Checks" outgoing payment method is set in all argentinean cash journals. **Desired behavior after PR is merged**: "Existing Third Party Checks" outgoing payment method is set only in "Third Party Checks" and "Rejected Third Party Checks" argentinean journals. _Ticket Adhoc side_: 83443 _Task Latam side_: 1293 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects Uruguay tax settings so 10% and 22% VAT-included options are properly marked as prices that include tax. This helps businesses create sales and purchase documents with accurate tax treatment and avoids incorrect totals when using VAT-included pricing.
Original PR description
This pull request addresses an issue in PR #186444, which aimed to update l10n_uy by introducing 22% and 10% VAT-included tax options for sales and purchases. These changes support Uruguay’s practice of handling both tax-included and tax-excluded amounts per document. However, the tax_included_override option was mistakenly not enabled for these VAT-included tax options. This PR resolves the issue by enabling the tax_included_override option for 22% and 10% VAT-included taxes. Task Adhoc side: 43467 Task Latam side: 1294 This pr replaces https://github.com/odoo/odoo/pull/189224 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix keeps long search terms and tag names contained within the search bar instead of spilling outside the page layout. Users will see shortened text with the full value available on hover, making search results cleaner and better aligned.
Original PR description
Before this PR: - Long search content overflows the container. - Search input and searched content are misaligned when the content isn't long. Steps to Reproduce: - Type a very long string in the search bar. - Press enter and observe that the content overflows the container. After this PR: - Max-width is set on input_container to keep searched content within the container. - Long searched content will be ellipsis, with full text viewable on hover. - Max-width on searched content ensures alignment with search input. - `$search-align-width-large and $search-align-width-small` keeps the (Search...) aligned when input is long. task-4011097
This fixes Italian electronic invoicing so invoices with negative-quantity lines are formatted in a way accepted by SDI. The system now converts those lines by reversing the quantity and unit price, helping prevent invoice submission rejections.
Original PR description
Lines with negative quantity are refused by SDI. To avoid this issue, we invert the quantity and price unit in this case. opw-4402782 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error that occurred when users started a timesheet timer, chose a Helpdesk project, and then selected a task. The Timesheets kanban view now includes the needed company information again, preventing the crash and keeping time tracking workflows uninterrupted.
Original PR description
Steps to reproduce: - In Timesheets app, go to kanban view. - Start the timer. - Select any Helpdesk project. - Try to select a task. Issue: - A traceback is thrown. Fix: - It is due to the fact that company_id field is removed from the kanban xml. - Thus not getting the value is throwing out a traceback. Solution: - Inject back the field into the kanban view. Issue from the PR: https://github.com/odoo/odoo/pull/172375 task-4382051
This fixes an automated website event test by ensuring the test focuses on the event ticket question modal before editing. It prevents a test failure related to editing a non-editable target, improving reliability for event website workflows.
Original PR description
we move the place of one step to have the focus in the modal in order to fix the error: "ERROR IN ACTION: cannot call `edit()`: target should be editable" After this commit, this error is therefore fixed. 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
Fixes an issue where filtering or grouping accounting data by distributed analytic accounts did not actually narrow the results. Users can now rely on journal item filters and balance sheet horizontal groups to show the correct figures per analytic account.
Original PR description
**Steps to reproduce:** - Install Accounting - Create an analytic plan (e.g. XYZ) - Create 2 associated analytic accounts (e.g. XYZ_1 and XYZ_2) - Create a journal entry with the first analytic…
**Steps to reproduce:**
- Install Accounting
- Create an analytic plan (e.g. XYZ)
- Create 2 associated analytic accounts (e.g. XYZ_1 and XYZ_2)
- Create a journal entry with the first analytic account:
* Journal: Miscellaneous Operations
* Journal Items:
| Account | Analytic Distribution | Debit | Credit |
| ------------- | ------------ | ----------------- | --------------------- |
| 101000 Current Assets | XYZ_1 | 100 | 0 |
| 600000 Expenses | | 0 | 100 |
- Create another journal entry with the second analytic account:
* Journal: Miscellaneous Operations
* Journal Items:
| Account | Analytic Distribution | Debit | Credit |
|----------------|-----------------|---------------|---------------|
| 101000 Current Assets | XYZ_2 | 200 | 0 |
| 600000 Expenses | | 0 | 200 |
**Use case 1:**
- Go to "Accounting / Accounting / Journal Items"
- Add a custom filter: [("Distribution Analytic Account", "is in", "XYZ_1")]
**Issue 1:**
Nothing happens. The filter doesn't work.
**Use case 2:**
- Go to "Accounting / Configuration / Accounting / Horizontal Groups"
- Create a group:
* Reports: Balance Sheet
* Field: Distribution Analytic Account
* Domain: [("Plan", "is in", "XYZ")]
- Go to "Accounting / Reporting / Statement Reports / Balance Sheet"
- Set Horizontal Group to the created one
**Issue 2:**
A grouping is done by analytic account (visually) but no filter is done on the data.
The value on all the columns are the same.
The configuration of field "Distribution Analytic Account" in the horizontal group doesn't apply.
**Cause:**
`distribution_analytic_account_ids` is a computed field without a search defined.
opw-4302877
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fix ensures Uruguay’s 22% and 10% VAT-included tax options are properly marked so invoices can handle tax-included amounts as intended. Businesses using Uruguay localization get more accurate tax behavior when documents mix tax-included and tax-excluded pricing.
Original PR description
This pull request addresses an issue in PR #186444, which aimed to update l10n_uy by introducing 22% and 10% VAT-included tax options for sales and purchases. These changes support Uruguay’s practice of handling both tax-included and tax-excluded amounts per document. However, the tax_included_override option was mistakenly not enabled for these VAT-included tax options. This PR resolves the issue by enabling the tax_included_override option for 22% and 10% VAT-included taxes. Task Adhoc side: 43467 Task Latam side: 1294 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a database upgrade issue for companies using the Vietnam localization. The migration now uses the correct company reference so upgrades to Odoo 18 can complete without an accounting-related error.
Original PR description
- The post-migration script _fix_accounts_type attempted to use the field company_id, which no longer exists in the account.account model in the 18 version. This caused a traceback ValueError: Invalid field during the database upgrade. [reference](odoo@854c3b2#diff-19ef5a530c506fdee93fe0d113e61946b87fae7dd2d360558da69c0014f766b2R102) tbg-1602 upg-2387888
Fixed an issue where POS preparation screens could go blank when an order included notes spanning multiple lines. Staff can now view and process these orders normally, reducing disruption in kitchen or preparation workflows.
Original PR description
Steps to reproduce: - Create a pos order with multiple line order notes - Send the order to preparation - Open preparation display screen Current behaviour: - Blank preparation display screen Expected behaviour: - Show the order with mutliple lines order notes Explanation: - Order note is using split to display the note in point form. So inside the t-foreach loop, the t-key should be the value of the splited note value. Instead of using generate_note which is underfined. If multiple lines of order note, all lines generate_note will be underfined thus error thrown because t-key needs to be unique. X-original-commit: de85be7
Deleting a folder and its contained documents from Trash no longer triggers an error when both are selected together. This helps users clean up archived Documents records reliably without interruption.
Original PR description
Currently, an exception is generated when the user archives a document and its folder and tries to delete both folder and document once from Trash. Steps to produce: - Open document and create folder…
Currently, an exception is generated when the user archives a document and its folder and tries to delete both folder and document once from Trash. Steps to produce: - Open document and create folder and add document in folder - Now delete document and folder - Go to Trash > open list view > Select all records > Click on Delete error ``` MissingError: Record does not exist or has been deleted. (Record: documents.document(1,), User: 1) ``` This is because 'to_delete' contains all documents (self), including the folder that we deleted, and `removable_parent_folders` contains only the folder that we deleted. Now when cleaning records, [1] unlinks all files, including folders, and [2] again tries to delete the folder that we already deleted with [1]. This commit will fix the above issue by filtering `removable_parent_folders` now it is filtering records folders thats id not in self ids. [1] - https://github.com/odoo/enterprise/blob/5ba1aa66ab17d686da648025c8921995938115ed/documents/models/documents_document.py#L1935 [2] - https://github.com/odoo/enterprise/blob/5ba1aa66ab17d686da648025c8921995938115ed/documents/models/documents_document.py#L1941 sentry-6048388238
Canceled invoices are no longer counted when calculating sales commissions. This prevents overstated commission amounts and keeps commission reports aligned with valid invoicing activity.
Original PR description
Steps: - Create a sales commission plan and assign salespeople. - Create SO and invoice and assign the salesperson to the plan. This will give this person a commission. - Cancel the invoice the commission is still on the commission report. Issue: - Cancelled invoices were being included in commission calculations, which resulted in inaccurate commission amounts. Cause: - The existing SQL query did not account for the state of the invoices, leading to all invoices (including canceled ones) being considered for commission calculations. Fix: - Updated the SQL query by adding a filter to exclude invoices where the state is `canceled`. This ensures only valid invoices are used for commission calculations, providing accurate results. opw-4261999
13 changes
Resolved issues and error corrections
This update fixes an issue where quality checks weren't correctly displaying linked QC information for finished lots. The change ensures that quality check smart buttons accurately reflect the QC linked to finished lots, improving reporting accuracy and providing better visibility into product quality. This resolves a previous bug impacting manufacturing traceability.
Original PR description
Steps to reproduce the bug:
- Create a storable product “P1”:
- Tracked with SN
- Create a BoM:
- no need to component
- Add an operation “OP1” with steps
- Control by product
- Create a manufacturing order for one unit of P1
- Confirm the MO
- Go to the shop floor and process “OP1”
- Validate the MO
- Go to the SN of P1
Problem:
The quality check smart button is correctly computes the number of QC linked with finished_lot or lot_id thanks to:
https://github.com/odoo/enterprise/pull/72693/commits/2e2a49d4ee90b20fe899ca3c199a20ad88d185ad
but they are not read in the quality check view because the domain is
not correct
opw-4361358This update enhances the planning module's search capabilities by adding a filter for 'Properties'. This allows users to more effectively narrow down their planning searches within the planning.slot and planning.analysis.report modules, improving efficiency and data access.
Original PR description
Before this commit there was no groupby Properties. In this commit we add a filter for groupby properties in planning module. The search view is being used by two modules`planning.slot` and `planning.analysis.report` thus solution resulted in adding the filter in `planning_view_search` as it is a primary inherited view of search view base in planning.slot. task-3801551
A recent update to Luxembourg tax rates in the Odoo Enterprise system caused some tests to fail. This commit adjusts the tests to reflect the new rates, ensuring accurate reporting and financial calculations. This update is part of ongoing improvements to our tax reporting functionality.
Original PR description
Description of the issue this commit addresses: The community commit linked to this one changed the rates of luxembourgian taxes used in the oss fiscal positions. Because of that, some tests are failing. --- Desired behavior after this commit is merged: Said tests are not failing anymore. --- Community PR: https://github.com/odoo/odoo/pull/189444 task-[4369658](https://www.odoo.com/odoo/project/967/tasks/4369658) Forward-Port-Of: odoo/enterprise#75650
This update resolves a visual issue on the Helpdesk dashboard where a sample ribbon was obscured by the main banner. The fix adjusts the loading order to ensure the ribbon displays correctly, providing a cleaner and more functional user experience. This improves the overall appearance of the dashboard.
Original PR description
Steps to Reproduce: - Install the Helpdesk app without demo data. - Navigate to the dashboard. - Observe the `SAMPLE` ribbon in the top-right corner. Cause: - The issue occurs because the SAMPLE ribbon for "Fake Data for Demo" is rendered before the helpdesk banner. Due to this loading order, the banner displays on top of the ribbon, obscuring it. Solution: - By adjusting the loading order so the ribbon loads after the helpdesk banner, we ensure the ribbon displays clearly above the banner without additional adjustments. task: 4209920
This update resolves an issue where comparison cells in the consolidation report were incorrectly marked as auditable, potentially causing confusion. The fix sets the 'auditable' flag to false specifically for the ComparisonBuilder, ensuring compliance with audit rules. As the consolidation module is being decommissioned, this is a low-impact change.
Original PR description
Steps to reproduce: [l10n_be_us_consolidation_demo] - go to consolidation > Test Chart > Consolidated Balance > Comparison > Test Chart - click on a cell to proceed to an audit Issue: Stacktrace…
Steps to reproduce: [l10n_be_us_consolidation_demo] - go to consolidation > Test Chart > Consolidated Balance > Comparison > Test Chart - click on a cell to proceed to an audit Issue: Stacktrace Cause: Journal id is not defined. When there are multiple periods we use the `ComparisonBuilder` https://github.com/odoo/enterprise/blob/4367042c8c7f2190d23019e591c332045b7d4993/account_consolidation/report/trial_balance.py#L139 Which, contrarily to the DefautBuilder, journals is not defined. In the AbstractBuilder (inherited in the two builders), `auditable` is set to True without consideration of the builder's definition https://github.com/odoo/enterprise/blob/3e5ac3554f4fded90fd37c56c7c60723aec59404/account_consolidation/report/builder/abstract.py#L278 On the front side, whenver we click on a auditable cell, we call the action_open_audit but journal_id is defined https://github.com/odoo/enterprise/blob/2d774344109c2f9b55d9ea6160ae99aeca4f0420/account_consolidation/static/src/components/consolidation_report/line_cell/line_cell.js#L19-L38 -> error Solution: Asusming that `auditable` is the rule and the case for the comparison builder is the exception, auditable is set to False only in the ComparisonBuilder Since `consolidation` is meant to be decommissioned, the least impacting fix is being applied. Note: in 16.0, the cells are not auditable when using comparison periods. opw-4265031
This update fixes a display issue where the 'remaining' value on project budgets was incorrectly shown as a surplus. Now, it accurately reflects the difference between the budget's forecast and actual spending. This ensures project managers have a clear and correct view of budget status.
Original PR description
The "remaining" value of a budget should be the difference between the amount spent and the amount forecast, not the other way around. Task-4331872
This update resolves an issue where uninstalling the Field Service app would incorrectly mark all projects as non-billable, leading to data loss. The change removes a previously implemented workaround, ensuring projects retain their billable status after the app is removed, maintaining accurate sales data.
Original PR description
**Issue:**
- Uninstalling the Field Service app will make all normal projects non-billable, resulting in the removal of customers and sales orders from their tasks.
**Steps To Reproduce:**
- Install the Field Service app.
- Create a project and set it as billable.
- Create a task for the project. set customer and sales order.
- Uninstall the Field Service app.
- Check the project's billable status and the task.
**Solution:**
- remove the `uninstall_hook` method since the original issue it was added for is no longer reproducable. https://github.com/odoo/enterprise/pull/32022/commits/341e68e6a3e569137aeb41d69203c731559f9ef8
opw-[4379638](https://www.odoo.com/web#id=4379638&view_type=form&model=project.task)This update resolves a testing issue within the l10n_pe_edi module related to handling 'NOT_EU_VAT' scenarios in Peru. The fix ensures accurate test results, improving the reliability of the module's functionality for Peruvian businesses. This addresses a technical detail that contributes to the overall stability of the Odoo Enterprise platform.
Original PR description
Community: https://github.com/odoo/odoo/pull/189421 task-4374458
This update resolves an issue where invoices couldn't be confirmed when a country lacked VAT information. The fix ensures that missing VAT country data is handled gracefully, treating it as '0' to allow invoice creation and confirmation. This prevents errors related to incorrect XML formatting.
Original PR description
This fix is to avoid the an error that occurs when a country does not have the VAT information set. Before this fix, when that situation happened the method get_vat_country returned False as those…
This fix is to avoid the an error that occurs when a country does not have the VAT information set. Before this fix, when that situation happened the method get_vat_country returned False as those fields values and therefore the XML could not be processed since it was expected an integer and it got a boolean. After this fix, if a country does not have VAT information, the field will be process as 0 and the XML will be created, so the invoice will be confirmed. We already had this approach in the past, inside the method wsfex_get_cae_request, but it was lost in a refactor made on the module. So what I did was just to recover that approach. https://github.com/odoo/enterprise/commit/33ea78a5bb34e657c16bcbb704eeb71897ae642d#diff-2459e118c605cf039bb94c62561285ad753b6a27c571f10a25547ee9b01aa318L741. Steps to reproduce the error: - Create a test contact based on Uruguay. - Go to Contacts/Configuration/Localization/Countries and delete all VAT information from Uruguay (Natural Person VAT, Legal Entity VAT, Other VAT) . - Create an invoice for the test client created before, add a product and all needed fields and try to confirm the invoice. - An error will pop up, saying that the server was unable to read request because of an error in the XML document. Forward-Port-Of: odoo/enterprise#75501
This update fixes inaccuracies in the HR contract dashboard by dynamically calculating reporting based on contract start and end dates, rather than static status groupings. This ensures correct reporting for all contract statuses, including archived employees, providing a more reliable view of current and historical contract data.
This update ensures that a notification is sent to the preparation display when a line item's quantity is reduced in the restaurant order. Previously, the system didn't trigger this notification, leading to potential delays in kitchen preparation. The fix corrects a data logic issue to ensure timely updates.
Original PR description
Currently, when reducing the quantity of a line, the notification for the cancelled items is not sent Steps to reproduce: ------------------- * Set up the preparation display on the category food *…
Currently, when reducing the quantity of a line, the notification for the cancelled items is not sent
Steps to reproduce:
-------------------
* Set up the preparation display on the category food
* Open both restaurant and preparation display
* In the restaurant place an order for an item with a quantity of 3
* Send the order to the kitchen
* Change the quantity to 2
* Send the order to the kitchen
> Observation: The notification is not sent to the preparation display
Why the fix:
------------
When reducing the quantity, data looks like this
`{'change': True, 'sound': False, 'category_ids': {}}`. Since `category_ids` is empty, `preparation_displays` will alsos be empty which explains why the preparation display does not receive the notification, it is simply not sent.
https://github.com/odoo/enterprise/blob/42b7b322d6c720de45661e3370397adaf74fe1f4/pos_preparation_display/models/preparation_display_order.py#L29-L40
When augmenting the quantity we add the category here: https://github.com/odoo/enterprise/blob/681c4bca67e9e312f66d797e45fb7e1c3a10b983/pos_preparation_display/models/pos_order.py#L135
We use the same logic when reducing it. This is already done in more recent version:
https://github.com/odoo/enterprise/blob/42b7b322d6c720de45661e3370397adaf74fe1f4/pos_preparation_display/models/pos_order.py#L166
opw-4332578This update corrects a technical issue preventing the l10n_ee_rounding module from automatically installing when the related l10n_ee_reports module is installed. Removing a specific country designation from the module's configuration ensures proper dependency management and simplifies the installation process.
Original PR description
In odoo/enterprise#70371, the manifest file for l10n_ee_rounding specifies the country 'ee'. However, since the module depends on l10n_ee_reports, adding 'countries' interferes with auto_install, leading to the module l10n_ee_rounding not being auto installed when l10n_ee_reports is installed. This commit removes the country specification from the manifest. no-task
This update corrects a visual issue in the Field Service Gantt View within Dark Mode. Previously, half-day off times displayed with a white background, now they match the background color of the full working day. This ensures a consistent and professional appearance across all views.
Original PR description
**Issue:** In dark mode, for current day, half days off are displayed with white background in the Field Service Gantt View for the working part.…
**Issue:** In dark mode, for current day, half days off are displayed with white background in the Field Service Gantt View for the working part.  **Expected:** In dark mode, worked half days should have same background as entire worked day for current date. **Steps to reproduce:** - Activate Time Off and Field Service apps and activate Dark Mode; - In `Time Off / Management / Time Off` create a new half day off time for any employee under contract (e.g. Mitchell Admin) for the current day; - Approve and validate; - Move to `Field Service / Planning / By User`; - Remove all search filters and display using Gantt View by week or by month; - *(opt) Create a new task for the chose user if does not appear*; - Look at the current day cell of the user. **Cause:** No dark theme background color is set to override the light theme. **Fix:** Setup background color for dark theme by overriding hard coded light theme color: https://github.com/odoo/enterprise/blob/7778a8e45502da89e27910efab401d3556d8c7f7/web_gantt/static/src/gantt_view.scss#L21   opw-4368966