Daily updates from Odoo
Thursday, August 14, 2025
16 changes
7 changes
Enhancements to existing features
Draft invoices no longer show outstanding credit or debit messages when the related payment widget is already hidden. This keeps the invoice screen consistent and reduces confusion for users reviewing invoices that are not yet posted.
Original PR description
Before this commit: --- Draft invoices can be reconciled with payments via the Bank Reconciliation screen, but the Outstanding Payments widget is hidden to avoid confusion. However, outstanding credits/debits messages were still displayed on draft invoices, leading to inconsistency. In this commit: --- Updated the form to hide outstanding credits/debits messages when the invoice is in draft, making the behavior consistent. Before: --- <img width="1258" height="298" alt="image" src="https://github.com/user-attachments/assets/376b3799-e721-4bd6-bf9c-cb56ca02bb5f" /> After: --- <img width="1258" height="257" alt="image" src="https://github.com/user-attachments/assets/374e33d5-c406-44c1-9309-40c124b45451" /> task-4987833 Forward-Port-Of: odoo/odoo#221680
Employee profile images now keep the same size while creating and after saving an employee record. This avoids a visual jump between the placeholder avatar and the default saved image, making the HR form feel more polished and consistent.
Original PR description
Problem: the employee image avatar placeholder when creating a new employee is larger than the default image when saving the record. This commit adds a max width for the employee avatar image so that the default image is the same size as the placeholder before saving the record. task-4879346 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The eInvoicing format dropdown now uses clearer, country-aware labels when configuring customer invoicing settings. This makes it easier for users to choose the right format without needing to understand technical names, reducing confusion across several localizations.
Original PR description
Renamed the selection labels for invoice_edi_format field to make them easier to understand based on the user's country context when choosing format inside customer's account tab. This improves the usability of the dropdown when selecting an eInvoicing format, especially for users in localizations where the technical name was unclear or confusing. 4889699 shzi Forward-Port-Of: odoo/odoo#220397
This update makes duplicating Italian electronic invoicing document types more user-friendly. Instead of immediately triggering an error because the copied record has the same code, the form view now helps users adjust the duplicate properly.
Original PR description
In https://github.com/odoo/odoo/commit/3e557745f16c33ab3c1b5984d6297913a8849024, we added a contraint to avoid same code. The "issue" with that is that the Duplicate option instantly raises the constraint. It's not really user-friendly. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#222611 Forward-Port-Of: odoo/odoo#218933
This update adds standardized helper methods for finding employee contract versions and selecting the right contract for a date range. It helps HR-related features use contract data more consistently, reducing duplicate logic and the risk of inconsistent results.
Original PR description
Problem ---------- Normalize the way to retrieve contracts of employees Objective ---------- Create 2 helper functions : `_get_contract_versions` To retrieve for each employee, a list of versions recordset, one for each contract, ordered by date_version. Make the function flexible by adding date_range to filter the search. And additional domain option. `_get_contracts` It uses the previous function. To retrieve for each employee a single version recordset as contracts Add the option to retrive the first before date_start or latest version within the daterange task-4984245
Creating a payroll pay run is now quicker because users choose only the start date with a simple date picker instead of a date range popup. The end date is still calculated automatically and remains editable when manual adjustments are needed.
Original PR description
To ensure a smoother UX, the `daterange` widget has been replaced, as `date_end` is already calculated based on the selected `date_start`. Previous behavior: When creating a pay run and selecting `date_start`, a date range popup was displayed. This required two clicks, even though `date_end` was already auto-filled. New behavior: A simple date picker is used for `date_start`. The `date_end` remains editable so it can still be updated manually if needed. Task: 5005903
Network IoT devices will now have records even when another IoT Box has already detected them. This makes it easier to troubleshoot device ownership and understand which IoT Box is linked to each device.
Original PR description
We used not to create records for network IoT devices if they were already detected by another IoT Box on the database. This is making the debugging more complex, and doesn't make sense anymore as we show the IoT Box owning the device in many2x fields.
4 changes
Enhancements to existing features
Draft invoices no longer show outstanding credit or debit messages when the related payment widget is already hidden. This keeps the invoice screen consistent and reduces confusion for users reviewing draft accounting documents.
Original PR description
Before this commit: --- Draft invoices can be reconciled with payments via the Bank Reconciliation screen, but the Outstanding Payments widget is hidden to avoid confusion. However, outstanding credits/debits messages were still displayed on draft invoices, leading to inconsistency. In this commit: --- Updated the form to hide outstanding credits/debits messages when the invoice is in draft, making the behavior consistent. Before: --- <img width="1258" height="298" alt="image" src="https://github.com/user-attachments/assets/376b3799-e721-4bd6-bf9c-cb56ca02bb5f" /> After: --- <img width="1258" height="257" alt="image" src="https://github.com/user-attachments/assets/374e33d5-c406-44c1-9309-40c124b45451" /> task-4987833 Forward-Port-Of: odoo/odoo#221680
Adds automated test coverage for the HR-related point of sale flows, including cashier login, navigation, payments, cash movement, and order handling. This helps reduce regressions and improves reliability for businesses using employee-based POS operations.
Original PR description
This commit introduces HOOT test coverage for the pos_hr module: - Added tests for primary model :patched pos.order - Added tests for patched pos_store.js. - Added component tests for Navbar, CashPopup, PaymentScreen, LoginScreen task-4945630
This update improves the Italian electronic invoicing setup by preventing an immediate error when users duplicate a document type. It makes the duplicate action more user-friendly while still helping avoid duplicate document codes.
Original PR description
In https://github.com/odoo/odoo/commit/3e557745f16c33ab3c1b5984d6297913a8849024, we added a contraint to avoid same code. The "issue" with that is that the Duplicate option instantly raises the constraint. It's not really user-friendly. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#222611 Forward-Port-Of: odoo/odoo#218933
The follow-up process now checks related accounting entries in a clearer and more precise way. This reduces the risk of internal query confusion and helps keep partner follow-up information reliable without changing the user experience.
Original PR description
Refactored the SQL construction for checking the existence of related account.move records for res.partner entries. The account.move query is now built separately and referenced explicitly, making the code more readable and reducing the chance of ambiguity in field resolution. Using `SQL.identifier(query.table, "id")` ensures that the correct table is referenced in each condition, which is particularly important when dealing with multiple joins or subqueries. Forward-Port-Of: odoo/enterprise#90304 Forward-Port-Of: odoo/enterprise#83770
5 changes
Enhancements to existing features
The Belgian salary package setup now keeps specialized tax-related fields hidden by default, making job position forms cleaner for everyday users. Job position lists are also easier to use because users can click directly into the related form view.
Original PR description
made intellectual property and withholding taxes exemption field hidden by default. made job position list clickable to directly access form view. task-4936345
Appraisal statuses now use the same colors across the progress bar, ribbon, and list view. This makes it easier for users to recognize whether an appraisal is to confirm, confirmed, or done at a glance.
Original PR description
Make colors consistent across appraisal's progress bar, ribbon, list view. Let the colors None/Green/Violet for To Confirm/Confirmed/Done. task-4730368
The referral app now uses updated wording when employees share a job link on Twitter/X. This keeps the shared message aligned with the platform's current branding and improves the candidate-facing sharing experience.
Original PR description
update message when sharing job link in twitter/x. task-4678199
This update organizes web client translations under clearer namespaces across several Odoo Enterprise areas. It helps keep wording consistent and easier to maintain for multilingual users, with no expected change to everyday workflows.
Original PR description
Community: https://github.com/odoo/odoo/pull/220596
The employee form now presents personal documentation details more clearly by combining visa and work permit information, improving labels and tooltips, and adding passport expiration tracking. This helps HR teams review key employee document dates more easily and reduces confusion in the personal information section.
Original PR description
In this PR, we introduced minor enhancements to the personal section in the employee form view, mainly merging Visa & Work permit sections, inhancing the expires on label for visa and work permit, update and adding new tooltip, and adding a new field for the passport expiration date. Community PR: https://github.com/odoo/odoo/pull/216883 Related task: 4911224.