Daily updates from Odoo
Friday, January 9, 2026
23 changes
4 changes
Enhancements to existing features
This update translates the error descriptions displayed when interacting with the Nilvera API, making them understandable for Turkish-speaking users. The underlying error details, which are dynamic, remain in Turkish to ensure accurate data transmission. This improves the user experience and reduces confusion.
Original PR description
Before this commit: - Nilvera errors were shown exactly as received from the API, which was in Turkish and could be confusing for non-Turkish users. After this commit: - The error descriptions have been translated. Error details remain in Turkish, as they are dynamic and reliably translated at this stage. task-5003543 Forward-Port-Of: odoo/odoo#231605
This update refines the visual appearance of the messaging menu in Odoo, making it more user-friendly. Specifically, the icons, buttons, and search bar have been reduced in size, and visual separators have been enhanced for better clarity. This improves the overall experience for users managing their communications.
Original PR description
- smaller avatar and icons in desktop - smaller filter button - prettier quick search visual - more visible separator between items Task-5461742 Before / After <img width="475" height="631" alt="Screenshot 2026-01-02 at 14 16 49" src="https://github.com/user-attachments/assets/0c71634f-fbfe-46c4-854d-c55e26656f0b" /> <img width="476" height="634" alt="Screenshot 2026-01-02 at 14 19 22" src="https://github.com/user-attachments/assets/f72feebf-e2d5-4054-8862-44586f7b0cd6" /> Before / After <img width="479" height="90" alt="Screenshot 2025-12-24 at 14 03 23" src="https://github.com/user-attachments/assets/2d355a5c-879c-474d-bd4c-e7a9005d98f7" /> <img width="479" height="87" alt="Screenshot 2025-12-24 at 14 03 29" src="https://github.com/user-attachments/assets/fc93e1ed-6555-402a-a6dd-0960957ded9e" />
This update streamlines the display of buttons within the bank reconciliation widget. Previously, buttons were shown on separate lines, which has now been corrected to align with the last displayed button for a cleaner and more intuitive user experience. This improves usability and reduces visual clutter.
Original PR description
This commit aims to: Avoid having the dropdown toggle on a separate line, it should always stick to the last displayed button. task-5382731 Forward-Port-Of: odoo/enterprise#101692
This update enhances the restaurant POS system by allowing administrators to customize the redirection to floor plans when orders are removed. Previously, this process was fixed, now it's more flexible and adaptable to different business needs. This change was driven by a previous enterprise issue and a related task.
Original PR description
To allow overriding the condition to redirect to the floor plan when removing an order, we extract it in its own method. see odoo/enterprise#102992 Task: 5433405 Forward-Port-Of: odoo/odoo#242686 Forward-Port-Of: odoo/odoo#241542
1 change
Enhancements to existing features
This update adjusts the chart of accounts for Odoo's Vietnamese localization to comply with new accounting regulations (Circular 99/2025). This change is necessary to ensure accurate financial reporting starting in January 2026, aligning with current Vietnamese accounting standards.
Original PR description
Update the COA for the vietnamese localization, which is based on the circular 200/2014 by the new one based on the circular 99/2025. This new COA applies starting in Jan. 2026 task-5357470 Forward-Port-Of: odoo/enterprise#103769 Forward-Port-Of: odoo/enterprise#102843
3 changes
Enhancements to existing features
This update adjusts the Vietnamese accounting chart of accounts to align with new regulations (Circular 99/2025) issued in January 2026. This change ensures compliance with current Vietnamese accounting standards and is a necessary update for accurate financial reporting in Vietnam.
Original PR description
Update the COA for the vietnamese localization, which is based on the circular 200/2014 by the new one based on the circular 99/2025. This new COA applies starting in Jan. 2026 task-5357470 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#242907 Forward-Port-Of: odoo/odoo#238983
This update adjusts the chart of accounts for Odoo's Vietnamese localization to align with recent accounting regulations (Circular 99/2025). This change is necessary to ensure compliance with Vietnamese financial reporting standards, taking effect starting January 2026. It impacts financial reporting within the Vietnamese Odoo version.
Original PR description
Update the COA for the vietnamese localization, which is based on the circular 200/2014 by the new one based on the circular 99/2025. This new COA applies starting in Jan. 2026 task-5357470 Forward-Port-Of: odoo/enterprise#103738 Forward-Port-Of: odoo/enterprise#102843
This update corrects the names and descriptions of taxes used in the Odoo accounting system for Belgium. These changes ensure accurate reporting and compliance with Belgian tax regulations. This impacts the way tax calculations are handled within the system.
Original PR description
### With this commit:- - We are updating the current tax name and its description in Belgium. - Please visit the task for more reference. task-5363874 Forward-Port-Of: odoo/odoo#242553 Forward-Port-Of: odoo/odoo#236242
1 change
Enhancements to existing features
This update adjusts the Vietnamese localization's chart of accounts to comply with new accounting regulations (Circular 99/2025) issued in January 2026. This change ensures our system accurately reflects current Vietnamese accounting standards and is a necessary update for compliance.
Original PR description
Update the COA for the vietnamese localization, which is based on the circular 200/2014 by the new one based on the circular 99/2025. This new COA applies starting in Jan. 2026 task-5357470 Forward-Port-Of: odoo/enterprise#102843
9 changes
Enhancements to existing features
This update adds crucial data attributes to Odoo's tax calculations and NFS-e submissions when the Brazilian fiscal reform is active. Specifically, the system now transmits 'name', 'businessName', 'federalTaxId', and 'type' information, ensuring accurate tax reporting and compliance with new regulations. This change is vital for businesses operating in Brazil to meet updated reporting requirements.
Original PR description
Purpose: Additional attributes are required to be sent in the rendered node for tax calculation and NFS-e submission when the fiscal reform is enabled. The additional required attributes are: - name - businessName - federalTaxId - type task-5450129 Forward-Port-Of: odoo/enterprise#103626 Forward-Port-Of: odoo/enterprise#103438
This update modernizes the way our French reporting module interacts with IAP (Invoice Automation Platform). The previous SOAP-based API has been replaced with IAP's new REST API, streamlining data exchange. This change improves the efficiency and reliability of generating French VAT reports.
Original PR description
As ASPone changed his api from SOAP to REST and that iap handles it, the api calls were modified to call v2 endpoints of iap and then adapt how the responses are handled. task-5387160
This pull request enhances the user experience for payroll reporting in the Be payroll module. It includes improvements to the list view, such as displaying eligible employee counts and adding filters, as well as refinements to the form view for better consistency and usability. The changes also improve the functionality of generating payroll files.
Original PR description
Changes list view: - corrected display of Year (before it was formatted as a number) - added display of # eligible employee and its logic in the backend - added optional display of both the xml and…
Changes list view: - corrected display of Year (before it was formatted as a number) - added display of # eligible employee and its logic in the backend - added optional display of both the xml and xls file Changes form view: - removed list of eligible employee from the form view, moved in its own line list view (later described) - refactor of files and payment sections, now consistent with the rest of the UX - changing dates (either year or month) reset generated files and associated fields, for ux consistency in buttons, file and payment sections Changes form view header buttons: - switched logic from static xml to js due to need of handling many different conditions over them, would have otherwise needed to define dozen of static instances for just 3 buttons - buttons now appear disabled when for the selected dates there is no eligible employee - buttons now appear as primary if the associated file type still has to be generated, secondary otherwise - buttons are ordered such that primary ones are displayed first - button Post Journal Entries removed (along with its related logic) Changes line list view: - shown on clicking the smart button in the form view - added filters for Doctors, Masters, Bachelors certificate levels Task ID: 5035358
This update enhances the Dimona process by simplifying the user interface and providing more clarity on the declaration status. It includes a new wizard for manual steps and a setting to easily switch between test and production environments, improving overall efficiency and reducing manual configuration.
Original PR description
purpose: improve the UX of the Dimona Flow - removed actions for Open/Close/Update/Cancel Dimona with Send Dimona which does the corresponding depending on the state - added more selections for…
purpose: improve the UX of the Dimona Flow
- removed actions for Open/Close/Update/Cancel Dimona with Send Dimona which does the corresponding depending on the state
- added more selections for `l10n_be_dimona_next_action` as:
- in progress when Dimona is Submited, waiting for ONSS validation
- done when Dimona is done
- issue When ONSS returned an issue; then post it in the chatter
- changed nothing to be False to be compatible with the desired display of the widget
- used the widget `dropdown_selection_badge` to show and allow to change dimona status
- added a wizard for manual dimona to guide the user to do the required steps if there is no onss certificate set
- added a dimona environment setting in the payroll setting to choose whether to communicate with production server or test server instead of changing the value of the route manually in the code when testing
- added more cases in test_dimona to handle if the declaration is blocked
task-id: 5269518This update simplifies the process for handling employee departures by introducing a new 'End of Collaboration' wizard. Instead of relying on archiving, employees can now manage their departure details through a single, intuitive workflow, aligning with existing notice period functionality. The archive function has been updated to simply mark records as inactive.
This update refactors the core Odoo HTTP module into smaller, more manageable components. This change improves code organization and potentially reduces memory usage, particularly when handling large files. The focus is on streamlining imports and optimizing file streaming.
Original PR description
The odoo.http module is a huge file with thousands of lines. In this work we split it in many smaller chunks. The desire to split odoo.http has been in the air for quite some time, notably with the…
The odoo.http module is a huge file with thousands of lines. In this work we split it in many smaller chunks. The desire to split odoo.http has been in the air for quite some time, notably with the introduction of the many facade objects. This work only moves the constants, functions and classes in new dedicated odoo.http-submodules. In order to make the diff easier to gasp, we decided *not* to do other changes such as moving methods around. That's job for a future work. We decided to re-expose under the "odoo.http" namespace only the four Controller, route, Response and request. All the other symbols are much less so used and are to be imported from their dedicated module. `content_disposition` is kinda a special one, it is often imported by controllers that load an entire file in memory before sending it. We are opinated and think it would be a better idea to stream to files in order to keep memory usage in check. We moved the function next to the Stream class so the latter can be discovered.
This update allows users to search for helpdesk tickets directly within the plugin. Following a simplification of the plugin's code, this feature has been added to improve ticket retrieval efficiency. The change requires adaptation within the Enterprise version of Odoo.
Original PR description
Purpose ======= The plugin have been simplified, and we removed the enrichment part, so the code needs to be adapted in enterprise as well. Allow searching helpdesk tickets. Task-4727609
This update simplifies how store and tag configurations are managed, offering easier-to-use Kanban and List views. Additionally, users can now update tag pricelists directly from the 'print label' menu, streamlining the process and improving efficiency.
Original PR description
We improve user experience by providing simpler kanban/list views to configure stores and tags. We also add a way of updating tags pricelists through the "print label" menu. see odoo/upgrade#9189 Task: 5380332
This update enhances the Time Off Overview by ensuring all employees are visible regardless of filtering options. Previously, the overview only displayed employees when viewed solely by individual employee groups. This change provides a more complete and accurate view of employee time off requests.
Original PR description
We show all employees in the timeoff overview only when the view is grouped only by employee and no leave filters are applied.
Task: 48529121 change
Enhancements to existing features
This update simplifies the display of buttons within the bank reconciliation widget. Previously, buttons were presented on separate lines, which has now been consolidated to align with the last displayed button for a cleaner and more intuitive user experience. This change enhances usability and visual clarity.
Original PR description
This commit aims to: Avoid having the dropdown toggle on a separate line, it should always stick to the last displayed button. task-5382731
3 changes
Enhancements to existing features
This update allows system administrators to customize the main Odoo home menu with a message. Administrators can set a configurable message through the database, such as a maintenance notification, ensuring timely communication to users. This improves internal communication and operational alerts.
Original PR description
Display a message on home menu based on an ir.config_parameter that can be added directly in the database by the system administrator.
The ir.config_parameter is sysadmin.message and should be a json loadable. The format shoud be something like this:
{
"type": "warning",
"replace": false,
"warning_type": "user",
"message": "`<span>A maintenance operation is planned on your server on <strong>2026-01-15</strong> between 14h and 15h</span>`"
}
Forward-Port-Of: odoo/enterprise#102433
Forward-Port-Of: odoo/enterprise#102239This update simplifies the process for unregistering PEPPOL accounts by allowing a default 'unregister to sender' option. Previously, users had to unlink accounts directly, which is now streamlined for better efficiency and ease of use. This change improves the overall PEPPOL integration experience.
Original PR description
Allow unregistering to sender instead of unlinking directly. task-5395262 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update strengthens Odoo's PDF/A compliance to the latest 3A standard, ensuring compatibility with critical document formats. Previously, inconsistencies in PDF libraries caused validation failures. This change includes fixes to decoding issues and adds necessary metadata for full compliance, improving document processing reliability.
Original PR description
This commit upgrades our PDF/A compliance from 3B to 3A, and fixes a few issues previously undetected due to the different PyPDF libraries we're currently supporting that made the previous PDF fails…
This commit upgrades our PDF/A compliance from 3B to 3A, and fixes a few issues previously undetected due to the different PyPDF libraries we're currently supporting that made the previous PDF fails even the 3B validation. Improvement 1: PDFA validators were previously detecting our file as 3B. Hence we update the metadata content `conformance` to `A`. Issue 2: When using `._pypdf` library, we failed the 6.1.2-2 and 6.8-1 rule even though we have implemented them on the previous version. It seems that this is caused by the `if SUBMOD...` check only ensuring it's not equal to `_pypdf2_2` (which makes it trigger for the new `_pypdf`). Hence, we reclarify the comments and fix the IF check. Issue 3: After implementing issue 2, it seems that a traceback occurs every time we're using `._pypdf` and calling the pdf write method. This is because the added characters on the header can't be decoded with `UTF-8`. Hence we change it to other greater-than-127-bytes characters that can still be decoded with `UTF-8`. (The actual character used here doesn't matter). Improvement 4: To be compliant with the new 3A rules (additional rules not there in 3B when we first implemented them), we add a minimal mark info dictionary and document structure on the PDF catalog object (`_root_object`). task-None Forward-Port-Of: odoo/odoo#234960
1 change
Enhancements to existing features
This update optimizes the process of exporting the general ledger as an Excel file. Previously, large exports could cause performance issues and errors due to excessive memory usage. This change implements batch processing to significantly improve export speed and stability, ensuring reliable reporting.
Original PR description
Batch the xlsx export of the general ledger to avoid memory errors task-5476982