Daily updates from Odoo
Saturday, March 28, 2026
9 changes
1 change
Enhancements to existing features
This update simplifies the process for planning managers to finalize shifts. Now, marking a shift as 'completed' directly triggers the generation of related documents like timesheets and sales orders, without requiring manual steps. A warning is displayed to confirm the action, ensuring accuracy and efficiency.
Original PR description
Use case: The day is finished and I want to record all the shifts that I worked on that day. But without going through the entire flow by using the buttons (signing-in, marking the shift as completed, etc). Instead, we allow the user (planning manager) to directly mark the shift as in draft, progress, scheduled or completed by using the status bar of the shift state. When changing the state to any other states as completed, we only change the state but do nothing else. When changing the state to completed, we proceed with the generation of the timesheets, the sale rrder, stock moves, etc, except that we don't change the end date of the shift or redirect the user to the portal after editing the state. Also, we warn the user before changing the state to completed, to make sure he wants to perform that change and trigger the related actions. task-5966615 version-19.2
1 change
Enhancements to existing features
This update incorporates changes to India's tax regulations as outlined in the Income Tax Bill 2025, specifically regarding TDS and TCS. It adds new tax sections and groups to ensure compliance with the updated legislation, aligning Odoo with the latest tax requirements for Indian businesses.
Original PR description
The Income Tax Bill 2025 introduces TDS and TCS provisions in a more structured way compared to the existing Income-tax Act 1961, with the addition of new sections and taxes. This commit adds new sections and corresponding taxes for sections 392, 393, and 394, along with their respective reports. It also introduces new TDS and TCS tax groups for these taxes to differentiate them from the existing ones. The old taxes are deactivated as they are no longer applicable. task-6035844 Forward-Port-Of: odoo/odoo#256514 Forward-Port-Of: odoo/odoo#256102
7 changes
Enhancements to existing features
This update simplifies how users edit external values within accounting reports. Now, users can directly modify values in place and changes are automatically saved, eliminating the need for separate editing and validation steps. Additionally, the system now supports editing dates and datetimes, enhancing report flexibility.
Original PR description
The aim of this commit is improving the design of external value in accounting reports. Before this commit, user has to click on the pencil/edit icon to open a popover to allow him to edit the value.…
The aim of this commit is improving the design of external value in accounting reports. Before this commit, user has to click on the pencil/edit icon to open a popover to allow him to edit the value. Once the value edited, the user still has to "Post" the value by validating it via a button. Now, the user can edit the value in place (no more popover) and the value is automatically saved when we leave the focus on the field. This commit also introduces an easier way to edit the boolean figure_type for external value. Before this commit, still in the popover, the user has to choose between 2 radio buttons (Yes / No). Now, it's easily editable by clicking on the value or on the pencil / edit icon. Finally, this commit introduces the possibility to have editable date or datetime figure_type. To do that, we are using the hook useDateTimePicker which allows us to custom the behavior of the DateTimePicker. To achieve this transformation, we decided to separate the logic in 4 different components. - AccountReportLineCellEditable: which is the component you have to call when you want to allow an external value editable. This is the conductor of how things should work. - AccountReportLineCellEditableBoolean: To easily handle boolean figure_type. - AccountReportLineCellEditableDateTime: To easily handle date and datetime figure_type. - AccountReportLineCellEditableLiteral: To easily handle integer, string, float and monetary figure_type. NB: This component doesn't have the best name for it, but it's to avoid one component per figure_type. no task id
This update simplifies the MRP barcode workflow by removing confusing settings and correcting errors in by-product lot management. Specifically, it ensures accurate lot assignments and streamlines the process of generating and scanning lot numbers, leading to faster and more reliable manufacturing operations.
Original PR description
*: stock_barcode, stock_barcode_picking_batch - Currently, in the `Barcode App` tab under `Manufacturing operation` type, certain settings such as `Destination location`, `Force destination for all…
*: stock_barcode, stock_barcode_picking_batch - Currently, in the `Barcode App` tab under `Manufacturing operation` type, certain settings such as `Destination location`, `Force destination for all products`, `Group batch lines` and `Move Entire Packages` have no impact in MO and can be made invisible, as their lack of effect may confuse users about their usage. - `Source location` and `lot/serial` scan validations were incorrectly applied to `by-products`, which are produced at `Production location` and don't require such scanning. This made by-product lines non-editable in the barcode, reducing usability for byproduct processing. Barcode interface for by-products lacked automatic lot generation, requiring users to manually create the next available lot, resulting in a slower and less efficient process. - Also, if a line has a reserved lot from the backend and another existing lot is scanned, it is applied correctly. However, when a `new lot/serial` is scanned even with `use_create_components_lots` enabled, the system falls back to the originally reserved lot from the backend, which leads to incorrect behavior. With this change, scanning a new lot clears the existing reserved lot and applies the scanned value instead. This ensures accurate lot assignment, improving traceability and reliability during barcode operations. These changes hides irrelevant settings for MRP operations, refines the field label `(Product → Component)` specifically for mrp operations, prevents incorrect `source location` and `lot/serial scan` validations from affecting `by-product lines`, and adds direct `lot generation` for by-products in the barcode screen , and ensure that generated or scanned lot names are visible in the MRP form view, as the previous compute logic was always hiding the lot name even when it was set. These updates reduce confusion and make the mrp barcode workflow smoother and more efficient, especially for by-products. TaskID-4655907
This update upgrades the Odoo codebase to M3.1, focusing on performance enhancements and stability improvements. Specifically, changes to field rendering have optimized computations, and the UI has been refined to maintain a consistent 'desktop' experience. Future updates will address remaining legacy M3 components.
Original PR description
This update transitions the codebase to M3.1 with a focus on performance and stability. By optimizing field rendering, we've eliminated unnecessary computations during patches. To achieve this, we now apply borders to cells within inner groups instead of applying them directly to inputs. As a result, adjacent inputs may no longer display these borders. To ensure a seamless transition, we have prioritized maintaining the "desktop" form integrity to prevent UI regressions. Consequently, some specific M3 specs were intentionally modified to provide a superior UI/UX experience. Note: Remaining legacy M3 artifacts will be cleaned up in upcoming commits. task-6054024
This update introduces a new 'groupby' field within reports, allowing users to customize grouping criteria. It provides a warning if the grouping differs from the standard, and enables users to adjust it. This improves report flexibility and data analysis capabilities.
Original PR description
Add user_groupby field on the report view and add warning if it's different than standard groupby with ability to set it again. The _get_groupby uses the one defined on the report line then uses the one on the report if not set. For existing reports, use groupby field on the reports. task-4801889
This update enables users to efficiently manage database tags by allowing them to add or modify tags for multiple databases simultaneously. Previously, users had to update tags individually for each database. This change streamlines the process and improves database organization.
Original PR description
The aim of this commit is to allow users to mass edit the list of database to add one or several tag on several dbs at once. task-id: 6046088 Forward-Port-Of: odoo/enterprise#112024
This update enables Peruvian Point of Sale (POS) systems to directly print electronic invoices and receipts on thermal printers, aligning with local regulations and industry standards. Previously, customers had to download invoices from an online portal. This change improves the customer experience by providing immediate, legally-recognized receipts.
Original PR description
Before: - In Peru, Point of Sale (POS) systems are allowed to generate E-invoices and E-receipts that comply with SUNAT’s requirements. - In the POS, Odoo prints a ticket that only includes a QR code linking to the customer portal, where the A4 invoice can be downloaded. - However, according to SUNAT and common practice in Peruvian retail environments, the printed POS ticket itself should serve as the legal representation of the electronic document After: - We allow Peruvian POS users to print electronic invoices and receipts directly on thermal printers (58 mm / 80 mm) using the same electronic document flow and data as the accounting module, ensuring full compliance with SUNAT’s representation requirements. Impact: - Improve customer experience by avoiding portal-only invoice download task-5193544 Forward-Port-Of: odoo/enterprise#101876
This update adapts the French financial reporting process to changes in how data is exported from Odoo. Instead of downloading entire files, data is now streamed to the user, improving efficiency and reducing download times. This ensures accurate and timely reporting for French businesses using the Odoo Enterprise system.
Original PR description
This commit aims to adapt the usage of 'account.fr.fec' to the changes made in community. In particular `fec_data` field is not used any more. and we use `_get_fec_stream` to stream the content of the file. task-5404142 Forward-Port-Of: odoo/enterprise#111416 Forward-Port-Of: odoo/enterprise#102783