Daily updates from Odoo
Monday, October 27, 2025
17 changes
3 changes
Enhancements to existing features
The bank reconciliation screen no longer highlights statement line amounts with a success-style text color. This makes the amount display more neutral and avoids suggesting a positive status where it may not be meaningful.
Original PR description
This commit will remove the text success of the statement line amount. no task id Forward-Port-Of: odoo/enterprise#98044
Test runs now report Chrome startup problems more visibly and clean up stuck browser processes instead of leaving temporary files behind. This helps Odoo's automated testing infrastructure surface failures faster and keeps build machines cleaner and more reliable.
Original PR description
If we can't find the devtools port file after 10 seconds we skip the test, however - this is an invisible error because the runbot does not surface skipped tests, so this specific variant should also…
If we can't find the devtools port file after 10 seconds we skip the test, however - this is an invisible error because the runbot does not surface skipped tests, so this specific variant should also have a warning (also the skip from not finding a chrome executable) - if chrome started but got stuck before it managed to create the port file we don't `stop` the chromebrowser as it never finished starting, however this means we leave a chrome running in the void a `user_data_dir` littering the machine / vm's tempdir So improve the handling of that bit. Also have chrome write its stderr to a file (in the `user_data_dir`) so we can log that out in case it contains useful information as to why chrome didn't finish booting. While at it backport the spawn changes from #206574 for consistency and simplicity: we don't need to test the platform for every single tour and the indirection makes updating the `Popen` parameters unnecessary complicated. Forward-Port-Of: odoo/odoo#232879 Forward-Port-Of: odoo/odoo#232612
This update adds practical improvements for stores using Six payment terminals, including end-of-day balance reporting, faster transaction handling, and support for refunds or reversals. It also improves receipt output and updates the terminal libraries, helping make payment operations smoother and more reliable.
Original PR description
Based on the feedback received from our partners we are missing some features in our Six terminal integration. This PR adds them 1. Send balance command to print end-of-day report 2. Adapt the code to reduce the sleep delay after each transaction 3. Refunds/payment reversals for Six + it also adds some minor code improvements like a) Card brand is now saved in pos payments instead of the card number b) Card number is still being sent to PoS and while not stored in v17 will be stored from v18 c) The code of ctypes_terminal_driver and Six Driver was improved to reuse the buffer size and improve the buffer usage d) Fixes the receipt size for the Six terminals e) updates the Six C libraries used to the latest version to get all the newest fixes Related C PR: https://github.com/odoo/worldline-lib/pull/9 Forward-Port-Of: odoo/enterprise#97962 Forward-Port-Of: odoo/enterprise#96748
2 changes
Enhancements to existing features
Six payment terminals in Point of Sale now support printing end-of-day balance reports and handling refunds or payment reversals. The update also speeds up post-transaction processing and improves receipt handling and payment card information capture, helping stores close faster and manage transactions more reliably.
Original PR description
Based on the feedback received from our partners we are missing some features in our Six terminal integration. This PR adds them 1. Send balance command to print end-of-day report 2. Adapt the code to reduce the sleep delay after each transaction 3. Refunds/payment reversals for Six + it also adds some minor code improvements like a) Card brand is now saved in pos payments instead of the card number b) Card number is still being sent to PoS and while not stored in v17 will be stored from v18 c) The code of ctypes_terminal_driver and Six Driver was improved to reuse the buffer size and improve the buffer usage d) Fixes the receipt size for the Six terminals e) updates the Six C libraries used to the latest version to get all the newest fixes Related C PR: https://github.com/odoo/worldline-lib/pull/9 Forward-Port-Of: odoo/enterprise#97962 Forward-Port-Of: odoo/enterprise#96748
This update makes the accounting tax calculation helper automatically extract records from the grouping key. It reduces manual handling for developers working on tax aggregation, making related accounting screens and calculations easier to maintain.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231947
5 changes
Enhancements to existing features
The bank reconciliation screen no longer highlights statement line amounts with a success-style text color. This makes the display more neutral and avoids implying that an amount is already successful or confirmed based only on its color.
Original PR description
This commit will remove the text success of the statement line amount. no task id Forward-Port-Of: odoo/enterprise#98044
The AI chat launcher now connects to discussion channels using the channel service directly. This is a small internal improvement that aligns the chat flow with the intended messaging component and helps keep the feature easier to maintain.
Original PR description
This commit now uses the discuss.channel getOrFetch method directly instead of the one from mail.thread.
Studio now explains that list column widths can include minimum and maximum values. This helps users configure column sizing more accurately when customizing views.
Original PR description
PR odoo/odoo#232988 adds the support of minimal/maximal widths for the `width` attribute in list archs. This commit adapts the tooltip of the width attribute in studio accordingly. task~5194492
An unused attachment template was removed from the Helpdesk Live Chat module. This is a small cleanup that reduces obsolete code without changing how users interact with the system.
Original PR description
This commit removes the unused attachment template. For reference, see https://github.com/odoo/enterprise/pull/94970 Related Upgrade: https://github.com/odoo/upgrade/pull/8703
The AI live chat integration was updated to stay compatible with recent internal changes in how chat conversations are created. This helps keep website live chat working smoothly without changing the experience for visitors or support teams.
Original PR description
This commit adapts the code to the _createThread refactor and rename. PR community: https://github.com/odoo/odoo/pull/232298
5 changes
Enhancements to existing features
The bank reconciliation statement line no longer highlights the amount with a success-style text color. This creates a cleaner, less distracting view while reviewing statement lines.
Original PR description
This commit will remove the text success of the statement line amount. no task id Forward-Port-Of: odoo/enterprise#98044
Odoo's automated tests now report Chrome startup problems more clearly and clean up stalled browser processes. This helps maintain healthier test environments and makes failures easier to investigate without affecting end users.
Original PR description
If we can't find the devtools port file after 10 seconds we skip the test, however - this is an invisible error because the runbot does not surface skipped tests, so this specific variant should also…
If we can't find the devtools port file after 10 seconds we skip the test, however - this is an invisible error because the runbot does not surface skipped tests, so this specific variant should also have a warning (also the skip from not finding a chrome executable) - if chrome started but got stuck before it managed to create the port file we don't `stop` the chromebrowser as it never finished starting, however this means we leave a chrome running in the void a `user_data_dir` littering the machine / vm's tempdir So improve the handling of that bit. Also have chrome write its stderr to a file (in the `user_data_dir`) so we can log that out in case it contains useful information as to why chrome didn't finish booting. While at it backport the spawn changes from #206574 for consistency and simplicity: we don't need to test the platform for every single tour and the indirection makes updating the `Popen` parameters unnecessary complicated. Forward-Port-Of: odoo/odoo#232879 Forward-Port-Of: odoo/odoo#232612
This update adds test coverage to ensure Indian export invoices without a Letter of Undertaking and with tax-inclusive pricing calculate the taxable base correctly. It helps prevent invoice total mismatches in electronic invoicing scenarios.
Original PR description
Add test for export without LUT and price included tax, but base should be equal to invoice total. Forward-Port-Of: odoo/odoo#231943 Forward-Port-Of: odoo/odoo#231614
When importing a data module fails, users now see the full error details instead of only the final part of the message. This makes it easier to understand what went wrong or share complete information with support for faster troubleshooting.
Original PR description
Before this commit, when an error happens during the import of a data module, the UserError was displaying the last part of the traceback. In some cases, it was sufficient (missing manifest, unknown dependency, ...). But in other cases, this was only displaying the record triggering the error, but not more, giving no clue on what was the exact error and how to fix it. This commit adapts the UserError to provide the full traceback in the popup window, such that the user can understand or at least report the error. Another task is targeting master to improve the design of this window. task-4876416
The Peppol integration now follows OpenPeppol’s preferred capitalization across user-facing labels. It also removes the Peppol status from the customer invoice list view, reducing visual clutter while keeping the underlying Peppol functionality available elsewhere.
Original PR description
1. Align naming PEPPOL -> Peppol. This is the directive from OpenPeppol for few years already in all their communications. 2. Remove the PEPPOL status from the `account.move` list view. task-none (FP feedback for point 2)
1 change
Enhancements to existing features
When Uruguay tax authority rejects an electronic invoice and Odoo cancels it, the system now notifies responsible users so the issue is not missed. The update also makes it easier to review and correct invoices whose tax authority status later changes, reducing unnoticed billing inconsistencies.
Original PR description
Added 3 improvements to the process of updating the state of an invoice in Odoo, according to the state in DGI: **For invoices that have been rejected by DGI:** - Added logic to automatically notify…
Added 3 improvements to the process of updating the state of an invoice in Odoo, according to the state in DGI: **For invoices that have been rejected by DGI:** - Added logic to automatically notify relevant users when an electronic invoice (CFE) is rejected by the DGI and, as a result, canceled in the system. The goal is to ensure that there is always someone responsible who is informed to correct and resend the receipt. - Added logs in the terminal to make the debug easier in case we want to identify rejected invoices. **Particular case of an invoice that had been rejected by DGI but the user somehow fixes it and then DGI accepts it:** - Added logic to verify both DGI state and Invoice state and adjust it accordingly when updating invoice DGI status. - Make 'Update DGI status' button always visible to be able to adjust invoices states. **== Context of the Problem ==** Previously, when Odoo detected that a CFE had been rejected by the DGI, the system proceeded to cancel the invoice automatically. However, this process was carried out silently, without generating any notification. This could mean that if no user or salesperson was actively monitoring the status of the receipts, the cancellation would go unnoticed, resulting in invoices that were never corrected or reissued. For the case of a previously rejected and then accepted invoice, we always thought that 'Rejected' state in DGI was a definite state and could not suffer any change. But recently it has been a case that this state changed, creating inconsistencies in Odoo invoices states as they appear as cancelled. With these changes, the user can adjust the invoices state by clicking 'Update DGI status' button. **== Automatic Notification Logic ==** With the new functionality, every time an invoice is automatically canceled due to a DGI rejection, the system posts a message in the document chatter to report the situation. The logic for determining who is notified is as follows: _Scenario 1: Invoice with Internal Followers_ - If the canceled invoice has at least one internal follower (an Odoo user), the system will perform the following actions: - It will post a message in the invoice chatter. - It will tag (@) all internal followers to notify them directly. _Scenario 2: Invoice without Internal Followers_ - If the invoice does not have any internal followers, the system will search for a more general but relevant audience to ensure that the notification is addressed: - It will post a message in the invoice chat. - It will tag (@) all users who belong to the “Accounting Manager” permission group (technical name: group_account_manager). Task ODOO: #[1362](https://latam-localizations.odoo.com/web?debug=1#id=1362&cids=1&menu_id=88&action=131&active_id=16&model=project.task&view_type=form) Task ADHOC: #[54799](https://www.adhoc.inc/odoo//project.task/54799)
1 change
Enhancements to existing features
The accounting accrual wizard is being prepared to support more flexible reversal entry creation. This matters for businesses that need accruals spread across multiple periods, helping future customizations match reversals with actual invoices more accurately.
Original PR description
Add a dedicated hook method to facilitate customization of reversal entry generation in the accrued orders wizard. Reason: The current implementation creates a single reversal entry that is applied in the next period. For scenarios requiring accrual allocation across multiple periods, modules need the ability to generate multiple reversal entries (one per period) to properly net-off against actual invoices --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr