Daily updates from Odoo
Friday, August 22, 2025
12 changes
2 changes
Enhancements to existing features
Automatic reconciliation rules now avoid overly long shared names when duplicate names are detected. Instead, the system keeps names usable by adding a number in parentheses, making bank reconciliation rules easier to identify and manage.
Original PR description
In this commit: https://github.com/odoo/enterprise/commit/e9ab2ae2876970c66c41fa56de70511af24471c1 we change the way the name of automatic reco model are made. But the solution we choose are a bit naive. If the common substring is huge then the reco model is unusable. Since we are stuck with the constraint, the solution we choose is to add a number in parentheses to avoid duplicate. task-5031337 Forward-Port-Of: odoo/enterprise#92888
This update improves how discounts and negative lines are distributed on Mexican electronic invoices and related POS invoices. It helps produce more accurate compliant invoice totals, especially for refunds or complex discount scenarios.
Original PR description
Forward-Port-Of: odoo/enterprise#92727
8 changes
Enhancements to existing features
VoIP call recording is now handled by the core VoIP app instead of the AI transcription add-on, making recording available even when AI features are not installed. The update also standardizes the AI VoIP module name, cleans up the implementation, reuses existing upload handling, and adds protections against transcript tampering.
Original PR description
Clean up the VoIP transcription code. Among other things, this PR: - Moves the recording logic to VoIP (part of task 4417073) - Renames "ai_voip" to "voip_ai" - Lints the code - Reuses the file upload service - Adds safeguards against tampering with the transcript
Spreadsheet dashboards now use the right translation context for each module, helping labels and dashboard content appear correctly in the user's language. This improves multilingual dashboard reliability while keeping the change mostly behind the scenes.
Planning Analysis graph and pivot reports are now interactive, letting users click chart bars or pivot cells to open the related planning shifts list. This makes it faster for planners to move from high-level analysis to the underlying schedule details they need to review or adjust.
Original PR description
This commit enhances interactivity in the Planning Analysis report by enabling users to click on graph bars or pivot cells and be redirected to the respected planning.slot list view. The report itself is based on the planning.analysis.report model, but the goal is to redirect to the planning.slot list view on click. Simply removing the disable_linking from the xml view was insufficient for this behavior. To address this, we extended the renderer to override the openView method and explicitly set the resModel to planning.slot when a click action is triggered. task-4798544
Recruitment teams can now define expected skills for job positions, compare applicants and employees against those requirements, and browse better-matching roles from applicant records. The update also improves skill entry dialogs, recruitment views, matching reports, and follow-up activities for missing skills, helping teams make more consistent hiring and workforce planning decisions.
Original PR description
This PR introduces new and improved behaviours for managing skills on models related to the recruitment application. These changes include: - The ability to add expected skills to a job position. - A new widget for managing the expected skills on a job position - Improved dialog for creating skills both on an applicant and job position. - Improved form view for job positions - Improved form view for applicants - Added a new field, score, on education degrees for better job position match calculation - A new field to see how well an applicant matches a job position. - The ability to browse matching positions from an applicant. - A new cron to create activities for employees that are missing skills that are expected on a job position. - A new report that allows you to explore how well employees match a job position in respect to their skills. - Other small details like improved demo data, improved views, etc. task-4680302
This update stores the specific translation method for fields instead of only whether translation is enabled. This helps Odoo preserve clearer translation behavior across upgrades and customizations, reducing ambiguity for multilingual business data.
Original PR description
https://github.com/odoo/odoo/pull/219406 https://github.com/odoo/upgrade/pull/8085 https://github.com/odoo/upgrade-util/pull/296
The CRM pipeline dashboard has been refreshed to align with recent improvements to carousel titles. This provides a more consistent and polished dashboard experience for users reviewing sales pipeline information.
Original PR description
This commit updates the pipeline dashboard following the improvements on the carousel title. Task: 5030334
The VoIP call screen has been visually refined so call statuses look more consistent across regular and AI-assisted calls. This improves clarity for users during calls and creates a more polished, unified experience.
Original PR description
This commit refines the design of the call statuses to ensure consistency across them. task-5026907 Requires: - https://github.com/odoo/odoo/pull/223557 | Before | After | |--------|--------| | <img width="403" height="656" alt="Capture d’écran 2025-08-21 à 09 01 23" src="https://github.com/user-attachments/assets/fec26d4a-f373-4635-a57e-9fd5786350d4" /> | <img width="406" height="660" alt="Capture d’écran 2025-08-21 à 09 00 19" src="https://github.com/user-attachments/assets/dd4cb653-1650-4386-90d5-1e71b182816c" /> |
External planning users can now see open shifts directly in the calendar instead of in a separate list. Open shifts use a distinct background color, making it easier to spot unassigned work and compare it with employee shifts at a glance.
Original PR description
This commit's purpose is to have a better visual of the open shifts in the planning app for external user. Instead of having the list with values, the open shifts are now displayed in the calendar view with a specific background color to be able to differentiate them from employee shifts at one glance.
2 changes
Enhancements to existing features
This update strengthens electronic invoice validation for Australia, New Zealand, Malaysia, and Singapore so invoices are less likely to be rejected for missing tax or address details. It adds safer fallback values when tax IDs are absent and checks required seller and buyer address information for Singapore tax categories.
Original PR description
Description of the issue/feature this PR addresses: - AU&NZ: Current behavior is that when VAT is not set on the partner, the tax category code defaults to zero. This becomes problematic with certain…
Description of the issue/feature this PR addresses: - AU&NZ: Current behavior is that when VAT is not set on the partner, the tax category code defaults to zero. This becomes problematic with certain rules (e.g. the tax totals of tax category code 'O' should have amount of zero, but current code can set this value to something other than zero). The change focuses on edge cases when VAT of partner is not set. Changes are not related to the Q2 2025 release changes. - MY: Added fallback for <cac:PartyTaxScheme> to always have <cbc:CompanyID>. Currently breaks if the partner does not have VAT set. Changes are not related to the Q2 2025 release changes. - JP: No changes are made. - SG: Invoice with taxes of certain tax category codes must have seller and buyer street address and post code. Added constraint to make sure they are set. New PINT SG rule adds one more tax category code (Standard Rate, SRRC). New code is added to `ubl_cii_tax_category_code` --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Guatemalan EDI module now avoids heavy invoice data calculations during installation, reducing the risk of memory errors on large databases. It also no longer installs automatically with the base Guatemalan localization, giving businesses more control over enabling it.
Original PR description
This commit adds `_auto_init` to the `account.move` object in the Guatemalan EDI that prefills all computed stored fields in the move object with null values. This prevents computation on those fields when installing the module, and also prevents MemoryError on large databases. task-5031330