Thursday, February 12, 2026
35 changes · saas-19.1
Resolved issues and error corrections
This update corrects a recent accidental removal of tests related to self-billing XML generation within the account_edi_ubl_cii module. These tests are crucial for ensuring invoices are correctly formatted for electronic billing, particularly in compliance with industry standards. The fix ensures continued accurate invoice export functionality.
Original PR description
Accidentally removed by 4247eac4a84c. task-none Forward-Port-Of: odoo/odoo#245954
This pull request fixes a minor typo in the Italian electronic invoice (EDI) system. The title ‘Fattura Electronica’ was incorrectly displayed; it has been corrected to ‘Fattura Elettornica’. This ensures accurate invoice processing and compliance with Italian tax regulations, preventing potential errors.
Original PR description
The title Fattura Electronica is wrong it should be Fattura Elettornica Asked by TSB 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#248153
This update fixes an issue where using the down arrow key within a table in the Powerbox interface caused the cursor to jump unexpectedly. The fix ensures that the Powerbox navigation continues correctly within the table, providing a smoother and more reliable user experience. This improves the usability of the To-Do module and other applications utilizing the table editor.
Original PR description
### Steps to Reproduce: - Go to To-Do & create a table (e.g.: /table). - Place the cursor in the last cell of the table. - Press / to open the command dialog (focus is on Heading 1). - Press Arrow Down. - Notice that cursor comes out of table and focus is as at Heading 2. ### Description of the issue/feature this PR addresses: - ArrowDown first triggers table cell navigation & cursor moves out of table. - Powerbox keydown handler runs afterward & focus moves to the next item. ### Desired behavior after PR is merged: - Powerbox keydown listener runs before table navigation (capture phase) stopImmediatePropagation() prevents table navigate cell. Cursor stays inside table cell & powerbox focus moves to the next item. task - 5895390 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248064 Forward-Port-Of: odoo/odoo#247121
This update resolves an issue where the Stock Forecasted report incorrectly displayed stock quantities after a draft repair order was deleted. The fix ensures that related stock moves are properly cancelled when a draft repair order is removed, providing accurate stock reporting.
Original PR description
**Steps to reproduce:** * Install the *repair* module. * Create a *storable product* and set some **On Hand** quantity. * Go to *Repairs* and create a new **Repair Order**. Keep the repair order in…
**Steps to reproduce:** * Install the *repair* module. * Create a *storable product* and set some **On Hand** quantity. * Go to *Repairs* and create a new **Repair Order**. Keep the repair order in *draft* state (do not confirm). * In the **Parts** tab, add the storable product with the operation type set to *Add*. * Open the **Stock Forecasted** report for the added product. Note the quantity shown under *Outgoing Draft Transfer*. * Delete the **Repair Order**. * Open the **Stock Forecasted** report for the same product again. **Observed behavior:** * The quantity still appears in the **Stock Forecasted** report under *Outgoing Draft Transfer* even after the repair order is deleted. **Cause:** * Deleting a draft repair order triggers `_unlink_except_confirmed`. * This method prevents related stock moves from changing their state to cancel when the repair order is deleted. * The *Outgoing Draft Transfer* value is calculated as the sum of quantities of stock moves in draft state at draft state. https://github.com/odoo/odoo/blob/75ca0fec9a0d3b1e3a05a8bf3101bbe21846ac7a/addons/stock/report/stock_forecasted.py#L49 https://github.com/odoo/odoo/blob/75ca0fec9a0d3b1e3a05a8bf3101bbe21846ac7a/addons/stock/report/stock_forecasted.py#L90 * As a result, deleting a draft repair order leaves related stock moves in draft state, causing them to appear under *Outgoing Draft Transfer* https://github.com/odoo/odoo/blob/20d96c54b795b8d617776afe9877fb5c6632c666/addons/repair/models/repair.py#L332-L335 **Fix:** * Ensure that related stock moves are properly cancelled when a draft repair order is deleted. --- opw-5449323 Forward-Port-Of: odoo/odoo#248155 Forward-Port-Of: odoo/odoo#241970
This update resolves an issue where the HTML editor would incorrectly retain selections of tables and separators after the user clicked outside the editor. Now, when you click outside the editor, all selected content – including text, tables, and separators – is properly deselected, providing a more consistent and intuitive user experience.
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 update resolves a sporadic error related to image loading in the Odoo web interface. The change ensures the system waits longer for image updates, preventing a common issue caused by the time it takes to encode image data. This improves the overall responsiveness and reliability of image display.
Original PR description
Encoding the data to base64 can take some times. Before this commit we used this code: ```js await runAllTimers(); await animationFrame(); ``` Now we explicitly wait for the change to happen as awaiting an animation frame can't be enough. runbot-error-237568 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248166
This update fixes an error that occurred in the Point of Sale module when a unit of measure (like 'Pack of 6') was deleted. Previously, the POS module would fail to load if this UoM record was no longer present. This change ensures the POS module functions correctly even after users manage their UoM records.
Original PR description
Currently, an error is produced when loading the pos module when a referenced UoM record (e.g., Pack of 6) has been deleted by the user.
**Steps to Reproduce:**
- Install Sales Module.
- Enable **"Units of Measure & Packaging"**.
- Delete the **"Pack of 6"** Units.
- Install POS.
**Error:**
```
ParseError:
while parsing /home/odoo/src/odoo/saas-19.1/addons/point_of_sale/data/point_of_sale_data.xml:38, somewhere inside <record id="uom.product_uom_pack_6" model="uom.uom">
<field name="is_pos_groupable">True</field>
</record>
Exception:
Cannot update missing record 'uom.product_uom_pack_6'
```
The POS module overrides `uom.product_uom_*` records. If the original UoM record has been deleted, the override fails because the record no longer exists.
sentry-7237815280
Forward-Port-Of: odoo/odoo#246940This update fixes an issue where the channel invitation dialog was not taking up the full width of the modal window. Previously, it was limited, causing it to appear smaller than intended. This change ensures the dialog displays correctly and provides a consistent user experience.
Original PR description
Backport of https://github.com/odoo/odoo/pull/244777 Before this commit, the channel invitation dialog had its content not taking the whole width of modal. Steps to reproduce: - Open "General" in…
Backport of https://github.com/odoo/odoo/pull/244777 Before this commit, the channel invitation dialog had its content not taking the whole width of modal. Steps to reproduce: - Open "General" in discuss app - Click on Sidebar "Channel Actions" - Click on "Invite People" => Invitation dialog takes about half of the width of modal. This happens because the channel invitation was wrongly assumed to be inside a resizable panel, and thus the size was limited by the max width when in resizable panel. The rule to determine whether the action is in a resizable panel was poor: any action panel in discuss app was considered as resizable. This commit fixes the issue by limiting the responsive sizing, intended only for resizable panel, only when the action panel has the `.o_resizable_panel`, which is specific to when action panel is being used inside resizable panel. Task-5804100 Before / After <img width="625" height="231" alt="Screenshot 2026-01-20 at 16 12 31" src="https://github.com/user-attachments/assets/10c02939-c4c1-47fa-82f8-4d8d037d3f0c" /> <img width="621" height="231" alt="Screenshot 2026-01-20 at 16 12 18" src="https://github.com/user-attachments/assets/eec1447c-cb42-4751-b17a-ff7b2e70b8e9" /> Forward-Port-Of: odoo/odoo#247636
This update addresses a minor visual issue with the account partner warning message. The change improves the appearance of the warning line, making it more user-friendly. This ensures a cleaner and more professional experience for users managing their accounts.
Original PR description
Adjusting the warning line to look better. task-5909566 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247342
This update resolves an issue where pressing the Tab key in the Live Chat interface would trigger an error. A safeguard has been added to the system to prevent this, ensuring a smoother and more reliable user experience when navigating messages with the Tab key.
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
This update corrects and enhances the tax descriptions and names used in the Belgian localization for Odoo's point-of-sale restaurant module. The changes include accurate translations, German translations, and a fix to ensure the 21% S.INC tax is correctly applied as an included tax. This ensures accurate reporting and compliance for Belgian businesses.
Original PR description
In this commit[^1] the tax descriptions and names for the Belgian localization were added/updated. However, some names or descriptions were either not fully correct, poorly translated, or not translated at all. In this commit, we revised them all and added German translations for everything as well. [^1]: https://github.com/odoo/odoo/commit/c7b39c5ad4afba7e61265773b87f500469ace91b Forward-Port-Of: odoo/odoo#248060 Forward-Port-Of: odoo/odoo#247036
This update fixes a technical issue that could have caused errors in the Point of Sale system. Specifically, it addressed a situation where accessing product information could lead to an endless loop if the same data was defined in multiple product models. This change ensures data is accessed reliably, improving system stability.
Original PR description
Before this commit, if a getter was defined in both product.product and product.template models, and the getter returned a falsy value (like false or an empty string), it could lead to infinite recursion when accessing the property. This was due to the way the models fell back to each other to retrieve the property value. opw-5886320 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246272
This update fixes a potential issue where invoices generated from Point of Sale (PoS) orders would incorrectly round amounts when cash rounding wasn't properly configured. Previously, if cash rounding was disabled or only applied to cash payments, the invoice would still be linked to the rounding method, leading to inaccurate invoice line totals. This change ensures invoices are only rounded when cash rounding is enabled, maintaining accurate financial reporting.
Original PR description
Before this commit, when a rounding method was set in the PoS, but the cash rounding was not enabled, or only enabled for cash payments and the order did not contain any cash payment, the generated invoice would still be linked to the rounding method. This could lead to unwanted rounding on the invoice lines. opw-5864642 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247223
This update resolves a bug that caused Odoo module updates to fail when encountering certain field types (like 'Char') during the update process. The fix adds a check to ensure fields are of the correct type ('selection' or 'reference') before attempting to access their 'ondelete' attribute, improving update stability.
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 update corrects a reporting issue where refund orders were incorrectly displayed with positive amounts. Now, refund reports accurately show the negative value of the refund, ensuring accurate financial reporting and reconciliation. This change improves the reliability of our point-of-sale data.
Original PR description
Before this commit, the refund orders had positive amount in the report, which is not correct. opw-5821547 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248237
This update fixes an issue where keyboard navigation within the search bar would get stuck, preventing users from moving through other parts of the application. Now, keyboard navigation will correctly move forward from the search bar filter, ensuring a smoother and more intuitive user experience. This resolves a reported usability problem.
Original PR description
When navigating any view using keyboard navigation, the focus gets stuck on the search bar filter and cannot move forward. After this commit keyboard navigation will move forward from the search bar filter. Issue introduced by https://github.com/odoo/odoo/pull/208862 Task-5421313 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#243000
This update fixes an issue where the user role wasn't properly set in the Point of Sale system when the 'pos_hr' module wasn't installed. This prevented errors when accessing user roles through the cashier interface, ensuring consistent and reliable functionality. This change improves stability and prevents potential issues related to user permissions within Point of Sale.
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
This update resolves an issue that occurred when users attempted to onboard ZATCA journals without a company street address. The fix corrects a data type error that prevented the system from processing OTP requests. This ensures smoother operation for users utilizing the l10n_sa_edi module.
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 update corrects a technical issue in our Latin American Point of Sale (POS) localization modules (ar_pos, pe_pos) that prevented new features from loading correctly. The fix ensures that all localization modules, including those used with other Odoo modules, function as expected. This resolves a potential compatibility problem.
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
This update corrects a validation error that appeared when users deleted all content blocks from a product description. The issue stemmed from leftover whitespace in the HTML structure, which triggered an 'empty document' notification. The fix ensures that empty elements are cleaned up after content removal, preventing this error and maintaining proper product description formatting.
Original PR description
Steps to reproduce: =================== 1- Go to Website > eCommerce > Products 2- Open any product and click "Edit website" 3- Add a lot of content blocks (contact form etc..) & save 4- In the…
Steps to reproduce: =================== 1- Go to Website > eCommerce > Products 2- Open any product and click "Edit website" 3- Add a lot of content blocks (contact form etc..) & save 4- In the product description, delete all content blocks and keep the last one 5- Click Save ->"Document is empty" validation error appears Cause: ====== When saving an HTML field after deleting all content, whitespace text nodes (like newlines) may remain in the DOM element. The _copy_custom_snippet_translations lang_value might have this whitespace as the content, which will cause "Document is empty" error when the content is parsed by fromstring(). This didn't occur before the migration because the previous implementation called _onSnippetRemoved after a content block was deleted, and that handler removed any empty elements. https://github.com/odoo/odoo/blob/8d66c79ecf74900af1c5b003723363be3d52cbc8/addons/website/static/src/components/wysiwyg_adapter/wysiwyg_adapter.js#L1370 Solution: ========= After removing the content block, we should also do a cleanup. opw-5263743 Forward-Port-Of: odoo/odoo#241291
This update fixes a potential issue with how Odoo handles translations, specifically when translating fields. Previously, Odoo could sometimes receive translation values with inconsistent numbers of terms, leading to display problems. This change ensures that Odoo always checks for the correct number of translations, resulting in more accurate and reliable translations across the system.
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#248223
A technical error in the Chinese (zh_CN) language installation for the account_reports module was causing installation problems. This update manually corrected a corrupted PO file, resolving the issue and ensuring proper localization functionality for Chinese users.
Original PR description
Currently error is occurs when the user tries to install the`Chinese (zh_CN)` language after installing the `account_reports` module. Error: `Syntax error in po file (line 430): unescaped double quote found` This issue is caused by a bug in Weblate that incorrectly escapes quotation marks (\"). As a result, the PO file becomes corrupt because the quotation mark that should terminate the string is improperly escaped. This commit resolves the issue described above by manually correcting the affected PO file. sentry-6976676644
This update resolves a problem where the ICP report generation failed due to a missing link between return types and the ICP report. The fix now searches for VAT report returns instead, ensuring the report generation process completes successfully. This improves the reliability of the ICP report for Dutch businesses.
Original PR description
Since no return type has a link to ICP report, the tax return check will fail each time. This commit changes this by looking for VAT report returns. opw-5491728 Forward-Port-Of: odoo/enterprise#106955
This update fixes an issue where a distracting helper message was displayed in the bank reconciliation journal when there were no entries. The change hides this message, creating a cleaner and more user-friendly experience, particularly on mobile devices. This improves the overall usability of the accounting module.
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
This update fixes an issue where the Odoo bot was incorrectly linked to statement lines when the partner name was 'ODOO'. This ensured accurate reporting and data processing for OdooBot, preventing potential misinterpretations of financial information. The change improves the reliability of the bot's functionality.
Original PR description
When the partner_name was "ODOO" the retrieve partner was linking the statement line to OdooBot. no task id Forward-Port-Of: odoo/enterprise#106933 Forward-Port-Of: odoo/enterprise#106879
A technical issue causing errors when sending monthly tax returns to HMRC has been resolved. The fix addresses a problem where timezone information was incorrectly being passed between the JavaScript and Python components, leading to a traceback. This ensures accurate tax return submissions.
Original PR description
**STEP TO REPRODUCE** 1. Install l10n_uk_reports_cis. 2. Setup hmrc test environment. 3. Try Sending the a monthly tax return to hmrc. 4. You'll have a traceback of the form `expecting only datetimes with no timezone: '2025-12-05T00:00:00.000+01:00' ` **CAUSE** The send button for monthly return is a js widget, which get data from the monthly_return_wizard models and then pass it to `action_send_montlhy_return`. It creates a Luxon datetime in the js for date_from date_to, with a timezone. When the dates are passed back to the python, the still contains the timezone which leads to the traceback. opw-5783030 Forward-Port-Of: odoo/enterprise#106952
A test for the Shiprocket delivery module failed due to a default pricelist being applied, which incorrectly calculated the total order amount. This fix ensures that the test accurately reflects the expected calculation by forcing an empty pricelist during testing, resolving the discrepancy.
Original PR description
Issue
-----
`File "/data/build/enterprise/delivery_shiprocket/tests/test_delivery_shiprocket.py", line 317, in test_shiprocket_delivery_with_discounts
self.assertAlmostEqual(sale_order.amount_total, 55)
AssertionError: 32.0 != 55 within 7 places (23.0 difference)
`
Cause
-----
Test fails because a pricelist gets applied by default and overrides the taxes.
-----
Error runbot 232692
Forward-Port-Of: odoo/enterprise#105180This update stops OCR (Optical Character Recognition) from being automatically applied to split expense documents. This prevents the system from making redundant requests to external services, which can unexpectedly increase user costs, especially when automatic digitization is enabled. It ensures users are only charged for actual document processing.
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 resolves an error that occurred when grouping accounts by their status in the Chart of Accounts view. The issue stemmed from an incorrect SQL query attempting to order by 'NULL', which caused a technical error. This fix ensures the Chart of Accounts view functions correctly for all users.
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-7250293611This update re-exports several POT files (account_reports, documents, sign) to trigger a new message merge in Odoo. These changes were necessary to address recurring line wrapping issues identified in Weblate, ensuring accurate translations across multiple languages.
Original PR description
*account_reports,documents,sign Several CJK language line wrapping issues popped up again in Weblate. We fixed them there, but Weblate needs the POT file to change in order to trigger a new msgmerge.
This update corrects a minor error in the HR payroll calculations. It replaces a problematic reference with a more reliable variable, ensuring accurate payroll processing. This change enhances the stability and reliability of the payroll system.
This update corrects an issue where payslip calculations were occasionally inaccurate, particularly when recomputing payslips. The fix ensures that net pay computations are consistently correct, improving payroll accuracy and reducing potential discrepancies. This was triggered by a runbot test failure and is a routine maintenance update.
Original PR description
Related runbot issue: https://runbot.odoo.com/odoo/runbot.build.error/237852 Task-5881260
This update resolves an issue where automated tests were failing due to the SEPA module automatically installing during chart of account loading. 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 an issue preventing the correct import of Zengin accounting files. The validation process now allows a wider range of characters, including standard hyphens and alphanumeric text, aligning with the Zengin specification. This ensures all valid Zengin files can be imported without errors.
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 corrects a bug in the l10n_mx_edi_pos module that caused incorrect refund calculations when global discounts were applied. Previously, the system misidentified refunds as exceeding the original order total. Now, refund calculations accurately account for discounts, ensuring proper financial reporting.
Original PR description
Before this commit, when refunding an order with global discounts, the refund total was compared against the original order total without considering the discounts. While the reversed discount line would be added to the refund, the system could incorrectly flag the refund as exceeding the original order total. opw-5492686 Forward-Port-Of: odoo/enterprise#105631