Daily updates from Odoo
Saturday, January 20, 2024
28 changes · 17.0
New functionality added to Odoo
This update adds a new Ecuadorian ATS (Simplified Transactional Annex) tax report that generates XML files for submission to Ecuador's tax authority (SRI), enabling automated monthly tax reporting. Additionally, it improves how authorization numbers are managed for Ecuadorian documents and fixes icon display settings in the localization module.
Original PR description
[ADD] l10n_ec_reports_ats: Ecuadorian ATS Report (SRI) The Simplified Transactional Annex (Anexo Transaccional Simplificado - ATS) Developed in collaboration with the Trescloud team [General…
[ADD] l10n_ec_reports_ats: Ecuadorian ATS Report (SRI) The Simplified Transactional Annex (Anexo Transaccional Simplificado - ATS) Developed in collaboration with the Trescloud team [General description] - Report generated in xml to be uploaded to the DIMM software of the SRI (Servicio de Rentas Internas) in Ecuador. - Added button action to generate the ATS report in XML, in Accounting > Reports > Tax Report. - The ATS is generated per month. - Non-blocking error notifications in the ATS XML generation process [Purchase Document Reports] - Local and foreign purchase documents grouped by partner and tax support. - All pre-printed and electronic purchasing documents are included. - Total amounts of profit and VAT in withholding taxes for the purchase documents to be declared in the selected period. - Report pre-printed and electronic withholdings for each purchase document, if it was generated for that purchase document and the withhold date is in the search period. [Report sales documents] - Pre-printed and electronic sales documents grouped by partner. [Report void documents] - Pre-printed and electronic documents canceled in the selected period. - Canceled sales, purchase and withholding documents are included. Task: 3303501 _____________ [FIX] l10n_ec_reports: Fix manifest icons options - Add 'countries' option in the module manifest - Delete static files. This way of displaying icons is deprecated. _____________ [IMP] l10n_ec_edi: Cases to show and edit EC authorization number - Hide EC authorization number for not EC documents, documents without a document type and if the document is not a withhold - Allow editing of the authorization number for EC pre-printed and manual documents - Do not allow the editing of electronic documents
Enhancements to existing features
This update enhances the automatic invoice processing system to better recognize Indian taxes, including GST, CGST, SGST, and IGST taxes. The system now checks group taxes to find matching taxes, improving accuracy when extracting tax information from Indian invoices. This results in faster and more reliable invoice processing for businesses operating in India.
Original PR description
If the Indian localization is installed, check if the taxes found in the OCR can be found in the children of group taxes Task id: [3612606](https://www.odoo.com/web#id=3612606&cids=1&menu_id=4720&action=4043&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#54753 Forward-Port-Of: odoo/enterprise#53662
This improvement makes it easier for developers to add custom invoice report formats by extracting the invoice report detection logic into a separate, reusable function. Instead of having to rewrite complex code, developers can now simply override a single method to register new invoice report types. This reduces code duplication and makes the system more maintainable.
Original PR description
*: account_edi, account_edi_ubl_cii, l10n_ch Description of the issue/feature this PR addresses: This PR moves the check whether requested report is an invoice one in a separate function so that it…
*: account_edi, account_edi_ubl_cii, l10n_ch Description of the issue/feature this PR addresses: This PR moves the check whether requested report is an invoice one in a separate function so that it can be inherited in case we need to have extra invoice report formats. Current behavior before PR: In case you generate new invoice reports, EDI document will not be included unless you rewrite (or copy/update) the full code of _render_qweb_pdf() and _render_qweb_pdf_prepare_streams() functions. Desired behavior after PR is merged: With this PR, you can only inherits _is_invoice_report() function to add your new report name. Since this is a IMP PR, I am not sure it would be OK to have it in 16.0 (which is where I would need the functionality for now) ? So I made this PR on v16.0 but also another one on master : https://github.com/odoo/odoo/pull/147120 (since in 17.0 and master account_edi_ubl_cii does not need update there) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#149114 Forward-Port-Of: odoo/odoo#147124
Resolved issues and error corrections
This update addresses eight urgent issues affecting the shop floor manufacturing app, including crashes when managing work orders, incorrect employee display, missing component quantities, and printing failures. These fixes ensure the shop floor operates smoothly without unexpected errors that interrupt production workflows.
Original PR description
A collection of small but urgent fixes for the shop floor app. Please refer to the individual feature commits for more details. Task: 3651433
This update corrects how product names are handled in the translation system for the product UNSPSC module. Product names are now properly excluded from translation files, which reduces unnecessary translation work and prevents confusion in multilingual environments. This ensures the translation system focuses only on the strings that actually need to be translated.
Fixed an issue in the Planning app where gantt chart totals would overlap and become unreadable on smaller screens when using finer time precision settings like Quarter Hour. The totals now display vertically with responsive font sizing, ensuring they remain visible and readable across all screen sizes.
Original PR description
Steps to reproduce: - Install the planning app and Studio. - Go to the planning app and trigger studio to edit. - Change the `Day Precision` to `Quarter Hour`. - Close and now click on `Week` and…
Steps to reproduce: - Install the planning app and Studio. - Go to the planning app and trigger studio to edit. - Change the `Day Precision` to `Quarter Hour`. - Close and now click on `Week` and change the view to `Day`. The issue is that since the gantt is generated based on the screen size of the user in order to fit the whole gant in that width, when we divide the cell in 4 or even 2, the totals are going to overlap in smaller screens since there's no space for that division to display the totals horizontally. But in the other hand If we display the totals vertically and make them have a responsive fontsize, it will be visible for pretty much every screen size. Before:  After:  Note: It will also change for when we don't need to divide the cells, but I'm not sure of an easier solution to this. opw-3538039 Forward-Port-Of: odoo/enterprise#50763
This fix resolves a crash that occurred when users tried to create related fields linked to monetary fields (like "Total received") in the Studio customization tool. The issue arose from recent changes to how monetary fields are handled, and this update ensures the feature works smoothly. Users can now successfully add related monetary fields without encountering errors.
Original PR description
Before this commit, creating a related field toward a monetary field caused a crash. Since #40597, Studio handles monetary field differently and related field has not been taken into account. With this commit, it is now possible to create a related monetary field. This commit also removes the currency dialog which is not longer used thanks to this fix. Steps to reproduce: - Open Sales and a record - Open studio - Drag&Drop a new related field - Select Customer->Total received field and confirm - Crash opw-3663307 Forward-Port-Of: odoo/enterprise#54214
This fix ensures that when users edit views in Studio, the original action context is properly preserved and transmitted. Previously, the context was only applied when first loading a view, but not during editing, which could cause fields to display incorrectly if their visibility depended on that context. Now the context is consistently maintained throughout the editing process.
Original PR description
Forward-Port-Of: odoo/enterprise#54596 Forward-Port-Of: odoo/enterprise#54552
This update fixes a crash that occurred in Studio when users attempted to create certain view types that aren't supported for their current model. Instead of crashing, the system will now display a helpful notification explaining why the view cannot be created. This improves the user experience by providing clear feedback rather than an error.
Original PR description
This commit fix a bad usage of the notification service which leads to a crash. Steps to reproduce: - Go to calendar - Click on studio in the systray - Click on views - Click on the activity view to create one <details> <summary> Show the flow </summary>  </details> Current Behaviour ----------------- Crash: `Caused by: TypeError: this.child.mount is not a function` Expected Behaviour ------------------ Display a notification indicating that the view cannot be created on this model. opw-3686237 Forward-Port-Of: odoo/enterprise#54560 Forward-Port-Of: odoo/enterprise#54545
This update fixes the Lithuanian Balance Sheet report where the "Total Assets" and "Total Liabilities" sections were appearing in the wrong order. Additionally, the report has been improved to make fewer line items collapsible, reducing the number of clicks needed to view the full report. These changes ensure the report displays correctly and is easier to use.
Original PR description
[FIX] l10n_lt_reports: Balance Sheet: respect legal line order "Total Assets" and "Total Equity and Liabilities" were inverted. This occured because those lines used to declare an explicit sequence in 15.0, and this sequence got removed from the data file in 16.0. We fix that by enforcing a sequence, and also reorder the lines in the file in order to ease the forward-port to 17.0, where the auto-sequencing feature is used (this way, we also minimize the number of conflicts when forward-porting a fix in this report in the future). ------------------------------------ [FIX] l10n_lt_reports: Balance Sheet: make less line foldable For usability. This will require less clicks to have a broader view of the report. OPW 3608139 Forward-Port-Of: odoo/enterprise#54392 Forward-Port-Of: odoo/enterprise#54299
This fix corrects an issue where error notification emails from the subscription module were displaying HTML formatting in the subject line, making them appear unprofessional to recipients. The subject line now displays as plain text for a cleaner appearance in email clients.
Original PR description
Before this commit, the error mail subject was converted to HTML. It would not look professionnal in a mail client...
This fix resolves an error that occurred when selling an asset where the invoice account and the asset's depreciation account were the same. The system was incorrectly calculating the depreciation value during disposal, causing confusing error messages about remaining value. The fix ensures the correct depreciation line is used for the calculation.
Original PR description
- Create an invoice with account 151000 - Create an asset with this account as Depreciation Account - Sell this asset with the invoice => You have a weird error talking about remaining value In case of disposal with same accounts, the computation of depreciation_value is wrong. We should instead take the right line to compute it. Forward-Port-Of: odoo/enterprise#54430
This update fixes a crash that occurred when users tried to edit messages on mobile devices and then tapped the send button. The fix improves the mobile experience by making the send button function as a "save" button during message editing, and replacing confusing save/discard labels with a simpler discard button. Users can now edit messages more intuitively on mobile without encountering errors.
Original PR description
Before this commit, editing a message in message in a conversation and then pressing on the paper plane icon was throwing the following error: ``` TypeError: null is not an object (evaluating…
Before this commit, editing a message in message in a conversation and then pressing on the paper plane icon was throwing the following error: ``` TypeError: null is not an object (evaluating 'thread.model') @_sendMessage ``` This happens because this button was in "send" message mode rather than in edit mode. Since we cannot post a message while editing a message, the crash happens because composer is not related to thread but the message. This button is not visible in desktop mode, and user should use suggested keyboard shortcuts or click on links to either save edit or discard it. In mobile, these interactions are not intuitive. This commit fixes the issue by keeping the paper-plane button while editing in mobile but it acts as "save". The labels to save/discard was not appropriate in mobile, so it has been turned to a simple button to discard editing. opw-3670482 Before  After 
This fix resolves an issue where the number of open tasks displayed on project kanban cards would show "NaN" (Not a Number) when the task count was very large. The problem occurred because the system was formatting numbers before calculating the difference between total and closed tasks. The fix introduces a new field that directly calculates open task counts, ensuring accurate display regardless of task volume.
Original PR description
Before this commit, when the task_count is too huge, the number of open tasks displayed in each kanban card of project returns `NaN` value the reason is because the number is too huge and using `value` will format the value and return `NaN` in that case. This commit fixes the issue by using `raw_value` instead of `value` to avoid using the formatter for `task_count` and `closed_task_count` fields.
This update fixes a bug where the 'upload and set' button for project task cover images was not functioning properly. Users can now successfully upload and set cover images in the Project Task kanban view without encountering click issues. The fix also ensures the 'Remove Cover Image' button displays correctly when needed.
Original PR description
Description of the Issue/Feature this PR Addresses:
The 'upload and set' button in the Project Task Cover Image is currently non-functional.
Current Behavior Before PR:
- When attempting to set a cover image in Project Task, the 'upload and set' button is not able to click sometimes.
Desired Behavior After PR is Merged:
- This pull request resolves the non-functional 'upload and set' button, ensuring it works seamlessly for setting a cover image in
Project Task.
task-3623759
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#149607
Forward-Port-Of: odoo/odoo#145204This update removes redundant test execution that was occurring when test classes inherited from parent classes. Previously, 51 tests were being run multiple times unnecessarily, including repeated execution during post-installation builds. This fix streamlines the testing process, reducing build time and improving efficiency without changing any actual functionality.
Original PR description
When a test case class inherits from another class that has test methods, those tests are executed again for both classes. While it could be done on purpose, it does not seems to be the case here. Moreover, in this particular case, we are talking about 51 tests. Also, as the child class is tagged `post_install` those tests are run again on runbot in a post install build. This class is also inherited in more class in upper Odoo version, in master those tests are run up to 18 times. Forward-Port-Of: odoo/odoo#149959
This update fixes an unreliable test in the messaging system that was occasionally failing. The test verifies that users can successfully retry loading more messages after a failed attempt. By simplifying the test approach, it now runs more consistently and reliably.
Original PR description
Before this PR, the "Retry loading more messages on failed load more messages" test was sometimes failing. This test uses the `afterEvent` helper to wait for the load message event to occur. This is too technical and not reliable: this test just ensures that clicking on the retry button after failing to load more messages work as expected. This PR simplify this test and make use of the `contains` helper which is more reliable to do so. First, 30 messages are loaded, then the retry button appears and finally, clicking on the retry button should load 30 more messages for a total of 60. fixes runbot-53201 Forward-Port-Of: odoo/odoo#149923 Forward-Port-Of: odoo/odoo#147663
This update fixes incorrect tax calculations for 100% EX taxes in the Australian localization module. The tax template and associated tax tags have been corrected to ensure accurate tax computation for Australian businesses using Odoo.
Original PR description
The computation of such taxes were wrong, thus we update the tax template to correct the computation and the tax tags. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#149146
This fix resolves a startup error that occurs when an IoT device doesn't have a database configured. Previously, the system would attempt to create a connection with an empty URL, causing the application to crash. The fix ensures the IoT client is properly set to inactive when no database is available, allowing the device to start up successfully.
Original PR description
If an IoT doesn't have a DB recorded, the IoT client can't have an url. So the Websocket can't parse a empty string and return a traceback. With this commit we check if there are a DB else iot_client is None 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
This fix resolves a crash that occurred when the chat interface tried to display message reactions before the messaging system was fully initialized. The system now properly handles cases where user information isn't yet available, preventing errors and improving the stability of the chat experience.
Original PR description
store.self is not necessarily known when the chatter is rendered
The Push-to-Talk extension for the mail module had an issue where connected users would lose their connection after the browser's background service worker restarted. This fix ensures that user connections are properly maintained even after the service worker wakes up, improving reliability of the voice communication feature.
Original PR description
The Ptt extension makes use of the `chrome.session` API to keep track of the connected clients. Before this PR, the session storage was initialized at the top level of the background script. This is an issue since it will be executed after the service worker wake up thus overwriting the existing client map. This PR removes this initialization: the map will be created when needed instead.
This update resolves issues when creating landed costs across multiple companies. Previously, the system would incorrectly use the wrong company's journal and fail to update product costs in the secondary company. Now landed costs are properly processed with the correct company context, ensuring accurate cost tracking and product valuations across all companies.
Original PR description
To reproduce the issue: 1. Create two companies C1, C2 2. Select C1 and enable C2 3. Confirm a PO with a FIFO product in C2 4. Process the receipt 5. Bill the PO with a landed cost 6. Generate and post the LC Few errors will happen: on the LC, the journal used belongs to C1, not C2. Another one: in C2, on the product's form view, the standard price does not include the LC OPW-3651022 Forward-Port-Of: odoo/odoo#150094
This update ensures that all motivational messages in the gamification module are properly exported for translation. Previously, demo data was overwriting original messages, preventing them from being translated into other languages. The fix adds original messages to the demo data so they can be translated while remaining hidden from users.
Original PR description
For some reason the demo data for some of the ranking motivational messages is different from their default motivational message (in data). Because of the way the `translate=html_translate` works, when the demo data was installed, the original motivational message was overwritten and therefore not exported in the .pot file so it could never be translated. Since we want both the demo and original messages translated, it's best that we add the original messages into the demo data so that it's not visible to users, but is still exported to the .pot file. 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#150206 Forward-Port-Of: odoo/odoo#149231
This update fixes an issue where tests in the barcode nomenclature module were running twice due to unnecessary class inheritance. By removing the redundant inheritance, tests now execute only once, improving testing efficiency and reducing unnecessary processing time.
Original PR description
When inheriting from a test class having tests methods, the tests are played twice. In this particular case, the inheritance was not necessary at all. Forward-Port-Of: odoo/odoo#150165
This update fixes a security issue where users could create partner records through autocomplete suggestions even when they didn't have permission to do so. The system now properly respects the "no_create" restriction on partner fields, preventing unauthorized record creation and eliminating errors that occurred in partner portal fields.
Original PR description
Before this commit auto complete suggestion were showing on partner field even though there is no_create attribute on partner field and because of that user can create partner record from that field even though user is not allow to create record from it and also it gives trackback in partner portal field because of access_token. This commit prevent auto complete suggestion when partner field has no_create attribute set on them to avoid unnecessary partner creation from that field. task-3690532 Forward-Port-Of: odoo/odoo#150106
This update corrects the Vietnam localization module to properly configure the accounting chart template with the correct Anglo-Saxon accounting method setting. The fix ensures that Vietnam's accounting setup aligns with the default configuration, preventing potential accounting method conflicts for Vietnamese businesses using Odoo.
Original PR description
- Because default use_anglo_saxon is False - In the l10n_vn module, Anglo-Saxon is not accepted in Vietnam --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150202 Forward-Port-Of: odoo/odoo#123641
This fix corrects how down payment amounts are calculated when credit notes are issued against down payment invoices. Previously, the system would only use the most recent credit note amount, but now it correctly sums all linked invoices to determine the accurate down payment price. This ensures sales orders reflect the true total of all down payments received.
Original PR description
The aim of this commit is to fix the computation behavior of the downpayment line of the sale order. Context: Create a sale order and invoice a down payment. Make a credit note for the downpayment invoice for a part of the invoice's amount. Before the commit: The downpayment line on the sale order gets its price_unit updated to the amount of the last credit note. After the commit: The downpayment line on the sale order gets its price_unit updated to the sum of the amount of all linked invoice. task-id: 3634439 Forward-Port-Of: odoo/odoo#150137 Forward-Port-Of: odoo/odoo#145964
This update fixes an issue where tests in the Sales MRP modules were being executed twice due to improper test class inheritance. By removing the duplication, the test suite now runs more efficiently without redundant test executions, saving time and resources in the quality assurance process.
Original PR description
By inheriting from a test class that contains test methods, these tests are executed twice. Forward-Port-Of: odoo/odoo#150107