Tuesday, July 7, 2026
11 changes · 18.0
New functionality added to Odoo
This update introduces new accounting accounts within the Odoo Vietnam (l10n_vn) module to better support financial reporting. Specifically, it allows for distinguishing between short-term and long-term accounts, aligning with Vietnamese accounting standards and reporting requirements. This enhancement improves the accuracy and completeness of financial data for Vietnamese businesses using Odoo.
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
Resolved issues and error corrections
Grid view list titles now show the friendly label for grouped selection values instead of internal codes. This makes drill-down results clearer for users, such as showing "Non Billable" rather than "non_billable".
Original PR description
When grouping a grid view by a selection field and clicking on the cell magnifier, the list title showed the technical name (e.g. non_billable) instead of the display name (e.g. "Non Billable"). This commit adds a condition specifically for selection fields, ensuring that their display names are used. task-5980035 Forward-Port-Of: odoo/enterprise#120894
Fixes an issue where selecting restriction fields on appointment slots could crash the form. The broken filter was removed because it did not provide useful filtering and prevented users from editing slot restrictions reliably.
Original PR description
Clicking the "Restrict to User" or "Restrict to Resources" field on a slot crashed with:
invalid input syntax for type integer: "appointment_type_id.staff_user_ids"
The field domain was a quoted string instead of a list, so it was passed through as a literal value. Remove the domain: it never filtered anything and only broke the form.
opw-6349497The French Intrastat export wizard now opens only the journal entries related to missing required values. This prevents users from being sent to unrelated accounting entries, making it faster to review and correct export warnings.
Original PR description
Steps to reproduce: 1. Have a French company with intrastat report module installed 2. Create and validate a bill to another EU country, without filling out at least one of the required intrastat fields 3. Go to the intrastat report, and export it as XML DEBWEB2 4. In the export wizard, click on the internal links on the warning messages Issues: 1. In the Intrastat report in French localization, when there are missing values detected in the export, the Export Wizard shows internal links that lead to every journal entries - instead of showing only the relevant entries. The warning banner on the report uses the action action_invalid_code_moves which has a domain to limit what is shown on the view form. However in the method _fill_value_errors there was no domain. opw-6215339
This fix keeps Knowledge file previews and related navigation behaving consistently after a Chrome browser change. It prevents a behind-the-scenes browser update from altering how the app handles scrolling actions, reducing the risk of unexpected user interface issues.
Original PR description
Since Chrome 150, scrolling methods like `scrollIntoView()` return a Promise instead of `undefined`. This commit adds block braces to ensure the action returns `undefined` and keeps the same behavior as before. Reference: - https://chromestatus.com/feature/5082138340491264 - https://chromium.googlesource.com/chromium/src/+/50f3e3d0a9bc02aad8b8161dbdd59046991dd2c7 runbot-941309 Forward-Port-Of: odoo/enterprise#123031
Blank US checks now include the same stub lines that already appeared on pre-printed checks, making payment details clearer and more consistent. The blank check bottom layout was also adjusted so it fits on one page instead of spilling onto a second page.
Original PR description
See individual commits. task-6359599
Users without an employee profile can now create expenses from documents, provided they already have permission to create expenses for another employee. This removes an unnecessary blocker while keeping existing access controls in place.
Original PR description
Removes the constraint saying a user has to be linked to an employee to create an expense from a document. In this case, the user still needs the rights to create an expense for another employee. task-6237021
This change corrects the way a hidden field is written in a view so Odoo no longer shows a warning about a missing "true" field. The behavior for users stays the same, but the edit experience is cleaner and less confusing.
Original PR description
There is a warning saying that there is no "true" field when editing the view. But in reality this is currently working as expected and the field is hidden. related to opw-5947987
This update fixes how long numbers are grouped for Portuguese (pt_PT) and Hindi (hi_IN), making them easier to read in the expected local format. It improves number display consistency for users in these languages, especially when viewing large values.
Original PR description
Currently the number grouping for Portuguese and Hindi is missing. Number grouping is used to separate long numbers in logical groups to make then easier to read. In Western countries, the grouping is usually done in groups of three digits (e.g. `1,000,000` instead of `1000000`), while in India, the grouping is done in groups of two digits after the first three digits (e.g. `10,00,000` instead of `1000000`). Source: https://www.unicode.org/cldr/charts/48/by_type/numbers.number_formatting_patterns.html#24a93b3d14ba17b2 All languages will be revised in a follow-up `master` PR. [task-6320391](https://www.odoo.com/odoo/project.task/6320391) Forward-Port-Of: odoo/odoo#274443
Fixed a display issue in journal entry previews where the credit amount could incorrectly repeat the debit amount when no currency was set. This makes the preview more accurate for users and avoids confusion when reviewing entries.
Original PR description
In _move_dict_to_preview_vals(), when no currency is provided, the credit column falls back to the line's debit value, so any caller omitting currency_id would show the debit amount in both columns of the journal entry preview. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#269335
This update ensures that invoices sent to Nilvera are consistently checked for their final status, even if initially reported as 'Unknown'. Previously, the system wouldn't re-poll these invoices, leading to delays in accurate reporting. This fix resolves a technical issue impacting the reliable transmission of invoice data to Nilvera.
Original PR description
## Short fix summary:
Nilvera reports `Unknown` as a normal, transient `StatusCode` value (their own e-Archive API docs
list the enum as `unknown`/`waiting`/`succeed`/`error`) right after a document is sent, before their
daily batch resolves the final status. But `_cron_nilvera_get_invoice_status`'s search domain only
matches `l10n_tr_nilvera_send_status in ('waiting', 'sent')`, so once an invoice lands on `unknown` it
is never polled again — even after Nilvera later resolves the real status on their side. This adds
`unknown` to that domain so these invoices keep getting polled until Nilvera reports a final status.
task-6328589
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#274311