Daily updates from Odoo
Wednesday, August 6, 2025
14 changes
5 changes
Enhancements to existing features
Restaurant staff are now alerted when the first dine-in self-order is placed from a table. The POS plays a sound and shows a persistent notification with a Load button, helping staff notice and open the order quickly.
Original PR description
Before this commit: =================== - When a customer placed a self-order for Dine In, the config was not notified. After this commit: ================== - A new sound `order-receive-tone` plays when a Dine In self-order is placed. - A sticky notification appears in the pos when the first order is received from a table. - This notification stays on the screen until it is manually closed by clicking the `Load` button. - Clicking `Load` button opens the order in the `register view`. Task: 4874405
The Vietnamese localization now includes additional default accounts to better separate short-term and long-term balances. This supports newer financial reports that require that distinction, helping companies produce more accurate localized reporting with less manual setup.
Original PR description
With the addition of financial reports where the distinction between short and long term is done, we add new default accounts to cover these needs. task-2492680 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#221741 Forward-Port-Of: odoo/odoo#219807
This update adds automated checks for the appointment features used in Point of Sale. It helps ensure future changes do not accidentally break appointment-related behavior in the sales interface.
Original PR description
Introduced HOOT test cases for `pos_appointment` module: - Add unit tests for patched service methods in `pos_store.js` - Add unit tests for patched component logic in `navbar.js` Task: 4945632 Forward-Port-Of: odoo/enterprise#91095
Belgian certified point-of-sale setups now automatically select the fiscal device when exactly one is available. This reduces manual configuration and helps businesses start using certified POS more quickly with fewer setup errors.
Original PR description
If one wants to use a certified pos without FDM and there is only one available, the pos automatically selects this one.
The VoIP softphone now prevents users from changing DTMF tones that have already been sent during a call. This reduces call-control mistakes by ensuring users can only add new keypad tones using valid DTMF characters.
Original PR description
The already sended DTMF signal can't be changed. In this commit, we ignore the useSelection effect when sending DTMF, user can only append new value to sended vulues. we also make the input readonly so that user can only send DTMF from the softphone keypad, since normally DTMF only support "123456789*0#" Forward-Port-Of: odoo/enterprise#91692
2 changes
Enhancements to existing features
This update ensures Saudi e-invoicing registration files use the correct parent or branch company details required by ZATCA. It also prevents invoices from being posted with a mismatched journal company and improves test coverage for Saudi B2B invoicing flows.
Original PR description
…nches Description of the issue/feature this PR addresses: The current implementation of generating CSR files for EDI doesn't differnetiate between parent companies and branches. ZATCA, however,…
…nches Description of the issue/feature this PR addresses: The current implementation of generating CSR files for EDI doesn't differnetiate between parent companies and branches. ZATCA, however, expects slightly different information depending on whether the company is a branch or a parent. This also includes a refactor of the tests for l10n_sa_edi. Current behavior before PR: The Organization Name, Organization Unit Name, and Organization Identifier of whichever company on the journal were being sent to ZATCA. You could also Onboard/Re-Onboard a journal in different company. The unit tests for EDI document generation were primarily using a partner based in the US, which meant that the b2b invoicing main flow was not being properly tested Desired behavior after PR is merged: Parent/Standalone Company: - Organization Name: The name of the company - Organization Unit Name: First 10 characters of the VAT - Organization Identifier: The VAT of the company Branch: - Organization Name: The name of the parent - Organization Unit Name: The name of the branch - Organization Identifier: The VAT of the parent - Prevent users from posting invoices, credit notes, or debit notes whose invoice company doesn't match the journal company - The tests are easier to read and they test the b2b flow correctly opw-4794842 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#221109 Forward-Port-Of: odoo/odoo#213518
Bank reconciliation can now automatically create separate matching rules even when they use the same account. This helps accountants handle different recurring payment descriptions, such as rent and location charges, without manually setting up extra rules.
Original PR description
Backport of: https://github.com/odoo/enterprise/pull/89358 - Before this commit: The automatic creation of reco model is constrained by company, account and journal. So if the reco model with this…
Backport of: https://github.com/odoo/enterprise/pull/89358
- Before this commit: The automatic creation of reco model is constrained by company, account and journal. So if the reco model with this config exists then new reco model will not be created.
- After this commit: Now we have removed the constraint entirely. Because we want to have more than one reco model with the same account in it.
- Example: Suppose we have 3 statement lines with 'Rent' as a label in them, and 3 statement lines with 'Location' as a label in them.
So before this commit when user sets same account on the first two lines with 'Rent' label, will create a new reco model with
'{Common substring} - {account code}' as a model name and common substring from labels of both lines will be set as a
match_label_param of the model. And then user next set that same account on the first two lines with 'Location' label, will not
create a new reco model automatically, because for this config one reco model already exists.
But now after this commit when user sets same account for first two lines with 'Location' label will also create a new reco
model automatically with '{Common substring} - {account code}' as a model name and common substring from labels of both
lines will be set as a match_label_param of the reco model.
Task: 48763747 changes
Enhancements to existing features
Field service task users can now open the related Helpdesk ticket directly from a dedicated button on the task. This reduces clicks and makes it easier to move between field service work and customer support details.
Original PR description
Currently, the user opens the linked ticket from the chatter in the FSM task.In this commit, we have added a stat button to allow easy redirection to the ticket. task - 4638988
Odoo VoIP now shows a clear message when a call invite fails because the phone system is not configured for secure media. This helps users and administrators understand the configuration issue without seeing confusing browser errors or tracebacks.
Original PR description
If the PBX is not configured to use SRTP-DTLS, trying to invite a user in Odoo would result in rather obscure errors: - Chrome: Called with SDP without DTLS fingerprint - Firefox: Invalid description, no fingerprint attribute at level 0 This commit gets rid of the traceback and shows a meaningful message instead. Task-4972773
Menu items in Appointment and Sales Dashboard now use clearer, more readable web addresses. This makes links easier for users to understand, share, and recognize when navigating the website.
Original PR description
`*` = website_sale_dashboard Previously, menu item URLs for actions were not user-friendly or readable. Since we now support pretty URLs, this commit updates the above modules to use clean, readable URLs for their menu items. task-4700261
Tax return workflows now more accurately show the next available status action and keep audit completion status in sync when returns are marked or unmarked as complete. Audit returns are also excluded from a prior-period locking rule, reducing unnecessary blocking during audit-related work.
Original PR description
* Simplify the view logic for displaying the state transition buttons by adding a new computed field for the next_state of current return type. * Exclude audit returns from locking constraint of locking previous period to proceed. * Mark/Unmark as completed synchronize audit status. task-4991558
The Indian GSTR-1 report view and spreadsheet have been updated to match the latest GSTN return format, helping businesses stay compliant with current reporting requirements. The change also improves how credit and debit notes are reported by tying them to the original invoice amount and warning users when required invoice links are missing.
Original PR description
With this PR, -Refactored GSTR-1 view and spreadsheet based on the latest GSTN report. -Ensured compliance with the new GSTR return format as per the provided specification. -Some tax tags are removed so those changes applied in GSTR-3 also. -Previously, in the GSTR-1 report, credit and debit notes of unregistered interstate transactions were reported based on their own amounts, which was wrong. So from now on, reporting will check the amount of the original invoice. Additionally, if a credit note is created without an associated invoice, the user will receive a warning in the report, and a field will be displayed in those unlinked credit notes list view to select the original invoice. task-3360018 Co-authored-by: Jay Savaliya <jasa@odoo.com> Co-authored-by: Zeel Patel <zepa@odoo.com>
Spreadsheet dashboard filters now open as a dropdown instead of a separate dialog, making them quicker and less disruptive to use. This improves the dashboard filtering experience and aligns the interface naming with how the feature now works.
Original PR description
### [MOV] spreadsheet_edition: rename `filter_search_dialog` This commit renames the `filter_search_dialog` files to `filter_values_component`. "Search dialog" doesn't make sense, as it is not a dialog anymore, and we never searched anything in it. ### [IMP] spreadsheet_edition: make the filter dialog a dropdown in dashboards This commit changes the filter dialog in the spreadsheet dashboard drom a dialog to a dropdown. Task: [4816189](https://www.odoo.com/odoo/2328/tasks/4816189)
Users can no longer change DTMF tones that have already been sent during a VoIP call. This keeps phone keypad input accurate by only allowing new tones to be added from the softphone keypad.
Original PR description
The already sended DTMF signal can't be changed. In this commit, we ignore the useSelection effect when sending DTMF, user can only append new value to sended vulues. we also make the input readonly so that user can only send DTMF from the softphone keypad, since normally DTMF only support "123456789*0#" Forward-Port-Of: odoo/enterprise#91692