Daily updates from Odoo
Wednesday, September 17, 2025
15 changes · master
Enhancements to existing features
Demo manufacturing data for tables has been updated to match the new shopfloor workflow. Instead of one worksheet attached to an operation, each quality step now has its own worksheet, giving users a clearer and more consistent demo experience.
Original PR description
_* = quality_mrp_workorder, quality_mrp_workorder_worksheet Purpose: -------- With the new shopfloor design, worksheets are no longer defined at the operation level. Each step now has its own worksheet at the Quality Point level. The demo data of [FURN_9666] Table and [FURN_8522] Table Top has been updated accordingly to align with this design and provide users with a consistent experience. Before this commit: ------------------- The worksheet was attached at the operation level as a single PDF, with pages reused across different steps. After this commit: ------------------ Worksheets are now defined at the Quality Point level. Each step has its own dedicated worksheet, split from the original PDF and applied to the corresponding Quality Check. Relevant PR: https://github.com/odoo/odoo/pull/200345 Task: 5068250 Forward-Port-Of: odoo/enterprise#94081
GST return reconciliation now matches draft and cancelled vendor bills more reliably when they have a valid invoice reference or IRN. Posted bills continue to use stricter checks, helping reduce missed or incorrect matches during GST-2B reconciliation.
Original PR description
Before this PR: - `line_ids.tax_ids` filter was applied too early, excluding some valid draft/cancelled bills. - Bill reference and IRN checks were not consistently combined, leading to missed matches in reconciliation. - Posted bills could be incorrectly excluded when the reconciliation status was not considered properly. After this PR: - Refined domain grouping so `line_ids.tax_ids` and GST treatment checks only apply for posted bills. - Draft/cancelled bills are matched if they have a valid IRN or bill reference. - Posted bills require bill reference, tax, reconciliation status, and GST treatment checks for accurate matching. This ensures more reliable matching of draft bills with GST-2 B during the GST return period reconciliation. Forward-Port-Of: odoo/enterprise#94384
The web enterprise menu now stores cached data in a larger browser storage area instead of the more limited local storage. This helps reduce the chance of cache space issues and supports smoother navigation as other browser caches continue to use local storage.
Original PR description
This commit modifies the menu service so that it uses IndexedDB to cache data instead of localStorage. LocalStorage is more limited in size and is used by all other caches.
The Argentine localization now uses the new ARCA name instead of the former AFIP name across labels, references, documentation strings, and related electronic invoicing configuration. This keeps customer-facing fiscal terminology aligned with the renamed Argentine tax authority and reduces confusion for users working with local compliance flows.
Original PR description
Purpose: - The fiscal institution changed its name to ARCA. - That's why we substitute 'AFIP' (Administración Federal de Ingresos Públicos) by 'ARCA' (Agencia de Recaudación y Control Aduanero) everywhere in AR localization task-4986899 Forward-Port-Of: odoo/enterprise#91980
Mexican CFDI e-invoices are now generated so their totals match the validation method used by the SAT tax authority. This reduces the risk of rejected invoices by automatically handling rounding differences through discounts or an adjustment line when needed.
Original PR description
Simplify the CFDI generation. Now the totals are always computed from the lines. That way, it's impossible for the SAT to refuse a CFDI since it's built in the way the SAT checks the validity of the file. The difference between the CFDI total and the original documents is put using the discount if available. If not, we add a fake line in the CFDI. task-id: 4926200 Forward-Port-Of: odoo/enterprise#94602 Forward-Port-Of: odoo/enterprise#90434
The app menu search field now tells browsers and password managers not to offer saved entries. This avoids unnecessary Bitwarden popups and keeps the main menu experience cleaner for users.
Original PR description
Bitwarden pops up small form on top of the main menu for no reason. It is because of the hidden input created to trigger search when you type. Put `autocomplete="off"` to avoid these popups.
Dutch accounting users can now manually create corrective VAT declarations, known as suppletie, to amend a previous VAT return for the same period when allowed. Tax closings also clear prior tax lock date exceptions, helping prevent later entries from unexpectedly affecting closed VAT periods.
Original PR description
We add a new return type for a corrective VAT declaration (suppletie) using in the Netherlands. This allows users to manually create them to correct a previous VAT return in the same period under certain circumstances. task-4525909 Forward-Port-Of: odoo/enterprise#93327
Expense payment cards now appear more like real cards in the kanban view, making them easier for users to recognize at a glance. The update also corrects dark theme styling so theme-specific visuals do not affect the regular display.
Original PR description
This improves the kanban display to match more closely to the real one. In addition, it fixes the dark theme scss override being also loaded in the regular scss Forward-Port-Of: odoo/enterprise#94903
The bank reconciliation widget has been visually adjusted so labels and count badges appear less heavy. This makes the interface easier to scan without changing any accounting workflow or behavior.
Original PR description
During this commit:https://github.com/odoo/enterprise/commit/f9725d7b01cbd1235f022821a6861adb2955e49e We made some changes on the css of the bank rec widget. This commit will change: - The text weight of the labels is a bit too dark - The circle around the count on button was also a bit too dark task-5091753 Forward-Port-Of: odoo/enterprise#94906
Dark mode colors have been refined for bottom sheet elements so they remain clear and consistent. This improves readability and visual comfort for users working with dark mode enabled.
Original PR description
This commit adjusts the colors of the bottom sheet’s inner elements for dark mode. task-5087158 Requires: - https://github.com/odoo/odoo/pull/227230 Forward-Port-Of: odoo/enterprise#94783
Several country-specific Intrastat and UK reporting modules now use a shared default delay setting to calculate filing deadlines. This makes deadline handling more consistent and easier to maintain, with no expected change to day-to-day user workflows.
Original PR description
Forward-Port-Of: odoo/enterprise#94889
IoT Box records are now displayed alphabetically by name instead of by internal ID. This makes it easier for users to find the right device and improves day-to-day usability.
Original PR description
In order to improve user experience, we now sort IoT Box records by name instead of ID. Task: 5092660
Adds basic permission checks for AI-related models to help ensure internal users have the right access. This reduces the risk of access issues going unnoticed during future changes.
Original PR description
Purpose: --------- This commit adds a few basic tests to check model permissions. (the fix from the original commit about the ai.tool model is not forwardported as the model has been removed in 19.0 (replaced by server actions). Task-5064332 Forward-Port-Of: odoo/enterprise#94483 Forward-Port-Of: odoo/enterprise#93847
This update removes an outdated button layout setting from several Odoo screens to stay aligned with the newer Bootstrap 5 framework. Users should see no functional change, but it helps keep the interface maintainable and consistent across apps.
Original PR description
*: sign, stock_barcode, web_enterprise, web_studio This PR removes the `btn-block` utility Bootstrap class because it's obsolete since Bootstrap 5. task-4637091 PR-commu: https://github.com/odoo/odoo/pull/227114 PR-design-themes: https://github.com/odoo/design-themes/pull/1149
When a field service subtask is created, it now starts with the same warranty status as its parent task. This helps teams avoid manual updates and keeps service billing or warranty handling more consistent.
Original PR description
The subtask `under_warranty` will have a default value of the parent `under_warranty`. --- task-4830511