Sunday, May 11, 2025
46 changes
Enhancements to existing features
The Velocity Analysis report now labels the metric as "Average Days in Stage" instead of "Days in Stage." This makes it clearer that the report shows an average duration, helping users interpret recruitment pipeline timing more accurately.
Original PR description
Rename the metric on the Velocity Analysis report from `Days in Stage` to `Average Days in Stage` to clarify the data presented. task-4756951
Subscription invoice checks were updated to match the new invoicing behavior: section or note lines without any product are no longer added to invoices. This helps keep subscription invoices cleaner and aligned with the standard sales flow.
Original PR description
Sections with notes but no product are not added to invoices anymore. task-4614770
Miscellaneous changes
Description of the issue this commit addresses: Zero balance lines are creating friction when reconciling lines. They will never need a renconciliation but they still impair the user's ability to reconcile other lines together if selected. --- Desired behavior after this commit is merged: When reconciling lines, the zero balance ones are simply ignored and the reconciliation proceeds as if they were not selected. --- task-4723956 Forward-Port-Of: odoo/enterprise#84944 Forward-
Original PR description
Description of the issue this commit addresses: Zero balance lines are creating friction when reconciling lines. They will never need a renconciliation but they still impair the user's ability to reconcile other lines together if selected. --- Desired behavior after this commit is merged: When reconciling lines, the zero balance ones are simply ignored and the reconciliation proceeds as if they were not selected. --- task-4723956 Forward-Port-Of: odoo/enterprise#84944 Forward-Port-Of: odoo/enterprise#84851
It's possible to have a 0 purchase order line with a negative invoiced qty if there is only a credit note linked to the PO. When the budget report process this order line, it will trigger a traceback. This commit aims to handle this case so the report can be open without issue. opw-4749480 Forward-Port-Of: odoo/enterprise#84812
Original PR description
It's possible to have a 0 purchase order line with a negative invoiced qty if there is only a credit note linked to the PO. When the budget report process this order line, it will trigger a traceback. This commit aims to handle this case so the report can be open without issue. opw-4749480 Forward-Port-Of: odoo/enterprise#84812
The incoterm code of a line in the intrastat report is the incoterm code from the move or if there is no incoterm code on the move, the one from the company. When creating the request when unfolding report lines, the incoterm code was always checked on the move and not on the company. This would not return lines without incoterm code. This commit changes the incoterm domain to also check the incoterm code of the move company when no incoterm code is set on the move. Steps to reproduce: - F
Original PR description
The incoterm code of a line in the intrastat report is the incoterm code from the move or if there is no incoterm code on the move, the one from the company. When creating the request when unfolding report lines, the incoterm code was always checked on the move and not on the company. This would not return lines without incoterm code. This commit changes the incoterm domain to also check the incoterm code of the move company when no incoterm code is set on the move. Steps to reproduce: - From an EU company, create an invoice to a company in another EU country - Do not set an incoterm on the invoice - In settings, set a default incoterm on the company - Display the intrastat report for the time period of the invoice - Try to unfold the line corresponding to the invoice opw-4642781 Forward-Port-Of: odoo/enterprise#84922 Forward-Port-Of: odoo/enterprise#84734
Steps to reproduce the issue: - Create a quality check with any parameters - Add a future activity - Click on the activity icon in the top bar - The activity summary shows: - 0 Late, 0 Today, 1 Future - Click on "Late" Issue: No filter is applied and all quality checks are displayed. Solution: Added predefined filters for activity deadlines (Late, Today, Future) in the search view of the quality.check model, to align with other models using mail.activity.mixin. opw-4727840
Original PR description
Steps to reproduce the issue:
- Create a quality check with any parameters
- Add a future activity
- Click on the activity icon in the top bar
- The activity summary shows:
- 0 Late, 0 Today, 1 Future
- Click on "Late"
Issue:
No filter is applied and all quality checks are displayed.
Solution:
Added predefined filters for activity deadlines (Late, Today, Future) in the search view of the quality.check model, to align with other models using mail.activity.mixin.
opw-4727840
Forward-Port-Of: odoo/enterprise#84523Prior to this commit, digits in a partner name would be converted to an x, preventing you from searching for digits in a T9 name search. After this commit, the digits remain as they are, so they can be searched for in a T9 name search. Forward-Port-Of: odoo/enterprise#84393
Original PR description
Prior to this commit, digits in a partner name would be converted to an x, preventing you from searching for digits in a T9 name search. After this commit, the digits remain as they are, so they can be searched for in a T9 name search. Forward-Port-Of: odoo/enterprise#84393
In the bank reco widget, applicable models are visible for statement lines. We should limit the ones visible to ones that are manual and which have counterparts that can actually work to produce an entry, so with an account (and a label that can be matched). Also filter on the company. task-4749345 Forward-Port-Of: odoo/enterprise#84139
Original PR description
In the bank reco widget, applicable models are visible for statement lines. We should limit the ones visible to ones that are manual and which have counterparts that can actually work to produce an entry, so with an account (and a label that can be matched). Also filter on the company. task-4749345 Forward-Port-Of: odoo/enterprise#84139
How to reproduce: 1. Run the localhost with the `--with-demo` flag. 2. Install the `Social` Module. 3. Now, from the CONFIGURATION > click SETTINGS > check ENABLE DEMO MODE. Issue: - You will see that the demo data is not loaded. Reason: - There is a recent PR (https://github.com/odoo/odoo/pull/206246) which removed the file we are trying to access. Fix: - We update the file path. Task-4765000 Forward-Port-Of: odoo/enterprise#84583
Original PR description
How to reproduce: 1. Run the localhost with the `--with-demo` flag. 2. Install the `Social` Module. 3. Now, from the CONFIGURATION > click SETTINGS > check ENABLE DEMO MODE. Issue: - You will see that the demo data is not loaded. Reason: - There is a recent PR (https://github.com/odoo/odoo/pull/206246) which removed the file we are trying to access. Fix: - We update the file path. Task-4765000 Forward-Port-Of: odoo/enterprise#84583
The trigram index on res.partner/t9_name is not useful. The "t9 encoding" reduces the set of possible trigrams far too much for the trigram to be effective in discriminating between large amounts of results. In consideration of the above, this commit removes the trigram index. Forward-Port-Of: odoo/enterprise#84864
Original PR description
The trigram index on res.partner/t9_name is not useful. The "t9 encoding" reduces the set of possible trigrams far too much for the trigram to be effective in discriminating between large amounts of results. In consideration of the above, this commit removes the trigram index. Forward-Port-Of: odoo/enterprise#84864
**Steps to reproduce:** - Install Accounting - Install a module that adds a button to tax report (e.g. l10n_ar) - Switch to an Argentinian company (e.g. (AR) Responsable Inscripto) - Go to "Accounting / Reporting / Statements Reports / Tax Return" (i.e. Tax Report) - Select "Argentinean VAT Book (AR)" as report - A cog button should appear after the report name with "VAT Book (ZIP)" option - With browser debug feature, switch to a responsive display and reduce the width or - Repeate
Original PR description
**Steps to reproduce:** - Install Accounting - Install a module that adds a button to tax report (e.g. l10n_ar) - Switch to an Argentinian company (e.g. (AR) Responsable Inscripto) - Go to…
**Steps to reproduce:** - Install Accounting - Install a module that adds a button to tax report (e.g. l10n_ar) - Switch to an Argentinian company (e.g. (AR) Responsable Inscripto) - Go to "Accounting / Reporting / Statements Reports / Tax Return" (i.e. Tax Report) - Select "Argentinean VAT Book (AR)" as report - A cog button should appear after the report name with "VAT Book (ZIP)" option - With browser debug feature, switch to a responsive display and reduce the width or - Repeatedly increase the zoom to increase the size of the button **Issue:** For a certain range of width the cog button is not visible. **Cause:** ".o_control_panel_breadcrumbs" element that contains the buttons has a min-width of 200px, hiding all elements that are after these 200px when reducing the width. **Solution:** Increase the min-width to 350px. The value is arbitrary but it covers well this use case. With a lower value, the cog button could still be hidden in the case of the Argentinian Tax Report in Spanish language. opw-4747697 Forward-Port-Of: odoo/enterprise#84432
Before, the feature was not usable because HMRC would only accept whole pounds for the total payments made and the materials cost. The fix was to round the values on the report to whoule pounds for those two columns. This way, it would become valid for HMRC as the return is based on those report values. opw-4686819 Forward-Port-Of: odoo/enterprise#83829
Original PR description
Before, the feature was not usable because HMRC would only accept whole pounds for the total payments made and the materials cost. The fix was to round the values on the report to whoule pounds for those two columns. This way, it would become valid for HMRC as the return is based on those report values. opw-4686819 Forward-Port-Of: odoo/enterprise#83829
This commit will unfold the statement line depending on a context key task: 4749346 Forward-Port-Of: odoo/enterprise#84123
Original PR description
This commit will unfold the statement line depending on a context key task: 4749346 Forward-Port-Of: odoo/enterprise#84123
Currently, an error occurs when changing the internal note of an order in **POS Restaurant** if all food items are removed before updating the order. **Steps to reproduce:** - Open a POS session for the **Restaurant** shop. - Select a table, add the food (e.g., "Cheese Burger") and place the order. - Add an `Internal Note` to the ordered food item. - Remove the food item and click the `Order` button (it shows '-1 Food'). - Observe the error. **Error:** `KeyError: 'qty'` The issue
Original PR description
Currently, an error occurs when changing the internal note of an order in **POS Restaurant** if all food items are removed before updating the order. **Steps to reproduce:** - Open a POS session for…
Currently, an error occurs when changing the internal note of an order in **POS Restaurant** if all food items are removed before updating the order. **Steps to reproduce:** - Open a POS session for the **Restaurant** shop. - Select a table, add the food (e.g., "Cheese Burger") and place the order. - Add an `Internal Note` to the ordered food item. - Remove the food item and click the `Order` button (it shows '-1 Food'). - Observe the error. **Error:** `KeyError: 'qty'` The issue occurs because when all food items are removed, `note_history` does not contain the `qty` key and it attempts to access `qty` from `note` at [1]. This commit resolves the issue by adding an additional check to ensure that 'qty' is in `note` before accessing the `qty` key. [1] - https://github.com/odoo/enterprise/blob/f1615134029860d32b95ade09738549a7bb1632d/pos_preparation_display/models/pos_order.py#L79-L80 Sentry - 6303446407 Forward-Port-Of: odoo/enterprise#84900 Forward-Port-Of: odoo/enterprise#79685
This commit will add the newly introduce field description in this commit: https://github.com/odoo/odoo/pull/205191/commits/61c0ce904a6b32773b55a2e9e123b5c79c0d42b7 in the set account of the bank rec widget task: 4750045 Forward-Port-Of: odoo/enterprise#84111
Original PR description
This commit will add the newly introduce field description in this commit: https://github.com/odoo/odoo/pull/205191/commits/61c0ce904a6b32773b55a2e9e123b5c79c0d42b7 in the set account of the bank rec widget task: 4750045 Forward-Port-Of: odoo/enterprise#84111
To reproduce: ============= 1. have a partner with email test@odoo.com in company1 2. allow to Demo only the company2 3. setup helpdesk team for company2 and enable it on website 4. create a ticket from website with email : test@odoo.com 5. check the ticket will be created with the partner from company1 6. try to open the ticket as Demo user, you will get an access error Problem: ========= `find_or_create` method of `res.partner` model is not taking into account the `company_id` whe
Original PR description
To reproduce: ============= 1. have a partner with email test@odoo.com in company1 2. allow to Demo only the company2 3. setup helpdesk team for company2 and enable it on website 4. create a ticket from website with email : test@odoo.com 5. check the ticket will be created with the partner from company1 6. try to open the ticket as Demo user, you will get an access error Problem: ========= `find_or_create` method of `res.partner` model is not taking into account the `company_id` when searching for the partner. Solution: ========= uses `_mail_find_partner_from_emails` method of `mail.thread` model to find/create the partner with extra domain containing `company_id`. opw-4699518 Forward-Port-Of: odoo/enterprise#84934 Forward-Port-Of: odoo/enterprise#84245
Commit baa934898f184b10ae4c5c51e26fabe4e0178a86 updated the body for ongoing process responses when checking the status of a report submitted through SBR. The variable `error_description` it tries to assign is not defined in that scope of the function, resulting in an error. This PR reverts the value assigned to be the status description, as it was prior to the above commit. opw-4775345 Forward-Port-Of: odoo/enterprise#84749
Original PR description
Commit baa934898f184b10ae4c5c51e26fabe4e0178a86 updated the body for ongoing process responses when checking the status of a report submitted through SBR. The variable `error_description` it tries to assign is not defined in that scope of the function, resulting in an error. This PR reverts the value assigned to be the status description, as it was prior to the above commit. opw-4775345 Forward-Port-Of: odoo/enterprise#84749
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration. Steps to reproduce: --- - Install `Invoicing` application (without demo data). - Invoicing > Configuration > Product Categories > Delete `Services` - Now install `pos_settle_due` module Traceback: --- ``` ValueError: External ID not found in the system: product.product_category_services ParseError: while parsing /home/odoo/src/ent
Original PR description
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration. Steps to reproduce: --- - Install `Invoicing`…
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration.
Steps to reproduce:
---
- Install `Invoicing` application (without demo data).
- Invoicing > Configuration > Product Categories > Delete `Services`
- Now install `pos_settle_due` module
Traceback:
---
```
ValueError: External ID not found in the system: product.product_category_services
ParseError: while parsing /home/odoo/src/enterprise/saas-18.2/pos_settle_due/data/pos_settle_due_data.xml:4, somewhere inside <record id="product_product_settle" model="product.product">
<field name="name">Settle Due</field>
<field name="categ_id" ref="product.product_category_services"/>
<field name="type">service</field>
<field name="weight">0.00</field>
<field name="available_in_pos">False</field>
<field name="taxes_id" eval="[]"/>
</record>
```
The error occurs because the user deleted `Services` in Product Categories, and then tried to install the other module.
This commit resolves the error by providing a False value for the field if the product category is missing.
sentry-6377659355
Forward-Port-Of: odoo/enterprise#81741The system failed to retrieve `company.l10n_ar_afip_ws_key_id.pem_key` because of quick create. Steps to Reproduce: 1. Switch to `(AR) Exento Company`. 2. Navigate to `Settings `> `Invoicing`. 3. Search for `Argentinean Localization`. 4. In `Primary Key`, clear the field, enter any value, and click Create. 5. Click `Generate Renewal Request`. Error: `TypeError: argument should be a bytes-like object or ASCII string, not 'bool'` Solution: Add `no_quick_create : True` for l10n_ar
Original PR description
The system failed to retrieve `company.l10n_ar_afip_ws_key_id.pem_key` because of quick create. Steps to Reproduce: 1. Switch to `(AR) Exento Company`. 2. Navigate to `Settings `> `Invoicing`. 3. Search for `Argentinean Localization`. 4. In `Primary Key`, clear the field, enter any value, and click Create. 5. Click `Generate Renewal Request`. Error: `TypeError: argument should be a bytes-like object or ASCII string, not 'bool'` Solution: Add `no_quick_create : True` for l10n_ar_afip_ws_key_id field. Sentry - 5999498377 Forward-Port-Of: odoo/enterprise#84940 Forward-Port-Of: odoo/enterprise#83233
This is a useful option that is hard to know about unless you read the code or are told it exists. It should be visible in the report options. In the context of: task-4734528 Forward-Port-Of: odoo/enterprise#83556
Original PR description
This is a useful option that is hard to know about unless you read the code or are told it exists. It should be visible in the report options. In the context of: task-4734528 Forward-Port-Of: odoo/enterprise#83556
part of task-4642428 Forward-Port-Of: odoo/enterprise#84538
Original PR description
part of task-4642428 Forward-Port-Of: odoo/enterprise#84538