Daily updates from Odoo
Navigate
Branch
Thursday, August 16, 2018
28 changes
New functionality added to Odoo
Inventory delivery slips can now include lot and serial numbers, with expiration dates shown when that information is relevant and enabled. This gives customers and warehouse teams clearer traceability on delivered goods without risking accidental loss of expiration data settings.
Original PR description
project : RD for Dummies task : [Inventory] Add SN/LN on Delivery Order
This adds a new option that lets developers place newly added dropdown choices before a specific existing choice. It helps customizations present options in a more logical order without replacing the full original list.
Original PR description
add option 'selection_add_before' to selection fields to define selection_add position.
Description:
origin selection looks like [('b','B'),('c','C')]
It will used like:
fields.Selection(selection_add=[('a', 'A')], selection_add_before='c')
('a', 'A') will be added before ('c','C'), the final selection is:
[('b','B'), ('a', 'A'), ('c','C')]
Same as #9936 , this one is for master branchThis update separates custom payment methods from traditional bank transfer payments, making payment options clearer to configure and manage. It also updates payment provider setup data and branding assets for several providers, helping businesses present the right payment choices to customers.
Original PR description
Task: https://www.odoo.com/web#id=28480&view_type=form&model=project.task&action=333&active_id=248&menu_id=4720
Sales users can now access product categories directly from the product configuration menu. This makes it easier to organize and manage products without needing another app menu.
Original PR description
Description of the issue/feature this PR addresses: If you install `sale` module is not possible use the important menu to `product.category` Desired behavior after PR is merged: - Adds the menuitem to sale module: -  Note: I just copied from [purchase/views/purchase_views.xml](https://github.com/odoo/odoo/blob/20f2de82965ed782f14f4154f750853ae5c297f8/addons/purchase/views/purchase_views.xml#L29-L32) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change introduces a fuller report editor that lets users create, delete, and edit both the structure and content of reports. It improves report customization from simple text edits to a more complete, easier-to-use editing experience.
Original PR description
Description of the issue/feature this PR addresses: https://www.odoo.com/web#id=1819333&action=333&active_id=133&model=project.task&view_type=form&menu_id=4720 Current behavior before PR: There was a basic report editor, allowing to edit in-place the static parts of a report Desired behavior after PR is merged: There is a report editor that allows, creation, deletion and edition of a report structure and content in a user friendly way
Enhancements to existing features
Payroll salary rules are now displayed and processed according to their configured sequence instead of their database ID. This makes payslip results easier to predict, review, and troubleshoot when rule order affects calculations.
Original PR description
The most important part of building salary rules is having them in the right sequence. If the salary rules are not order by this field, it's very hard to debug or realize that a salary is not working because is not before (or after) another. This also makes it easier to know how the payslip will show the order of the salary rules. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Task lists now show planned hours using the same time format as other time-related fields. This makes planned work easier to read and allows planned hours to be summed directly in the list view.
Original PR description
Use float_time widget for planned_hours in task tree view Description of the issue/feature this PR addresses: Currently the float_widget is used for all time related fields in the task tree view except for planned_hours. Current behavior before PR: No use of float_widget Desired behavior after PR is merged: Use float_widget and sum the planned hours. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
CSV and file imports can now optionally create missing linked records for fields such as tags or company names. This reduces import failures and manual cleanup when simple related records do not already exist.
Original PR description
purpose: useful for tags, company names of contacts, where is just one or two fields model before this commit, record not creating if it is not found, when we import csv or valid file after this commit, added an option in the column header "Create if doesn't exist" create a new record if user have check that option on the particular m2m/m2o fields Task:https://www.odoo.com/web#id=1850633&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.b72a1af4d6e1e97ce1eb445073551e12 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale details report can now use the appropriate selected company instead of always showing the current user's company. This improves reporting accuracy for businesses operating across multiple companies.
Original PR description
**Description of the issue this PR addresses:** This PR adresses the `pos_details` report in `master` branch. The company of the report should be customizable. **Current behavior before PR:** The `pos_details` report always shows the company of the user. **Desired behavior after PR is merged:** This PR fix the report adding the multicompany support. EDIT: Later, I think it's an improvement instead of a fix. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo's report barcode generation is updated to support a wider range of barcode types and customization options through the Elaphe library. This helps businesses create formats such as Data Matrix, Aztec, and Pharmacode without relying on Reportlab limitations, while preserving existing behavior.
Original PR description
Description of the issue/feature this PR addresses: There is a framework to generate barcode, useful in many cases, e.g. if I want to generate Aztec/DataMatrix/Pharmacode barcode or many other types,…
Description of the issue/feature this PR addresses: There is a framework to generate barcode, useful in many cases, e.g. if I want to generate Aztec/DataMatrix/Pharmacode barcode or many other types, I have these options in the elaphe library to use. The elaphe is a python binding of Barcode Writer In Pure PostScript. This framework provides a lot of settings to customize and create a barcode, just passing this information as options in the generating method. Current behaviour before PR: The current barcode generating method in Odoo uses the Reportlab and if I want to generate a Data Matrix code I need to update the Reportlab library to 3.3.0 version, but if I want to change the version/format I can't because it doesn't provide these options. This is only one of much more examples that we can find. Desired behaviour after PR is merged: Keep the current behaviour only adding more settings and options of barcode types, initially. ## I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo can now define default units of measure per language, helping records use units that match a user's locale. This reduces manual selection and supports more region-appropriate defaults for fields such as time or quantity units.
Original PR description
**Description of the issue/feature this PR addresses:**
Adds a concept of a default unit of measure on languages, unique by unit category type.
It also provides a method that can be used in fields to work from said defaults.
**Configuration:**
Set default unit of measures in the `Languages` menu in settings.
**Usage:**
Fields that want to implement the language default should use the provided method, such as in the below example:
```python
class MyModel(models.Model):
_name = 'my.model'
time_uom_id = fields.Many2one(
string='Time Units',
comodel_name='product.uom',
default=lambda s: s.env['res.lang'].default_uom_by_category('Time'),
)
```
**Alternatively:**
If you would prefer the feature be its own module, I can just bring [this](https://github.com/OCA/server-tools/tree/10.0/base_locale_uom_default) over instead.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prOdoo now keeps track of the original wording of database constraints so it can tell when they have truly changed. This prevents module updates from repeatedly dropping and recreating unchanged constraints, reducing update time and disruption on large databases.
Original PR description
Store the original constraint definition as a comment on the constraint and use it to determine if the constraint definition was changed. This prevents endless re-adding of constraints that are reformatted by postgresql in an unrecognizable way (in which e.g. "CHECK (credit*debit=0)" becomes "CHECK ((credit * debit) = 0::numeric)") Description of the issue/feature this PR addresses: Existing SQL constraints are not properly recognized on module update Current behavior before PR: An update of the account module drops and re-adds _sql_constraints such as those on move and move line balance which can take a long time on large databases. Desired behavior after PR is merged: If the constraint definition is not modified, the constraint is not dropped and re-added -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds clear internal names to sales page sections so future customizations can target the right areas more safely. It reduces the risk of changes breaking when page order changes, helping maintain sales screens more reliably over time.
Original PR description
Description of the issue/feature this PR addresses: It is hard to xpath on the pages right now as they have no names. Current behavior before PR: You'll have to do `//page[2]` which is risky to break and page indexes can move. Desired behavior after PR is merged: Ability to xpath on name `//page[@name='other_information']` Followup of https://github.com/odoo/odoo/pull/25807 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Project and issue teams can now archive columns instead of keeping every workflow stage visible. This helps teams clean up old or unused stages while preserving their history and reducing clutter in day-to-day task boards.
Original PR description
Task: https://www.odoo.com/web#id=22007&view_type=form&model=project.task&action=333&active_id=248&menu_id=4720
Rating information is now calculated when needed instead of being kept as a stored value. This helps keep ratings accurate and reduces the risk of outdated rating data appearing in project-related views.
Original PR description
Task: https://www.odoo.com/web#id=51523&view_type=form&model=project.task&action=333&active_id=965&menu_id=4720
Resolved issues and error corrections
This fixes an issue where journal dashboard graphs could fail to render because they were drawn before being added to the page. The graph now renders only once it is attached, making dashboard visuals more dependable for users.
Original PR description
The lib 'nvd3' renders graph when they are attached in the
DOM. However, widgets are rendered in fragments and
appended to the DOM when ready (to prevent flickering).
Before this commit, we used a `setTimeout(0)` and cross
fingers that the widget was attached to the DOM when the
`render` method was called.
With this commit, the render method is called when it is
attached to the DOM.
Task-ID 1868252Odoo can now install the Account app even when an optional testing dependency is not installed. Tests that require browser automation are skipped with a warning instead of causing an installation error, reducing setup issues for environments that do not run those tests.
Original PR description
The account module needs to import Form from "tests.common" causing a traceback when websocket-client module is not installed. As this module is only required for the tests, there is no reason to add it to the "requirements.txt" file. With this commit, Odoo account can be installed even when websocket-client is not installed, in that case, the HttpCase tests that needs to run Chrome headless will be skipped with a warning. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The accounting dashboard now shows sales and purchase journal history graphs correctly. This helps finance users read dashboard trends more reliably without confusing visual display issues.
Original PR description
Description of the issue/feature this PR addresses: Task link https://www.odoo.com/web#id=1868252&action=327&model=project.task&view_type=form&menu_id=4720 Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Pivot reports now filter out display widgets that are not supported, preventing errors when users open or use pivot views. This makes reporting more reliable while still allowing compatible and custom widgets to work where appropriate.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: In pivot view, if widget is not compatible with the pivot view, we have an error Desired behavior after PR is merged: compatible widgets are filtered ## I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Bank statement errors now include the relevant reconciled entry name or number. This helps users identify and correct the problematic statement line faster, especially when reviewing longer statements.
Original PR description
Before this commit, a cryptic error message did not actually lead to resolution. By giving the reconciled name/number, the users get's a chance to identify the offending entry and correct it. This way this error message becomse a little more actionable. **Description of the issue/feature this PR addresses:** - Non actionable error message on bankk statments **Current behavior before PR:** - The error message was so unspecific, that it was impossible to identify the offending line - At least, if a statement had more than a handful lines **Desired behavior after PR is merged:** - The error message is (somewhat) actionable **Note:** Please do not close, even if not immediately accepted (`wishlist` tag). This PR is meant to be carried along and actively maintained, until this semantic will be completed this way or another. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr @xoe-labs
Project tasks created from sales orders no longer show the graph icon twice. This keeps the task screen cleaner and avoids confusion for users navigating project reporting options.
Original PR description
Current behavior before PR: Graph icon is shown twice on project task coming from sale Desired behavior after PR is merged: Graph icon is shown only once on project task coming from sale -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Completed manufacturing orders now display their stock movement lines in a muted style instead of incorrectly showing them as red. This avoids visual confusion for users reviewing finished production orders and makes the status clearer.
Original PR description
Issue-Link: https://www.odoo.com/web#id=1862299&action=333&active_id=1278&model=project.task&view_type=form&menu_id=4720 Pad-Link: https://pad.odoo.com/p/r.078f3d8fb2efa8356d503e9bfd7b8ebc Before this commit: Red movelines can be seen instead of text-muted movelines after MO done. After this commit: text-muted class has been applied to movelines after MO done. Issue-ID: 1862299 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adjusts the website dashboard layout to avoid display issues caused by unnecessary row structure. It helps make dashboard information appear more consistently for users managing website and online sales activity.
Original PR description
Layout issue in website dashboard:- https://drive.google.com/file/d/1hGzCwYQjShlRcF-vrRz0h6GqoS_m2W3_/view Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Account reports were updated to avoid a template conflict that could cause a traceback when opening reports. This improves reliability for finance users viewing reports such as aged partner balances, general ledger, and chart of accounts.
Original PR description
…of it inherit only the line template in reports. For account reports now we don't inherit main template rather than we only inherit line template. SO removed main template. Related to issue :1869959 Description: Account Reports crashes. (Gives Traceback) Issue: https://www.odoo.com/web#id=1869959&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.91b95d39f9971f51058aeaef0ea9f1e4
Code cleanup and technical improvements
This change separates how purchase and supplier invoice counts are calculated for partners. It makes the underlying process clearer and helps avoid permission-related issues when showing supplier invoice information.
Original PR description
**Description of the issue/feature this PR addresses:** - Purchase/supplier invoice computation **Current behavior before PR:** - With only one method, we need access on purchase.order to compute supplier_invoice_count **Desired behavior after PR is merged:** - Split computation of purchase/supplier invoice counts. In order to improve code readability and avoid access issues. ------------------- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The test infrastructure now uses Chrome in headless mode instead of the discontinued PhantomJS tool. This should make automated JavaScript testing more stable and better supported over time, reducing false failures in development and quality checks.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The email composer was reorganized to be more separate from underlying message records. This should make future maintenance safer and reduce the chance of unintended side effects in mail workflows, with little immediate user-facing change.
The mail message composer was reorganized to reduce its dependency on the regular mail message model. This is an internal cleanup intended to make the messaging code easier to maintain without changing day-to-day user workflows.
Original PR description
To check: keep inherit but still rewrite part of the code Task: https://www.odoo.com/web#id=1832038&view_type=form&model=project.task&action=333&active_id=965&menu_id=4720 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr