Daily updates from Odoo
Thursday, July 24, 2025
17 changes
9 changes
Enhancements to existing features
The IoT homepage now shows how long the Odoo service has been running, and on supported systems it also shows the operating system uptime. This makes it easier for support teams and users to assess device stability without needing remote command-line access.
Original PR description
Before this commit, the only way to check how long the IoT box had been running was to SSH into it and run a command. After this commit, the uptime of both the Odoo service and the OS is available in the homepage. On Windows only the Odoo service time is shown. task-4954737 <img width="651" height="600" alt="image" src="https://github.com/user-attachments/assets/f3144545-0696-4dd9-937b-0e82e196def3" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update helps Turkish e-invoices meet GİB requirements by using the customer reference field as the registered tax office name in Nilvera submissions. Users are warned, and then blocked where required, if an e-invoice customer is missing this information before sending an invoice.
Original PR description
### Description of the issue/feature this PR addresses This PR adds a validation to ensure that E-Invoice partners in Turkey have the `reference` field filled with their registered tax office name,…
### Description of the issue/feature this PR addresses This PR adds a validation to ensure that E-Invoice partners in Turkey have the `reference` field filled with their registered tax office name, as required by GİB regulations. ### Current behavior before PR Partners marked as E-Invoice customers can be used in invoicing without a value in the `reference` field, which may lead to non-compliant UBL documents. ### Desired behavior after PR is merged Once the reference field is filled, it is sent via the UBL, as it is passed to tax_scheme_vals. The account move send wizard issues a critical warning for partners that should have the tax office name in the reference field. If this warning is ignored and the customer on the invoice has a TR e-invoicing status of Nilvera, a validation error is raised, prompting the user to complete the required reference field on the customer. Task-4886128 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217582 Forward-Port-Of: odoo/odoo#215772
Employee record access has been clarified so regular users see public employee information, HR officers can view employee records without payroll details, and HR administrators keep access to payroll and configuration options. This helps ensure sensitive payroll information is only available to the appropriate HR administrators.
Original PR description
Employee : No right : You see employee public Officer : You see hr.employee for everyone but no payroll tab Admin : You see hr.employee for everyone + payroll tab + configuration menu Task: 4900703 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Peppol document retrieval now handles large invoice volumes in smaller batches to avoid scheduled jobs timing out. This improves reliability for businesses with high transaction volumes by ensuring document processing can continue automatically when more work remains.
Original PR description
For database with big invoice volume, it is necessary to be able to retrieve documents in smaller batches otherwise crons will timeout due to the 15 minutes limit. Add a retrigger mechanic to the possibly heavy crons. opw-4925532 Forward-Port-Of: odoo/odoo#220001 Forward-Port-Of: odoo/odoo#218383
This update improves how the color picker and related popovers behave in the Odoo editor. It should make choosing and applying colors more reliable for users building or customizing pages.
This update makes the IoT Box image easier to troubleshoot and recover by improving access to system logs and restoring default Raspberry Pi sudo behavior. It also fixes startup update commands and increases default logging detail so issues are easier to diagnose.
Original PR description
This commit contains the following small changes: - No longer require a sudo password for pi user (reverting to default Raspberry Pi OS behaviour). This is because if Odoo couldn't start there was no way to fix it if you didn't have the current password. - Expose /var/log/ folder instead of just /var/log/odoo via nginx. This is useful because then we can see e.g. the nginx access logs. - Fix rc.local git checkout on reboot. This wasn't working because the commands were not being run as the odoo user. - Use INFO log level by default instead of WARNING. task-4954737 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#220164
The Oman localization now separates supplier invoice base amounts from customs VAT for import taxes. This helps businesses record import VAT more accurately and align tax reporting with Oman VAT treatment.
Original PR description
To align with Omanian VAT treatment of imports, split the 5% EX tax into two: - "5% EX ONLY B" captures supplier invoice base (0% tax, affects base only). - New "5% EX ONLY" captures customs VAT (100% tax incl., with VAT Input account). Also removed VAT Input account & tax grids "+6b_T" from "5% EX ONLY B". task-id: 4909498 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217193
Payroll access rules were adjusted so employees without payroll rights no longer see the Payroll app, payroll officers can access employee payroll information, and payroll administrators can manage payroll configuration. This clarifies responsibilities and helps ensure sensitive payroll areas are shown only to the appropriate roles.
Original PR description
Payroll No right : You don't see payroll app Officer : Employee officer + payroll tab Admin : Employee admin + payroll app config. Task: 4900703
Website administrators can now open the website generator directly from the website settings. This makes importing or generating a website available as a standard settings action, instead of only during onboarding.
Original PR description
Added a button in the website settings that redirects to the website generator configurator. The goal is to have a standard way to import a website without necessarily it being part of the onboarding flow. closes odoo/enterprise#88334
5 changes
Enhancements to existing features
This update replaces the old internal Persona model with standard partner and guest records across messaging-related features. It helps align AI, VoIP, WhatsApp, and live chat behavior with the main Odoo contact model, reducing duplication and improving consistency for future maintenance.
Original PR description
This PR removes the model Persona and replaces it with res.partner and mail.guest models. Task-4675821 PR community: https://github.com/odoo/odoo/pull/212683
Opening a certified Belgian PoS no longer stops users with an error when required company details are missing. Instead, the company settings open directly in a modal so users can add the address and VAT number without leaving the PoS flow.
Original PR description
Instead of displaying an error when opening a certified PoS on a company missing its addresss and VAT number, we now display the company settings in a modal to allow updating without going back to the settings.
The Point of Sale integration has been adjusted to stay compatible with recent product-related changes in Odoo. This helps ensure product attribute information continues to work correctly for businesses using the UrbanPiper POS enhancements.
Original PR description
task-4731792
Point of Sale and self-ordering flows using IoT devices no longer need an extra database check when listening for device updates. This helps shops continue operating more reliably when connectivity is limited or offline.
Original PR description
As it prevents the pos from working offline, we removed the call to the db to get a payload signature. Community PR: odoo/odoo#219865 Forward-Port-Of: odoo/enterprise#90688 Forward-Port-Of: odoo/enterprise#90624
The bank synchronization dashboard now uses a more efficient service to retrieve connected financial institutions. This should make the dashboard more responsive and improve the reliability of bank connection information without changing user workflows.
Original PR description
https://github.com/odoo/odoofin/pull/419 introduces a new more efficient endpoint to get dashboard institutions. This commit updates the `account_online_synchronization` module to use this new endpoint. Task ID: 4801302
3 changes
Enhancements to existing features
This update adds tax mapping between Switzerland and EU countries for the EU One Stop Shop module. It helps Swiss businesses selling goods directly to EU consumers configure OSS reporting more easily and reduce manual setup.
Original PR description
Make it easy for any Swiss company that wants to operate B2C sales of goods to customers located in the EU to take advantage of the EU One Stop Shop (OSS) Module, aka l10n_eu_oss_reports. We will ease the discoverability and the configuration Adding the Tax Mapping between Switzerland and the rest of the EU countries task-4943589 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#220084 Forward-Port-Of: odoo/odoo#219380
This update improves everyday reliability across Odoo by fixing access handling, notification data consistency, and point of sale troubleshooting. It also enhances the web editor with easier content movement and selection, and adds more flexible date filters for business records.
Online orders from UrbanPiper, Zomato, and Swiggy now calculate and display taxes more accurately based on location and fiscal settings. This helps merchants apply the right tax responsibilities, including special GST handling for India, reducing manual corrections and accounting discrepancies.
Original PR description
**: pos_urban_piper_zomato, pos_urban_piper_swiggy After this commit: --- - For orders outside India, price are received from UrbanPiper as tax-inclusive. Odoo now properly computes the unit price and applies taxes based on the fiscal position. - For India, special handling is implemented: - 5% GST is collected and paid by the aggregator, so only this tax is added via fiscal position mapping. - For other tax rates like 12% or 18%, the merchant is responsible, so these must be configured explicitly in the fiscal position. Note: --- - If a user does **not** want to receive a particular tax in the order, they must manually add a line for it in the fiscal position. Task: 4862417