Saturday, February 14, 2026
35 changes · master
Resolved issues and error corrections
This update prevents an intermittent automated test failure in the point of sale tax area by ensuring invoice selection finishes before order validation starts. It helps keep quality checks reliable, reducing false failures during development and release validation.
Original PR description
The `test_point_of_sale_custom_tax_with_extra_product_field` test does a `PaymentScreen.clickInvoiceButton()` and then directly after that a `PaymentScreen.clickValidate()`. In l10n scenarios, the logic behind triggering the `toInvoice` field can take longer. This would cause the validation to execute before the `toggleIsToInvoice` finishes executing and then it would throw an error that the order was already finalized. This PR ads an extra wait on the `Invoice` button to make sure that the toggle is executed properly before finalizing the order. Runbot Error: [233024](https://runbot.odoo.com/odoo/runbot.build.error/233024) Task: [5897371](https://www.odoo.com/odoo/project/1737/tasks/5897371) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248191
Fixed a display issue in Odoo Discuss where participant cards could overlap during video calls inside a chat window. This keeps video call layouts clearer and easier to use when someone turns on their camera.
Original PR description
Before this commit, when in a call in a chat window and someone in call stream video, the cards were overlapping. This happens because [1] removed the `w-100` on `<video>` which let them have bigger width than imposed by `arrangeTiles`. This change was motivated because the card has aspect ratio of 1 in chat window and this was too small. However the correct fix was to impose the 16:9 ratio on cards when there's at least 1 video stream, which is what this commit does. Task-5917628 [1]: https://github.com/odoo/odoo/pull/241924 Before / After <img width="387" height="607" alt="Screenshot 2026-02-06 at 16 58 51" src="https://github.com/user-attachments/assets/39569572-4eea-4d58-a383-27f9c69e4bb5" /> <img width="386" height="600" alt="Screenshot 2026-02-06 at 16 58 29" src="https://github.com/user-attachments/assets/f9b60e9a-6980-4708-b475-14f9d5a77a36" /> Forward-Port-Of: odoo/odoo#247637
This fixes a crash that could stop Odoo module updates when older or inconsistent field data is present. The update process now skips incompatible field records, improving reliability without changing normal user workflows.
Original PR description
Description of the issue/feature this PR addresses: Fix AttributeError that occurs during module updates when processing selection field deletions. Current behavior before PR: When updating modules, an `AttributeError` occurs when trying to access the `ondelete` attribute on fields that are not Selection fields: AttributeError: 'Char' object has no attribute 'ondelete' Desired behavior after PR is merged: Add validation to check if the field type is 'selection' or 'reference' before attempting to access field.ondelete as a dictionary. Skip processing for incompatible field types to prevent AttributeError. @moduon MT-13588 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247971
This fix ensures cashier user roles are set correctly in Point of Sale even when the employee-based POS module is not installed. It prevents missing role information that could cause inconsistent behavior when processing POS sessions.
Original PR description
When the pos_hr was not installed, the user role was not set, and if the role was accessed with cashier._role, it was undefined. opw-5479742 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#243057
Pressing Tab in the message composer on records with chatter no longer triggers an error when Live Chat is installed. This improves reliability for users writing messages by safely handling cases where live chat channel details are not available.
Original PR description
**Steps to Reproduce:** Install 'Live Chat' Open any record with a chatter Click Send Message to focus the composer Press the 'Tab' key on the keyboard **Current behavior before PR:** A traceback occurs because the code attempts to read 'channel_type' from a channel field that is undefined in standard threads. **Desired behavior after PR is merged:** A guard is added to the channel field. Pressing Tab no longer causes an error. task-5925393 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248222
Fixes a Saudi e-invoicing onboarding error that could block users when the company street field was left empty. This helps businesses complete ZATCA journal onboarding more reliably, even when some address details are missing.
Original PR description
This error occurs when attempting to set the "OTP" received from "ZATCA". Steps to reproduce: - Install `l10n_sa_edi` module > Switch to `SA Company` - Go to `SA Company` and remove `Street` - Journals > Open journal with type 'Sale' > ZATCA > Onboard Journal > Enter any OTP > Request Traceback: `TypeError- value argument must be a str` At [1], the error occurs because the company has an empty street field, causing the value argument to be a `boolean` instead of the expected `string`. [1]- https://github.com/odoo/odoo/blob/40a0b44231fd9a725ccf3667c4992e691e24cde7/addons/l10n_sa_edi/models/certificate.py#L71 sentry-7185302332 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248035 Forward-Port-Of: odoo/odoo#243525
This fixes a Point of Sale issue where products stopped being grouped by category after a specific category was selected. Stores using category grouping will now see products organized consistently, making checkout navigation clearer for staff.
Original PR description
Fix an issue in the POS when using `Group products by category` settings with a selected category would not group the product by category anymore. We now make sure that even when we select a category in POS, the products are still grouped by category. task-id: 5481961 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#243156
Clicking outside the HTML editor now clears all selected content, including tables and separators, not just regular text. This prevents confusing leftover selection highlights and makes editing behavior more consistent for users.
Original PR description
**Current behavior before PR:** Steps to reproduce: - In Todo, Type some text. - Insert a table and a separator. - Select text along with table and separator. - Click outside the editor. The text is deselected but table and separator are still selected. **Desired behavior after PR is merged:** Custom selection such as table and separator is deselected along with browser selection when clicking outside the editor. task-5479981 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247962 Forward-Port-Of: odoo/odoo#243484
This fix restores proper coordination between Latin American POS localization modules so they can all contribute the information they need. It prevents missing customer identification data when Guatemala e-invoicing POS is used together with Argentina or Peru POS localization.
Original PR description
Problem: - In the `l10n_ar_pos` and `l10n_pe_pos` modules, the `_load_pos_data_fields` method of the `l10n_latam.identification.type` model was missing a `super()` call. - Due to the missing…
Problem: - In the `l10n_ar_pos` and `l10n_pe_pos` modules, the `_load_pos_data_fields` method of the `l10n_latam.identification.type` model was missing a `super()` call. - Due to the missing `super()`, the method chain was broken, preventing other modules extending the same method from being executed. - This issue affected `l10n_gt_edi_pos` when installed together with these modules (see related PR). Context: - The issue was not faced earlier because existing localizations extending this method were loading the same field `name`, so the missing `super()` did not cause functional differences and tests continued to pass. - The problem became visible when `l10n_gt_edi_pos` needed to load an additional field `country_id`, which was skipped due to the broken method chain. Solution: - Added the missing `super()` calls in both modules to restore proper method chaining. related PR https://github.com/odoo/enterprise/pull/103767 task-4393614 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#242985
The rental schedule now correctly includes all product groups when the number of products is exactly at the configured display limit. This prevents products without current order lines from disappearing unnecessarily, giving users a complete grouped schedule view.
Original PR description
Versions -------- - 19.0+ Steps ----- 1. Create exactly 19 rental products. 2. Go to the rental schedule, and group by products. 3. Observe that all 19 product are used as groups. 4. Create one more product. Total: 20. 5. Go to the rental schedule, and group by products. Issue ----- Only the products with actual order line linked to them are used as groups, even if there isn't more products than the hard limit set on the gantt view (`sale_renting.sale_order_line_gantt_schedule`). Cause ----- In d5a6e97abab04282c7a69093cd790b539a958241, the expanded groups are taken into account only if `len(expand_groups) < limit`. However, this should be a less than _or equal_ condition. https://github.com/odoo/odoo/blob/d5a6e97abab04282c7a69093cd790b539a958241/addons/web/models/models.py#L345-L349 Solution -------- Use `<=` as the condition. opw-5887837 Forward-Port-Of: odoo/odoo#248001
This fix ensures translated website and interface fields are checked consistently before use. It prevents mismatched translation content from being loaded, reducing the risk of display inconsistencies for multilingual users.
Original PR description
Add missing ``check_translations`` context when translating fields. This prevents fetching dalay translation values that may have a different number of terms and cause inconsistencies. 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#248330 Forward-Port-Of: odoo/odoo#248223
The product configurator now keeps its Add to Cart button text on one line and adjusts when the text is shown on smaller screens. This improves the shopping experience by preventing awkward button wrapping on mobile and medium-sized devices.
Original PR description
This commit fixes some text wrapping issues for the buttons inside the product configurator: - Change "Add to Cart" text visibility from d-md-inline to d-lg-inline for better mobile layout and prevent text wrapping - Add text-nowrap class to configurator's footer primary button to prevent text wrapping task-5896776 | Before | After | |--------|--------| | <img width="1029" height="781" alt="image" src="https://github.com/user-attachments/assets/fa9106df-c8ee-4ade-a8ce-466549b8e816" /> | <img width="1029" height="781" alt="image" src="https://github.com/user-attachments/assets/70de2a6a-b6d8-43da-bbdb-97e1b921078b" /> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248016
The Italian electronic invoicing tax settings now show pension fund type codes alongside their names, matching other advanced tax fields. This makes it easier for users to identify and select the correct fund type consistently.
Original PR description
How to reproduce: - Install the l10n_it_edi module - (Create and) switch to an Italian company - Go to the form view of any tax - In Advanced Options, click on the Pension fund type field The problem: The codes are not displayed before the names of the pension fund types Why: All other selection fields in the Advanced Tab shows the code before the name (Exemple: Tax category code, Exoneration, ...). The Pension fund types field was the only one that did not opw-5914302 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247410
Delivery slips now avoid showing the same product name twice when products with non-displayed variants and descriptions are included. This makes delivery documents and backorder sections clearer for customers and warehouse teams.
Original PR description
When creating a delivery slip, if the product sold has variant of type never and have a description, the name will be repeated. ### Steps to reproduce: * Create a product A with variants of type…
When creating a delivery slip, if the product sold has variant of type never and have a description, the name will be repeated. ### Steps to reproduce: * Create a product A with variants of type never * Create a sales order with two product A and confirm it * Go on the delivery (don't validate it) and create a delivery slip -> Issue, the name of the product appears twice. * Reduce the quantity of product delivered to one * Confirm and create a backorder * Print the deliveryslip -> Issue, the name of the product appears twice in the backorder section ### Observation: When confirming the SO: It creates the procurement values, where the product_description_variants are obtained from _get_sale_order_line_multiline_description_variants. In our case, we will have several elements regarding the variant: https://github.com/odoo/odoo/blob/3e5aabf66a19d406fa49c9ff2f6e4db6d5ba124a/addons/sale_stock/models/sale_order_line.py#L300 This information is added to the picking_description (for which the fallback value is the product name): https://github.com/odoo/odoo/blob/626d06734991bcd3b94a6c9454317f311164e9dc/addons/stock/models/stock_rule.py#L339-L340 When printing the delivery_slip, it uses description_picking (and attempts to filter out the name): https://github.com/odoo/odoo/blob/842025976ab65e92551366def88cdd243549e5ee/addons/stock/report/report_deliveryslip.xml#L74 However, in our case, since the variant information is included, it will not be filtered out because the value is no longer just the name. The same issue is present here : https://github.com/odoo/odoo/blob/e99e07f2f22b0987468c45d3d7da287cdf703588/addons/stock/report/report_deliveryslip.xml#L179-L180 opw-5153222 Forward-Port-Of: odoo/odoo#247610 Forward-Port-Of: odoo/odoo#239693
Opening the chatter on a shared document could fail for users who only had view access, because the system tried to update an attachment thumbnail they were not allowed to modify. The fix adds an access check so thumbnail updates are only attempted when permitted, allowing shared documents to open reliably.
Original PR description
How to reproduce: - Install documents - Create a folder at the root (company) not shared to anyone (including internal user) - Open that folder and ensure the chatter is closed - Upload a document in it and share it with Marc Demo with view access - Connect with Marc Demo, click on that shared document and open the chatter You get an error because the client try to update the thumbnail of the attachment for the chatter but the user has only view access to it. The user doesn't have write access to the attachment because it is linked to a document with only read access. To solve the problem, we modify the check that trigger the thumbnail update to also check that the user has access to the related record. Task-5360962 Forward-Port-Of: odoo/odoo#247860 Forward-Port-Of: odoo/odoo#244205
This fixes an issue where opening certain contact form views in Studio could crash when a contact image field was empty. Users can now continue editing contact-related views without being interrupted by an error.
Original PR description
Steps to reproduce ================== - Go to contacts - Open studio - Switch to the form view - Open the x2many form view => TypeError: Cannot read properties of undefined (reading '0') opw-5885953 Forward-Port-Of: odoo/odoo#248503
The website editor no longer incorrectly marks installable content sections such as Blogs or Events as unavailable just because they are not installed yet. This prevents misleading guidance for users building pages and keeps the editor behavior aligned with what can actually be added.
Original PR description
Since this commit [1], installable snippet groups like "Blogs" or "Events" are shown as “not droppable” on the page when they are not installed, which is incorrect. Installable snippet groups should never be marked as “not droppable” unless all groups are disabled (e.g. in the mega menu). This commit fixes that. [1]: https://github.com/odoo/odoo/commit/ae4824640665fc639e03a13c341f18e73060349e Forward-Port-Of: odoo/odoo#248022
This change makes popover behavior consistent during automated testing by preventing rare timing issues from causing extra internal actions. It helps keep test results stable and reduces false failures without changing the user-facing product experience.
Original PR description
Because the popover had his animation enabled in tests, it could in very rare occasion end too fast and call it's finished callback, triggering extra repositionning (and thus extra expect.steps). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248341 Forward-Port-Of: odoo/odoo#244491
Contacts can now only view related lots and serial numbers instead of creating new ones from the Contacts app. This prevents incomplete or inconsistent inventory records from being entered through an unsupported workflow.
Original PR description
Currently, users can `create` new `Lots/Serial Numbers` directly from the Contacts app via the `Lots/Serial Numbers` smart button. **Steps to reproduce:** - Install the `stock` and `contacts`…
Currently, users can `create` new `Lots/Serial Numbers` directly from the Contacts app via the `Lots/Serial Numbers` smart button. **Steps to reproduce:** - Install the `stock` and `contacts` modules. - Enable `Lots & Serial Numbers` from the inventory settings. - Open the `Contacts` app and open any contact record. - Click the `Lots/Serial Numbers` smart button. **Observation:** The user can `create` a new lot/serial number from the Contacts, even though this flow is not supported and results in inconsistent data. **Root cause:** After PR [1], `lot/serial number` creation was accidentally enabled from the Contact. The intended behavior is that Contacts should only be able to view related lots/serial numbers, not create them. (Confirm with PO `crl`) **Fix:** This commit disables the creation of Lot/Serial Numbers from the contact by `hiding` the New button. This prevents users from creating inconsistent records until a complete and correct flow is implemented in a future improvement as mentioned at [2]. [1]: https://github.com/odoo/odoo/pull/184242 [2]: https://www.odoo.com/mail/message/978482657 opw-5504073 Forward-Port-Of: odoo/odoo#245426
This update stops Odoo from running OCR on split expense documents, which previously triggered costly, paid requests for every split. This is especially important when automatic digitization is enabled, preventing unexpected charges for users. The change ensures more efficient use of IAP credits.
Original PR description
OCR should only be performed on the original document. Enabling it on splits leads to redundant OCR requests and unnecessary IAP credit consumption. This is particularly important when automatic digitization is enabled, as it triggers a paid request for every split generated, leading to unexpected costs for the user. opw-[5644869](https://www.odoo.com/odoo/unassigned-tasks/5644869) Forward-Port-Of: odoo/enterprise#105756
This update prevents users from accidentally sending WhatsApp messages with default sample text. The composer now displays placeholders for free text fields, ensuring users input their own content and avoids unintended message delivery. This improves the overall user experience and data accuracy within the WhatsApp integration.
Original PR description
Purpose: Prevent users from unintentionally sending WhatsApp messages with unreplaced sample values, such as 'Welcome to EventName at City'. In the WhatsApp composer, these sample values are intended for template preview only and not for actual message delivery. Specifications: Do not prefill free text fields in the WhatsApp composer with sample values in manual flows. Instead, display sample values as placeholders. If the user fails to enter a value, the demo value will be used. For automated actions, the demo value will be used by default. Task-4126375
This update fixes an issue where a distracting helper element remained visible in the bank reconciliation journal when there were no entries. By hiding this element when there's no data, the view is now cleaner and more user-friendly, particularly on mobile devices. This improves the overall user experience.
Original PR description
Before this commit, in the bank reconciliation journal, the no-content helper remained visible when the quick-create view was opened and there were 0 entries. This was unexpected behavior and caused overlapping issues, especially on mobile views. With this commit, the no-content helper is hidden whenever the quick-create view is open and there are 0 entries. task-5470591 Forward-Port-Of: odoo/enterprise#104406
This update resolves an issue where automated tests were failing due to the SEPA module attempting to install itself during test execution. The fix disables automatic module installation during testing, preventing database changes and ensuring consistent test results. This improves the reliability of our automated testing process.
Original PR description
**PROBLEM** https://github.com/odoo/enterprise/pull/106033 PR above fixes the auto install of the sepa module when loading a chart of account of some country. However, installing modules during tests is not allowed (it commits real transaction to the db). It didn't occur during the "daily" runbot because they start the tests with all modules installed (sepa module included). **REPRO STEPS** 1. On a db without the sepa module installed, run the test function .test_bank_account_code_prefix (in account module). 2. The test will fail because it load a chart of account and then try to install the sepa module. **FIX** Deactivate the auto install when running tests. runbot-238921 Forward-Port-Of: odoo/enterprise#107102
This update fixes a restriction in the Zengin file import process, allowing a wider range of characters to be used. Previously, only specific Japanese characters were permitted, leading to import failures for standard ASCII characters like hyphens. This change ensures all valid Zengin files can be imported correctly.
Original PR description
Before this commit, the Zengin file import validation was permitting only digits, spaces, and half-width Katakana characters. This limitation caused valid files to fail validation if they contained standard ASCII characters, such as the standard hyphen (which differs from the Katakana prolonged sound mark) or alphanumeric text. This commit updates the validation regex to support the full range of characters allowed by the Zengin specification. The allowed character set has been expanded to include: - Uppercase alphanumeric characters (A-Z, 0-9) - Standard symbols (e.g., -, ., /, (, ), etc.) Ref: https://bqa.smbc.co.jp/faq/show/2473?site_domain=web21lite task-5928087 Forward-Port-Of: odoo/enterprise#107007
This update fixes an issue where the dark mode wasn't correctly applied to the account search dialog within the Enterprise module. The change ensures a consistent dark mode experience for users, improving usability and visual appeal. This enhancement aligns with our commitment to providing a modern and accessible user interface.
Original PR description
In this commit: https://github.com/odoo/enterprise/commit/e3dec031033eeefb2b2271be6b0b6fbda3cf5bf0 the dark mode was not rightly supported. task-5932352 Forward-Port-Of: odoo/enterprise#107245
This update resolves an issue preventing users from modifying POS Delivery Orders (PDIs) when a POS session was open. Now, users can create and modify PDIs regardless of whether there are active orders, improving workflow flexibility. This change ensures a smoother user experience for managing deliveries.
Original PR description
Steps to reproduce : 1. Open a POS session 2. Create a pdis with all PoS 3. An error is raised So now, when we creating a new pdis or when there is no ongoing orders in this pdis, we allow to modify it. But if there is ongoing orders, user cannot. task : 5881587 Forward-Port-Of: odoo/enterprise#105736
This update resolves a technical issue that prevented users from grouping accounts by their status within the Chart of Accounts view. The fix addresses a problem related to how the system constructs SQL queries, ensuring the reporting functionality works correctly. This improves the accuracy and usability of account reporting.
Original PR description
When grouping by the ``Status (audit_status)`` field in the Chart of Accounts view, A traceback will appear.
Steps to reproduce the error:
- Install ``Accounting`` module
- Go to Accounting > Configuration > Chart of Accounts
- Group By: Status (audit_status) field
Traceback:
```py
psycopg2.errors.SyntaxError: non-integer constant in ORDER BY
LINE 1: ..."."res_company_id" IN (1)) GROUP BY NULL ORDER BY NULL ASC ...
```
https://github.com/odoo/enterprise/blob/999880daae7495fb049afafe9098bd45ee8c9d4c/account_reports/models/account.py#L164-L168
In the main view of ``acount.account``, ``working_file_id`` is not available in the context,
So, ``working_file`` becomes False and ``status_query`` will be empty, and it returns ``SQL("NULL")``.
So, ordering by NULL leads to the above traceback.
sentry-7250293611
Forward-Port-Of: odoo/enterprise#106873This update fixes an issue where users were incorrectly redirected from the Product Catalog back to the Manufacturing Order form when navigating from the Shop Floor. The back button has been renamed to ‘Back to Shop Floor’ to ensure users are correctly returned to the intended location, improving usability.
Original PR description
Before this commit: ==================== When opening the product catalog from shop floor, the Back button is labeled “Back to Production” and navigates the users to Manufacturing Order(MO) form view…
Before this commit: ==================== When opening the product catalog from shop floor, the Back button is labeled “Back to Production” and navigates the users to Manufacturing Order(MO) form view instead of returning to Shop Floor. Steps to Reproduce: ==================== 1. Install `mrp_workorder` module. 2. Create a MO → Open it in `ShopFloor` → Open the Product Catalog to add a component to the MO. 3. Click on `Back to Production`. It will redirect to MO form view. Cause of the issue: ==================== The `backToQuotation` method in `ProductCatalogKanbanController` redirects the user back using breadcrumbs, and when no breadcrumbs exist, it falls back to opening the form view. Since the catalog is opened from the Shop Floor without any breadcrumbs, the user is always redirected to the MO form view. After this commit:- ==================== These changes rename the back button to `Back to Shop Floor` and ensure it redirects users to the Shop Floor when the catalog is opened from there. TaskID-5355924 Forward-Port-Of: odoo/enterprise#101331
This update corrects a display issue where the product grouping filter reappeared after removing it from the rental schedule gantt view. The fix removes a conflicting default setting, ensuring the gantt view behaves as expected and provides a consistent user experience. This improves the usability of rental scheduling.
Original PR description
Versions -------- - 19.0+ Steps ----- 1. Install the Rental and Inventory apps. 2. Go to the rental schedule. 3. Observe the gantt view is grouped by product by default. 4. Remove the product groupby…
Versions -------- - 19.0+ Steps ----- 1. Install the Rental and Inventory apps. 2. Go to the rental schedule. 3. Observe the gantt view is grouped by product by default. 4. Remove the product groupby filter. Issue ----- The product groupby filter reappears. Cause ----- The base gantt view defines `default_group` as product. Additionally, the `sale_stock_renting` module overrides the `sale_renting.action_rental_order_schedule` action to add two default groupby filters: `search_default_groupby_product` and `search_default_groupby_reserved_lot`. This creates conflicting defaults: one from the gantt view directly (groupby product) and another from the context (groupby product and reserved lot). Since lots are disabled by default, the lot groupby filter is ignored. When removing the product filter, the framework falls back to `default_group` and reactivates the product groupby filter. Solution -------- Remove the `default_group` parameter from the gantt view. Ensure all actions using the gantt view define their own defaults via context. opw-5887837 Forward-Port-Of: odoo/enterprise#107008
This update corrects a discrepancy in the Belgian payroll system by incorporating the latest car ATN (Auto-Territoriaal Nummer) tax rates up to 2026. This ensures accurate tax calculations for employees using company vehicles in Belgium, complying with current tax regulations.
Original PR description
TaskID: 5932573 Forward-Port-Of: odoo/enterprise#107237
This update addresses a problem with our report testing process related to a temporary build environment (faketime). The fix skips tests specifically for this environment, ensuring reports continue to function correctly. Future versions of Odoo will have a more robust solution.
Original PR description
Faketime doesn't integrate well with our current version of the report date filter. JS date is not frozen, so the filter misbehaves. It's working OK for all other builds. Future versions (19.2+) will probably have another version of the filter which should have a different implementation, solving the problem in another way. Reworked and backported from: odoo/enterprise#101689 Runbot error [link](https://runbot.odoo.com/odoo/error/234624) runbot-234624 Forward-Port-Of: odoo/enterprise#107186 Forward-Port-Of: odoo/enterprise#106172
This update corrects a technical issue where tests were unintentionally running twice, impacting system performance. The fix ensures tests are executed only once, streamlining the development process and improving overall system stability. This change does not affect any business functionality.
Original PR description
Forward-Port-Of: odoo/enterprise#106911
This update fixes an issue where credit notes were displaying negative tax amounts in the tax totals widget. The fix ensures accurate tax calculations and reporting for Brazilian credit notes, preventing potential discrepancies in financial statements. This improves the reliability of tax reporting for BR companies.
Original PR description
Currently, when computing taxes for a credit note, the system will show the included tax as negative in the tax totals widget Steps to reproduce: - Setup a BR Company - Setup a product requiring tax ICMS included in price - Create a credit note with the product - Compute taxes Issue: In tax totals widget the tax amount will be reported as negative, even if the tax line balance is correct. opw-5866180 Forward-Port-Of: odoo/enterprise#107177 Forward-Port-Of: odoo/enterprise#106579
This update corrects a discrepancy in the expected checksum for EU VAT compliance reporting. It's a necessary adjustment following a recent fix in the Odoo community version (odoo/odoo#248416). This ensures accurate VAT reporting and avoids potential compliance issues.
Original PR description
This commit simply updates the expected scale checksum after the fix in the community PR odoo/odoo#248416. Forward-Port-Of: odoo/enterprise#107352 Forward-Port-Of: odoo/enterprise#107246
This update resolves a misleading warning that appeared in the Belgian tax report when negative values were generated from carryover lines. The fix ensures that carryover lines correctly produce positive values, eliminating the inaccurate warning and improving report accuracy.
Original PR description
The Belgian tax report was displaying a warning when a negative amount originated from all the lines even from carryover ones. This warning was misleading, as carryover lines are not supposed to generate a declared negative value. task-5411005 Forward-Port-Of: odoo/enterprise#103046