Daily updates from Odoo
Wednesday, March 4, 2026
36 changes
4 changes
Enhancements to existing features
This update enhances how Odoo identifies partners in Saudi Arabia. Previously, partner type was solely determined by VAT. Now, it also considers the Identification Scheme and Identification Number, leading to more accurate distinctions between companies and individuals, especially when VAT information is unavailable.
Original PR description
Before this commit: - Partner identification relied only on the VAT field. After this commit: - Partner identification in Saudi Arabia also considers Identification Scheme and Identification Number. - This improves detection of companies vs individuals when VAT is missing. task-5866942 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246728
This update incorporates changes required by the Uruguayan tax authority (DGI) regarding Electronic Fiscal Document (CFE) reporting. Specifically, a new selection option is added for export transactions, and the transmission of key invoice details (date, amount, currency, exchange rate) from existing account moves is now mandatory to ensure legal compliance.
Original PR description
Purpose: The DGI introduced changes in CFE version 25. The following changes below needs to be implemented for legal compliance.
Required Changes:
- Introduce a new selection value,("91", "Export under Mandate")for field, l10n_uy_edi_cfe_sale_mode. This option is required when documenting export operation performed as a mandating entity, where the definitive export will be carried out by a third party.
- The reference document(credit note or debit note) of an existing account move will need to send:
- Amount (MntCFEref)
- Currency (TpoMonedaRef)
- Exchange Rate (TpoCambioRef) if the currency is not Uruguayan Pesos
task-5419331
task-5419331
Forward-Port-Of: odoo/enterprise#108430
Forward-Port-Of: odoo/enterprise#103881This update allows accountants to group invoice lines by tax, simplifying their workflow and reducing clutter in journal entries. The system intelligently manages PDF generation, preventing duplicate files when grouping and ungrouping tax lines. This improves efficiency and data clarity for financial reporting.
Original PR description
[IMP] account_edi_ubl_cii: (un)group lines by tax
Once an invoice is imported, a server action allows the user to group
lines by tax, and then if the same action is triggered again it will
ungroup all lines from the origin file
This feature is useful because accountants don't always need the
detail of the vendor bills, and also all the lines clutter up the
journal items
task-5047859
Forward-Port-Of: odoo/odoo#251520
Forward-Port-Of: odoo/odoo#245234This update simplifies the process for Italian businesses filing withholding tax returns. The default periodicity has been changed to monthly, addressing a previous difficulty in configuring this setting. This ensures compliance with Italian regulations and improves the user experience.
Original PR description
In Italy, withholding tax return periodicity is monthly. but it's hard to discover/configure. Default periodicity should be monthly. task-5985704 Forward-Port-Of: odoo/enterprise#109420 Forward-Port-Of: odoo/enterprise#109185
6 changes
Enhancements to existing features
This update ensures Odoo Enterprise complies with recent changes mandated by the Uruguayan tax authority (DGI) regarding Electronic Fiscal Documents (CFE). Specifically, a new selection option is added for export documentation and required data fields are updated to match the latest CFE version 25 requirements, maintaining legal compliance.
Original PR description
Purpose: The DGI introduced changes in CFE version 25. The following changes below needs to be implemented for legal compliance.
Required Changes:
- Introduce a new selection value,("91", "Export under Mandate")for field, l10n_uy_edi_cfe_sale_mode. This option is required when documenting export operation performed as a mandating entity, where the definitive export will be carried out by a third party.
- The reference document(credit note or debit note) of an existing account move will need to send:
- Amount (MntCFEref)
- Currency (TpoMonedaRef)
- Exchange Rate (TpoCambioRef) if the currency is not Uruguayan Pesos
task-5419331
task-5419331
Forward-Port-Of: odoo/enterprise#108430
Forward-Port-Of: odoo/enterprise#103881This update allows accountants to group invoice lines by tax, reducing clutter in journal entries and simplifying invoice review. The system automatically ungroups the lines when needed, streamlining the process and improving data clarity. This improves efficiency for accountants working with vendor bills.
Original PR description
[IMP] account_edi_ubl_cii: (un)group lines by tax
Once an invoice is imported, a server action allows the user to group
lines by tax, and then if the same action is triggered again it will
ungroup all lines from the origin file
This feature is useful because accountants don't always need the
detail of the vendor bills, and also all the lines clutter up the
journal items
task-5047859
Forward-Port-Of: odoo/odoo#251520
Forward-Port-Of: odoo/odoo#245234This update enhances the poll experience by displaying the poll's end time when you hover over the 'Remaining Time' text. This allows users to set reminders and proactively manage participation, ensuring timely responses and maximizing poll engagement. It's a small improvement that increases the effectiveness of polls.
Original PR description
This commit adds showing of datetime when the poll will end when mouse-hovering on the Remaining time text of the poll. This is useful to put a reminder for later just before the poll ends, let's say to see if involvement is fine or we need to push pressure for people to vote. <img width="555" height="255" alt="Screenshot 2026-03-04 at 12 55 44" src="https://github.com/user-attachments/assets/19ef91a1-ea52-475a-86e1-acc16e18fe98" />
This update enables Point of Sale systems to communicate with devices running on your local computer (localhost). This allows for easier testing and development of POS integrations, particularly with devices like printers, without needing a live connection to a remote system. The change was driven by an internal task to improve development workflows.
Original PR description
This commit allows communication with devices running on localhost (127.0.0.1) through LNA task.5936854 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250972
This update simplifies the process for Italian businesses filing withholding tax returns. The default periodicity has been changed to monthly, addressing a previous difficulty in configuring this setting. This ensures compliance with Italian regulations and improves the user experience.
Original PR description
In Italy, withholding tax return periodicity is monthly. but it's hard to discover/configure. Default periodicity should be monthly. task-5985704 Forward-Port-Of: odoo/enterprise#109420 Forward-Port-Of: odoo/enterprise#109185
This update modernizes invoice formats for our French and German customers, aligning with new regulatory standards for Factur-X and ZUGFeRD. It also adapts invoice generation for B2B and B2G transactions, ensuring compliance with German regulations and PDF/A-3 standards for international invoices. This improves clarity and accuracy for our customers.
Original PR description
Updating the FacturX format (France)/ ZUGFeRD format (Germany) to respect the new norms: Factur-X 1.07.3 EXTENDED and ZUGFeRD 2.3.3 EXTENDED. Add the differentiation between these two formats in the customer interface, even if they point to the same value in the code. It clarifies things for the customer, things are called by their name. Also, in Germany, for B2B invoices (peppol EAS = 9930), use ZUGFeRD, but for B2G invoices (peppol EAS = 0204), use XRechnung. Adaptation of the default values in the partner form according to this statement. For French and German companies that are sending invoices to French, German or Belgian customers, changed the default format of invoice sent to be compliant to PDF/A-3 norms. task-5266286 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#251594 Forward-Port-Of: odoo/odoo#237091
4 changes
Enhancements to existing features
This update simplifies the process for Italian businesses filing withholding tax returns. The system now defaults to a monthly reporting period, aligning with Italian regulations and addressing previous difficulty in configuring this setting. This change improves compliance and reduces administrative burden.
Original PR description
In Italy, withholding tax return periodicity is monthly. but it's hard to discover/configure. Default periodicity should be monthly. task-5985704 Forward-Port-Of: odoo/enterprise#109185
This update ensures Odoo complies with recent changes mandated by the Uruguayan tax authority (DGI) regarding Electronic Sales Records (CFE). Specifically, it adds a new option for documenting exports handled by third parties and updates how reference invoices are transmitted to the DGI, improving legal compliance.
Original PR description
Purpose: The DGI introduced changes in CFE version 25. The following changes below needs to be implemented for legal compliance.
Required Changes:
- Introduce a new selection value,("91", "Export under Mandate")for field, l10n_uy_edi_cfe_sale_mode. This option is required when documenting export operation performed as a mandating entity, where the definitive export will be carried out by a third party.
- The reference document(credit note or debit note) of an existing account move will need to send:
- Amount (MntCFEref)
- Currency (TpoMonedaRef)
- Exchange Rate (TpoCambioRef) if the currency is not Uruguayan Pesos
task-5419331
task-5419331
Forward-Port-Of: odoo/enterprise#108430
Forward-Port-Of: odoo/enterprise#103881This update adjusts the Romanian tax reporting (l10n_ro_saft) to align with recent changes in the core Enterprise version (CE). The update removes outdated tax codes and adds new ones, ensuring accurate reporting for Romanian businesses. This improves compliance and data accuracy.
Original PR description
Some taxes were no longer needed in CE, so they needed to be removed task-5411745 Forward-Port-Of: odoo/enterprise#108884 Forward-Port-Of: odoo/enterprise#106127
This update streamlines the process of setting up tests for several core Odoo modules, specifically within the accounting and timesheet areas. By centralizing test setup, the team can ensure more consistent and reliable test results, leading to greater confidence in the stability of the system. This change primarily impacts the testing process, not the functionality itself.
Original PR description
Forward-Port-Of: odoo/enterprise#109111 Forward-Port-Of: odoo/enterprise#108739
6 changes
Enhancements to existing features
This update addresses changes mandated by the Uruguayan tax authority (DGI) regarding the Electronic Fiscal Document (CFE). Specifically, a new selection option is added for export documentation, and changes are made to how reference invoices are transmitted to ensure legal compliance. This ensures Odoo continues to meet regulatory requirements in Uruguay.
Original PR description
Purpose: The DGI introduced changes in CFE version 25. The following changes below needs to be implemented for legal compliance.
Required Changes:
- Introduce a new selection value,("91", "Export under Mandate")for field, l10n_uy_edi_cfe_sale_mode. This option is required when documenting export operation performed as a mandating entity, where the definitive export will be carried out by a third party.
- The reference document(credit note or debit note) of an existing account move will need to send:
- Amount (MntCFEref)
- Currency (TpoMonedaRef)
- Exchange Rate (TpoCambioRef) if the currency is not Uruguayan Pesos
task-5419331
task-5419331
Forward-Port-Of: odoo/enterprise#108430
Forward-Port-Of: odoo/enterprise#103881This update streamlines test execution by consolidating repetitive setup steps into a single location, reducing the time and resources needed to run tests. By avoiding redundant object creation, the changes improve test performance and overall system stability. This primarily impacts the Google Calendar and Microsoft Calendar modules.
Original PR description
- move a bunch of expensive setUp to setUpClass - backport #152378 to avoid password keying in 17.0 also Forward-Port-Of: odoo/odoo#251045 Forward-Port-Of: odoo/odoo#250667
This update streamlines the process of setting up tests for several core Odoo modules, specifically within the timesheet and payroll areas. By centralizing test setup, the team has improved the efficiency and reliability of our automated testing, leading to faster identification and resolution of potential issues.
Original PR description
Forward-Port-Of: odoo/enterprise#108971 Forward-Port-Of: odoo/enterprise#108739
This update ensures invoices sent to French, German, or Belgian customers comply with the latest regulations for Factur-X and ZUGFeRD formats. Specifically, B2B invoices now use ZUGFeRD for German businesses and XRechnung for B2G invoices, improving clarity and accuracy for customers.
Original PR description
Updating the FacturX format (France)/ ZUGFeRD format (Germany) to respect the new norms: Factur-X 1.07.3 EXTENDED and ZUGFeRD 2.3.3 EXTENDED. Add the differentiation between these two formats in the customer interface, even if they point to the same value in the code. It clarifies things for the customer, things are called by their name. Also, in Germany, for B2B invoices (peppol EAS = 9930), use ZUGFeRD, but for B2G invoices (peppol EAS = 0204), use XRechnung. Adaptation of the default values in the partner form according to this statement. For French and German companies that are sending invoices to French, German or Belgian customers, changed the default format of invoice sent to be compliant to PDF/A-3 norms. task-5266286 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#250230 Forward-Port-Of: odoo/odoo#237091
This update adds optional fields to Peppol invoices, resolving a previous issue where users couldn't send fully compliant invoices. Now, users can utilize a studio feature to include necessary optional fields and attributes, ensuring adherence to Peppol standards and enabling successful invoice processing. This improves integration with Peppol partners.
Original PR description
Currently, several specific UBL fields are lacking from our Peppol integration, resulting in users not being able to send compliant invoices Using studio, they can now add the optional fields that are allowed by us and their optional attributes task-4963157 Forward-Port-Of: odoo/odoo#251359
This update improves logging for transactions related to Codabox integration (_l10n_be_codabox_fetch_coda_transactions). These enhanced logs will provide the support team with more detailed information to quickly diagnose and resolve any issues with the Codabox connection. This improves troubleshooting and reduces potential downtime.
Original PR description
This commit will improve the logs of _l10n_be_codabox_fetch_coda_transactions to help the support team to debug possible problem. task-5436868 Forward-Port-Of: odoo/enterprise#107779
2 changes
Enhancements to existing features
This update addresses changes mandated by the Uruguayan tax authority (DGI) regarding the Electronic Fiscal Document (CFE). Specifically, a new selection option is added for export transactions, and changes are made to the data sent with credit and debit notes to ensure compliance with current regulations. This ensures accurate reporting for Uruguay.
Original PR description
Purpose: The DGI introduced changes in CFE version 25. The following changes below needs to be implemented for legal compliance.
Required Changes:
- Introduce a new selection value,("91", "Export under Mandate")for field, l10n_uy_edi_cfe_sale_mode. This option is required when documenting export operation performed as a mandating entity, where the definitive export will be carried out by a third party.
- The reference document(credit note or debit note) of an existing account move will need to send:
- Amount (MntCFEref)
- Currency (TpoMonedaRef)
- Exchange Rate (TpoCambioRef) if the currency is not Uruguayan Pesos
task-5419331
task-5419331
Forward-Port-Of: odoo/enterprise#108430
Forward-Port-Of: odoo/enterprise#103881This update adjusts the salary scale parameters used in the Odoo Enterprise's Belgian payroll module. Specifically, the values for January 1st, 2026, have been updated to reflect current tax regulations. This ensures accurate payroll calculations for Belgian employees.
Original PR description
. Update cp200_salary_scale_first_year values for 01/01/2026 . Update cp200_salary_scale values for 01/01/2026 task-5485636 Forward-Port-Of: odoo/enterprise#107473
6 changes
Enhancements to existing features
This update simplifies the user experience for Belgian employees managing their spouse's tax status within the HR payroll module. The previous clickable link has been replaced with a dynamic tooltip, providing instant access to relevant income and pension information on hover. This change improves usability and clarity for employees.
Original PR description
Normally, when you select employee from belgium and go to Employee->personal->FAMILY->Married-> there was toggle explanation clickable link and it was opening the description section about incomes and pensions. I removed clickable link and put a icon (tooltip), when you hover it, the description's content is seen in tooltip. The UX is simplified in this way. I opened a new field in l10n_be_hr_payroll/hr_employee, spouse_fiscal_status_explanation_tooltip that is a HTML field and creates the tooltip dynamically with the changing content. (The content is spouse_fiscal_status_explanation field and it is computed dynamically in the code) In the view, I used new tooltip field directly. task - 5870664
This update enhances the speed and efficiency of the product configurator within the Enterprise edition of Odoo. The changes, stemming from a community contribution, optimize the underlying processes to provide a smoother and faster experience for users building custom product configurations. This improves overall user productivity.
Original PR description
Adjustments complementing community PR - https://github.com/odoo/odoo/pull/247381 task-3891049
This update enhances the user experience on touchscreens by redesigning input fields and buttons for better usability. The changes include increased spacing, improved icon placement, and a unified look and feel, making it easier to interact with Odoo Enterprise applications on devices like tablets and smartphones.
Original PR description
The PR is the enterprise counterpart of https://github.com/odoo/odoo/pull/250051 Here is the original message: The commit aims to improve the UX on touch screens, by improving inputs and buttons…
The PR is the enterprise counterpart of https://github.com/odoo/odoo/pull/250051
Here is the original message:
The commit aims to improve the UX on touch screens, by improving
inputs and buttons design to make them more usable on those touch
oriented devices first by giving more space around certain elements
and making other UI elements more compact to give the user more
information. As a side effect, this task also allowed to improve the
desktop experience regarding suffixes and to unify the look and
feel of text inputs.
A dedicated o_input_box class has been added. Being used at the highest
level on an input/button element or its parent in the UI, it can be used
to add overlay prefix and/or suffix inside of them, using on those UI
elements the 'o_input_box_overlay + prefix/suffix' classnames.
For example:
```
<div class='o_input_box'>
<i class='fa fa-gear o_input_box_overlay prefix'/>
<input class='o_input'/>
<button class='btn btn-link o_input_box_overlay suffix'>Click Me</button>
<i class='fa fa-arrow o_input_box_overlay suffix'/>
</div>
```
In this example, an input box would be display around the input, with
enough padding before and after the input value, displaying 2 icons
and a button.
Currently, positioning the overlay elements require to call the dedicated
utility function, exported from '/web/static/src/core/input_box.js'.
Padding is then calculated and adapted accordingly to maintain affordance
of the input or button text, and place the dropdown arrow.
An InputBox component has been added as well, implementing easily the right
elements around an input, but it is possible to use the classnames without
the need for this specific component.
If an element with o_input_box is contained inside another o_input_box
parent, the highest element is considered as the input box, and displayed
correctly. This allows a component that already have the class to have a
sibling element serving as an overlay, by adding a parent to both elements
having the o_input_class. It is also useful when some UI is declared from
the arch XML while other overlays are defined from the component side.
This commit also removes the need of a dedicated component for the boolean
toggle field in list views. The edition of any boolean field in
readonly/non selected rows in list views is already well handled in a
scss rule, and it is not necessary to have this dedicated wrapper around
the standard BooleanToggleField component.
task-5355007This update enhances the rental dashboard within the Odoo Enterprise system, providing a consolidated view of rental orders with key status counts. This change simplifies order management and offers a more intuitive overview of rental operations, improving decision-making.
Original PR description
Task: 5358651
This update strengthens data accuracy by implementing stricter validation rules for company numbers and ONSS registration numbers. These constraints – including length, digit-only requirements, and checksum calculations – help prevent incorrect data entry, improving the reliability of HR and payroll information within the system. This change ensures data integrity and reduces potential errors.
Original PR description
Adding validation constrains on company number and ONSS registration number to avoid wrong data entry. The company number (`l10n_be_company_number`) should be: - 10 characters long - Contain digits only - Start with '0' or '1' - The last 2 digits should be a valid checksum of the first 8 digits (modulo 97) The ONSS registration number (`onss_registration_number`) should be: - 9 characters long - Contain digits only - The number modulo 97 should give 96 And also modifying the demo data and tests to be compliant with these constraints. task-5973645
This update introduces a new rental dashboard within the rental order list and kanban views, providing a consolidated overview of rental status. It includes per-status counts fetched efficiently, streamlining reporting and improving decision-making for rental operations. The 'To Do Today' submenu has been removed to simplify the interface.
Original PR description
Task: 5358651
4 changes
Enhancements to existing features
This update ensures Odoo's Uruguay-specific electronic invoicing (CFE) reports comply with recent changes mandated by the Uruguayan tax authority (DGI). Specifically, a new reporting option for 'Export under Mandate' has been added, and adjustments have been made to how reference invoices are transmitted to accurately reflect export transactions.
Original PR description
Purpose: The DGI introduced changes in CFE version 25. The following changes below needs to be implemented for legal compliance.
Required Changes:
- Introduce a new selection value,("91", "Export under Mandate")for field, l10n_uy_edi_cfe_sale_mode. This option is required when documenting export operation performed as a mandating entity, where the definitive export will be carried out by a third party.
- The reference document(credit note or debit note) of an existing account move will need to send:
- Amount (MntCFEref)
- Currency (TpoMonedaRef)
- Exchange Rate (TpoCambioRef) if the currency is not Uruguayan Pesos
task-5419331
task-5419331
Forward-Port-Of: odoo/enterprise#108430
Forward-Port-Of: odoo/enterprise#103881This update simplifies the process for Italian businesses filing withholding tax returns. The default periodicity has been changed to monthly, aligning with Italian regulations and improving ease of use. This change ensures accurate reporting and reduces the complexity for users.
Original PR description
In Italy, withholding tax return periodicity is monthly. but it's hard to discover/configure. Default periodicity should be monthly. task-5985704 Forward-Port-Of: odoo/enterprise#109185
This update addresses significant changes in the format for Spanish VAT reporting (Mod303). Specifically, a new field for petrol has been added, and the placement of several Casillas has been adjusted to align with the latest requirements. This ensures accurate reporting for Spanish businesses using Odoo Enterprise.
This update speeds up testing for the Stock Barcode module by optimizing the initial setup process. The previous setup, which created a company, was a significant bottleneck. Moving this creation to a setup class will reduce test execution times, improving developer efficiency.
Original PR description
TestBarcodeClientAction [setup is quite slow](https://runbot229.odoo.com/runbot/static/build/102958171-master/tests/profile/profile_2.html#localProfilePath=1), especially because it creates a company. In addition in all classes extending this one, we spend at least 6 minutes on this line. (when testing sale_timesheet -> !stock_barcode_mrp_subcontracting) This commit proposes to move at least the company creation in a setupclass. It would be great to move all the setup in the setupclass but the tests are failling when doing so and could be achieved by a member of the stock_barcode owner team. Tests based on this setup should be a few minutes faster with this change.
2 changes
Enhancements to existing features
This update enhances the accuracy of loan interest rates within the Enterprise module. Previously, interest rates were displayed with only two decimal places. Now, users can specify up to ten decimal places for greater precision, improving financial reporting and calculations.
Original PR description
Allowing more precision on the interest rate for loans. By default the display uses 2 decimals, but if a user decides to add more precision they can up to 10 decimals. task-5913175
This update adjusts the salary scale parameters used in the Odoo Enterprise's Belgian payroll module. Specifically, the values for the first year of the CP200 salary scale and the overall scale have been updated to reflect changes in Belgian regulations as of January 1, 2026. This ensures accurate payroll calculations for Belgian employees.
Original PR description
. Update cp200_salary_scale_first_year values for 01/01/2026 . Update cp200_salary_scale values for 01/01/2026 task-5485636 Forward-Port-Of: odoo/enterprise#107473
2 changes
Enhancements to existing features
This update adjusts the salary scale parameters used in Odoo's Belgian payroll module (l10n_be_hr_payroll) to reflect changes in Belgian labor laws as of January 1, 2026. These updated values ensure accurate payroll calculations for employees in Belgium, maintaining compliance with current regulations.
Original PR description
. Update cp200_salary_scale_first_year values for 01/01/2026 . Update cp200_salary_scale values for 01/01/2026 task-5485636
This update addresses a significant change in the format required for Spanish VAT reports (Mod303) for the year 2026. The update includes a new field for petrol data and adjustments to the report's structure. This ensures continued compliance with Spanish tax regulations.
Original PR description
The format for 2026 changed quite significantly. There is an extra field for the petrol, which we basically do not touch and a lot of casillas that changed places. opw-5990405