Saturday, March 28, 2026
5 changes · master
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 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