Daily updates from Odoo
Thursday, October 2, 2025
28 changes
1 change
Enhancements to existing features
Approved leave requests that use a work leave type will no longer automatically generate timesheet entries. This prevents inaccurate time tracking and keeps project timesheets aligned with actual recorded work.
Original PR description
When a leave using a work leave type is approved, now it should not create a timesheet. task-5097482 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229632 Forward-Port-Of: odoo/odoo#229300
4 changes
Enhancements to existing features
This update improves how Point of Sale orders handle taxes, fiscal positions, product configuration, receipts, and customer display information. It helps make checkout totals and order details more consistent across related POS flows such as restaurant bills, events, loyalty, sales, and self-ordering.
Original PR description
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
This update improves Point of Sale behavior across several localization and payment areas, including certified scale display, Italian fiscal documents, Belgian blackbox flows, and settling due amounts. These changes help stores meet local compliance requirements and provide smoother checkout/payment handling.
Approved leave that uses a work leave type will no longer automatically create a timesheet entry. This keeps timesheet records cleaner and avoids extra entries for time off that should not be tracked as worked time.
Original PR description
When a leave using a work leave type is approved, now it should not create a timesheet. task-5097482 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229568 Forward-Port-Of: odoo/odoo#229300
The country state search field no longer shows extra spacing that made it look different from similar selection fields. This creates a more consistent and polished form experience for users.
Original PR description
There is a 2% margin added when searching for country states Remove this margin to have the field look like the majority of `many2one` fields task-5123126 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
8 changes
Enhancements to existing features
This change updates several customer-facing document and email templates across appointment scheduling, electronic invoicing, stock delivery guides, and signatures. It likely improves consistency or corrects wording/layout in these documents, with limited business impact beyond clearer communications and compliant-looking outputs.
Validated work entries in the Gantt and calendar popovers now include a direct link to the related payslip. This makes it easier for payroll users to trace which payslip locked an entry and review it without extra navigation.
Original PR description
Before: - From the work entry gantt and calendar view, there was no way to directly access or identify the related payslip. - This made it difficult for users to trace or review the payslip that locked the work entry. After: - Added a "View Payslip" button in the work entry gantt and calendar popover for validated entries. - Allows users to quickly navigate to the associated payslip directly from the work entry screen. Task-5035337
Payslips with negative net amounts now surface this concern in the standard payslip issues area instead of as a separate warning. This makes payroll checks more consistent and easier for payroll teams to review before reporting or processing.
Original PR description
This moves the previous warning "negative net amount to report" to the new issues system on payslips. Task: 5068686
This update reorganizes how chat channel membership information is stored and accessed in Discuss-related features. It supports cleaner internal data handling for messaging integrations like AI and WhatsApp, helping future improvements be easier to maintain without changing the user experience.
Original PR description
Part of task-4675831 PR community: https://github.com/odoo/odoo/pull/229208
The automatic currency rates provider has been changed to xe.com. This improves how exchange rates are retrieved for accounting-related workflows, helping businesses keep currency conversions up to date.
Original PR description
Changed the Automatic Currency Rates service to xe.com task-id: 4745275 Forward-Port-Of: odoo/enterprise#90006
This update replaces an outdated template instruction across many Odoo Enterprise apps with the current supported equivalent. The change helps keep reports, emails, and portal pages maintainable and compatible without altering day-to-day business workflows.
The AI module can now process tabular attachments such as CSV files more effectively by reading rows with their column headers. This helps uploaded data sources be split into useful sections, improving how AI agents understand and use spreadsheet-like business information.
Original PR description
This PR aims to properly support and chunk tabular attachments including csv, xls, xlsx, and ods attachments. task-id-5045336
Appointment pages now show more helpful empty-state screens with consistent visuals, explanatory text, and clear action buttons for website editors. This makes it easier for editors to understand what is missing and quickly create the needed appointment content, while visitors do not see editor-only actions.
Original PR description
Previously, empty state screens featured only a title, e.g., "Product not defined", accompanied by an alert prompting users to select the "+New" button in the top-right Odoo navbar. Users would then either fill out a form or get redirected to the backend page to perform the desired action. With this commit, we make all those empty screens more consistent and bring a new structure, being; - New (milky) Iconography (provided by EDI) which adapts its colors based on the user's website theme color palette. - Title - call-out/subtitle (if included) - Button/call-to-action for editors (like «add», «create» , «write»..) This button always appears in Odoo's primary color, irrespective of the user's theme palette, ensuring it remains distinctive and easily recognizable for website editors. This button remains always hidden for website visitors. This commit handles the appointment empty states screens only. Related: odoo/odoo#136248 task-3378285
11 changes
Enhancements to existing features
The IoT Box device information now includes its MAC address and shows it on the IoT Box homepage. This makes it easier during installations to identify each box and assign stable IP addresses reliably.
Original PR description
This PR adds the MAC address to the device info returned by the IoT Box. It is displayed on the IoT Box Homepage. This helps to fix ip addresses of the IoT Boxes during the installations. Forward-Port-Of: odoo/odoo#228042
Turkish Nilvera e-invoice and e-dispatch documents now combine both address lines into the street name sent to Nilvera. This better matches Nilvera's expected format and removes the need for users to leave the second address line empty.
Original PR description
…reet2 in UBL We are concatenating the values of `street` and `street2` fields on `res.partner` because nilvera expects only <cbc:StreetName> for the fully qualified street name. The previously enforced validation that forced `street2` to be left empty is also removed to match the change. task-5002986 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Approved leave linked to a work leave type will no longer automatically generate timesheet entries. This helps keep timesheet records accurate by avoiding entries for leave types that should not count as logged work time.
Original PR description
When a leave using a work leave type is approved, now it should not create a timesheet. task-5097482 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229632 Forward-Port-Of: odoo/odoo#229300
Spanish localization now applies the automatic non-EU fiscal position to standard sales of both goods and services, instead of treating services as a special bundled case. This helps businesses produce more accurate tax treatment and electronic reporting for common cross-border sales scenarios.
Original PR description
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
Report exports now retrieve annotations in the right date order directly, making export handling simpler and more reliable. Audit balance views also now show the latest message only when it falls within the audit period, preventing out-of-period notes from appearing in the wrong audit context.
Original PR description
Previously when exporting a report, we would sort the annotation based on their create_date or to get the last annotation we would need to use max to find the latest one. Now, when exporting the report we order them directly so we dont need to bother with it. It's not needed to sort them when simply viewing the report as they are displayed in the chatter already in the right order Also fix a bug where the last_message displayed on the balance view of the audits isn't filtered on the period of the audit. To replicate: - Create an Audit for any year. - Post an annotation on an account on a period outside of the period of the audit. - Go to the balance view and check the account, it now has the new message even though it's outside the audit period.
Product category pages generated by the website sales tool can now include a cover image when one is available. This helps create richer, more visually appealing storefront pages with minimal manual work.
Original PR description
Also add the cover_image for the product category if available
Updates the Uruguay electronic invoicing flow to provide clearer notifications during EDI sending. This helps users better understand document status and required actions, reducing confusion in daily invoicing operations.
Original PR description
see https://github.com/odoo/odoo/pull/224267
Receipt printer status pages now include a QR code that takes users directly to the IoT box homepage when scanned. The status receipt and status page also show the device MAC address, making it easier to identify and manage the correct IoT box.
Original PR description
This PR adds a qr code to the status print receipt on receipt printers. This allows to scan the qr code to easily reach the iot box homepage. It also adds the mac address to the status receipt and the status page. <img width="474" height="744" alt="image" src="https://github.com/user-attachments/assets/9bcd7adb-0342-42fa-854b-66e0ee5206a2" />
Invoice sending now supports retrying when certain electronic invoicing errors occur, reducing failed submissions that may succeed later. Notification handling was also moved into the invoice sending flow, making the process more consistent across accounting and local e-invoicing modules.
Original PR description
In this commit, we implement the retrying in of moves in case of a particular error by implementing, a key in sending_data i.e. `error_but_retry` As an additional improvement, we move the send notification part to from `account.move` to `account.move.send` as it should be `_generate_and_send_invoices` not outside of it Enterprise- https://github.com/odoo/enterprise/pull/95366 task-5040124 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mail composer now shows formatted suggestions directly while users write, instead of only after a message is sent. Suggestions are more useful because they can include people, channels, roles, and special mentions, helping users compose clearer messages faster.
Original PR description
This commit improves the use suggestion feature in the HTML composer by adding support for partners, channels, roles and special mentions. Also, this commit allows rendering the suggestions in the HTML composer instead of doing it after sending the message. This way, the user can immediately see the formatted suggestions in the composer. task-5022239 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Discuss calls now include quick menus for voice and video settings, making it easier for users to change devices, use push-to-talk, deafen, or blur backgrounds without opening full settings. The update also streamlines call controls and fixes several picture-in-picture and display issues for a smoother calling experience.
Original PR description
This commit tweak discuss call actions as follow: - add new buttons "Voice Settings" and "Video Settings" next to respectively "Mute" and "Camera" actions. These buttons show dropup menu with quick…
This commit tweak discuss call actions as follow: - add new buttons "Voice Settings" and "Video Settings" next to respectively "Mute" and "Camera" actions. These buttons show dropup menu with quick features related to voice and video respectively. - Quick voice settings menu can change audio devices, toggle deafen, toggle push-to-talk mode, and access full voice settings - Quick video settings menu can change video device, toggle blur background, and access full video settings To keep amount of items short in call action list: - deafen button has been removed: toggle is in quick voice settings menu, and hotkey Shift+d still works like before - blur background button has been removed: toggle is in quick video settings menu. Also makes these small fixes: - call action list in PiP banner also uses simulated dark theme color in white theme - welcome page and discuss public page shows simulated dark theme color, ignoring cookie as only white theme is supported - enabling PiP while the call was in full screen quits fullscreen (PiP replaces fullscreen as intended) - no crash channel.videoCount on disconnect from PiP Part of Task-4967129 ### Before <img width="229" height="52" alt="before-1" src="https://github.com/user-attachments/assets/bcb6e80d-de40-41b4-80d9-f1e27986ca07" /> in call <img width="124" height="63" alt="before-2" src="https://github.com/user-attachments/assets/fe3a5e67-24ec-4ff5-8a04-730361a6460a" /> in welcome page ### After <img width="432" height="199" alt="after-1" src="https://github.com/user-attachments/assets/dcc1679e-a0ec-4ad8-82cb-03ba2c0a84d9" /> in call <img width="330" height="209" alt="after-2" src="https://github.com/user-attachments/assets/66266e83-faaa-41d9-b8ec-24011106a357" /> in welcome page
2 changes
Enhancements to existing features
This update improves part of Odoo's core file handling in the Base module. It should make the underlying system behavior more reliable without changing day-to-day workflows for most users.
Original PR description
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
Point of Sale now lets staff mark a terminal payment as completed when Odoo is still waiting for the card terminal response. This gives cashiers a safe fallback when the payment succeeded on the terminal but the system did not update, helping avoid blocked checkouts and unnecessary retries.
Original PR description
Current behavior before PR: If we faced an issue with a terminal payment while the `line.payment_status` being "waitingCard", only possible option for the user would be to "Cancel" the payment and try again or choose another payment method. This is an issue for the cases where the payment went through on the terminal but Odoo didn't update the status for some reason. Desired behavior after PR is merged: We add the possibility to "Force done" while the status is "waitingCard" to avoid blocking the user in such situations and have a possible fallback. opw-4978772 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#228406
2 changes
Enhancements to existing features
Brazilian service products now show the correct LC116 Code label instead of the Mercosul NCM Code label. This reduces confusion when configuring fiscal information because goods and services use different naming conventions for their tax classification codes.
Original PR description
Purpose:- - In Brazil, NCM is a code that has an acronym to specify the Mercosul Common Name for products, and for services, the right name is LC116 (Complementary Law 116), which specifies the federal code for a service. - But we have the same field `l10n_br_ncm_code_id` to configure both NCM for goods and LC116 for services and the same table can be used for both the cases. - So while configuring fiscal information for a service, user don't understand why it still shows the NCM label instead of LC116. Before this commit:- - Label `Mercosul NCM Code` was displayed for services confusing users. After this commit:- - Label `Mercosul NCM Code` is replaced with `LC116 Code` only for services. - Tooltip is also improved for better understanding. task-5096435
This update lets checkbox-based multi-select fields use the same custom search settings as other parts of the system. It improves consistency and supports business cases where records must be filtered or handled differently based on context, such as attachments.
Original PR description
**Description of the issue/feature this PR addresses:** When `name_search` is called, the `context` is not passed to the method. In some cases, this is necessary, for example, if the field is related to `ir.attachment` and you want to pass `skip_res_field_check` in the context (see https://github.com/OCA/social/pull/1672). **Current behavior before PR:** The `context` is not passed to `name_search`. **Desired behavior after PR is merged:** Ability to pass context to name_search. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr TT56840 @Tecnativa @pedrobaeza