Daily updates from Odoo
Navigate
Branch
Thursday, May 8, 2025
40 changes
23 changes
New functionality added to Odoo
Users can now save attachments from any chatter or chat directly into their Documents “My Drive” area. This makes it easier to keep important files without downloading and re-uploading them, improving day-to-day document handling.
Original PR description
**Purpose:** Enable users to add attachments from any chatter or chat directly to their "My Drive" in the Documents module. **Specifications:** Include an "Add to My Drive" button alongside the download and delete buttons in attachments to make it easy for users to add them to their drive.  Task-4236980
Enhancements to existing features
The website setup flow has been refined to make onboarding clearer and more polished for users creating a new website. This should help new users move through the configurator with less friction and a better first impression.
Original PR description
task-4505899
The Sign sharing flow was updated to make the share wizard clearer while preserving the existing ability to manually stop sharing documents. This improves the user experience around shared signature documents, though expiration dates for shares are still not available.
Original PR description
Before this commit, when sharing a document, you could only stop sharing manually using the Stop Sharing option. Unlike other documents, there was no option to set an expiration date for shared documents. With this commit, the ability to manually stop sharing documents using the Stop Sharing option remains. However, the option to set a validity period like with other document types, is still not available. task-4163986
Users now receive a warning when changing a contact’s email address if that contact has pending signature requests. This helps prevent important signing documents from being silently sent to a new email address without confirmation.
Original PR description
Before this commit, when the email address of a res.partner was changed, any pending sign requests were automatically sent to the new email without notifying the user. With this commit, a warning is displayed when the email address is updated: "There are pending sign requests for this contact. Would you like to send them to the new email address?" Task-4570835
Brazilian localization now supports external tax calculation and electronic document submission for vendor bills and vendor bill refunds. This helps businesses handle cases where the customer must pay taxes on supplier bills that are not charged directly by the vendor.
Original PR description
This does both tax calculation and EDI for vendor bills and vendor bill refunds. It's needed because in certain cases the customer will pay a specific tax on bills that is not directly charged by the…
This does both tax calculation and EDI for vendor bills and vendor bill refunds. It's needed because in certain cases the customer will pay a specific tax on bills that is not directly charged by the vendor. Luckily, not many changes are needed to adapt the tax calculation and EDI code for invoices to work on bills as well. The most important ones are changing the operation type and allowing to use the account.move.send wizard to work with bills. Because this needs to change what `move_type`s an external tax calculator acts on, we take the opportunity to absorb those conditions into the `is_tax_computed_externally` field. It simplifies the logic a bit, and makes it easier to change based on the needs of the tax calculator. It means that every tax calculator is now responsible for marking the types of records they act on in a `_compute_is_tax_computed_externally` override. It's necessary because the move_type domain used to be part of the view in *external_tax*, it's not possible to add that check in the default `_compute_is_tax_computed_externally` because then every sale document would be considered eligible for external taxes. task-4608570
The Indian tax reports module now checks that GST numbers follow the required format before sending requests to GST, e-Invoice, and E-Waybill services. This reduces unnecessary external API calls and helps users receive clearer validation feedback when a GST number is invalid.
Original PR description
Currently, we only check if a GST number is present before making API calls for GST, e-Invoice, and E-Waybill services. This allows invalid GST numbers (such as single-character inputs), leading to unnecessary API calls and ambiguous error responses. This **PR** aims to ensure that only valid GST numbers, formatted according to GST specifications, are sent for API requests. **task**-4668014 **Community PR** - https://github.com/odoo/odoo/pull/207888
Resolved issues and error corrections
Shop floor users now see a cleaner workflow for untracked component moves: detailed move lines are hidden and quantity changes are made through an edit action. An undo option lets users reset the component reservation and picked status, reducing mistakes and making corrections easier during manufacturing.
Original PR description
For untracked component moves in the shop floor:
- No longer show move lines
- Show pencil button instead of add button, clicking opens edit quantity
- Apply sets picked (and passes check if applicable)
- No remove button, instead:
- Add an undo button to unreserve and reassign the move, and set picked to false (and sets quality status to none on check if applicable)
task-4760982Features or functions removed from Odoo
This cleanup removes an obsolete delay setting that is no longer used after a related platform update. It reduces maintenance overhead without changing customer-facing behavior.
Original PR description
In this commit we remove checkDelay from codebase because it is no longer used since https://github.com/odoo/odoo/pull/194508 has been merged.
Code cleanup and technical improvements
Asset draft entries are now processed through the scheduled job rather than being triggered directly. This aligns the process with normal background handling and helps ensure tests reflect how the system runs in production.
Original PR description
Instead of calling the method directly, use the cron to run it. Since the CRON job can commit, we need to run in test mode. odoo/odoo#199092
Miscellaneous changes
See also: odoo/odoo#208257 Forward-Port-Of: odoo/enterprise#84595
Original PR description
See also: odoo/odoo#208257 Forward-Port-Of: odoo/enterprise#84595
This check got removed by https://github.com/odoo/enterprise/commit/1f66777dc25e55f53338efb7314bb8de69c995a0 , then mistakenly reintroduced by https://github.com/odoo/enterprise/commit/6d53412ed12082d9bd55032def36892401d4b262 Forward-Port-Of: odoo/enterprise#84535
Original PR description
This check got removed by https://github.com/odoo/enterprise/commit/1f66777dc25e55f53338efb7314bb8de69c995a0 , then mistakenly reintroduced by https://github.com/odoo/enterprise/commit/6d53412ed12082d9bd55032def36892401d4b262 Forward-Port-Of: odoo/enterprise#84535
Forward-Port-Of: odoo/enterprise#84509 Forward-Port-Of: odoo/enterprise#80561
Original PR description
Forward-Port-Of: odoo/enterprise#84509 Forward-Port-Of: odoo/enterprise#80561
Version: - saas-17.4 Steps to reproduce: - Create request signature activity for sign request. - Try to send document for sign from activity. Issue: - It will give a traceback to user. Cause: - It will try to create a record for 'sign.request' model and in reference_doc field it was showing wrong value as we are not allowing to create reference_doc for 'sign.request' model. Solution: - Since reference_doc is not supported for 'sign.request', this fix adds a condition to explici
Original PR description
Version: - saas-17.4 Steps to reproduce: - Create request signature activity for sign request. - Try to send document for sign from activity. Issue: - It will give a traceback to user. Cause: - It will try to create a record for 'sign.request' model and in reference_doc field it was showing wrong value as we are not allowing to create reference_doc for 'sign.request' model. Solution: - Since reference_doc is not supported for 'sign.request', this fix adds a condition to explicitly skip setting it for that model task-4416253 Forward-Port-Of: odoo/enterprise#84729 Forward-Port-Of: odoo/enterprise#75611
If you have a company A that has a journal set up with bank synchronization, and a company B that is a branch of company A, you have access to the journal and the bank synchronization (account.online.link) of company A in company B. This causes an issue when fetching the transactions from the context of company B, as that will create the fetched transactions with a `company_id` set to B, which will cascade on the journal entries and items linked to these transactions. To ensure the correct
Original PR description
If you have a company A that has a journal set up with bank synchronization, and a company B that is a branch of company A, you have access to the journal and the bank synchronization…
If you have a company A that has a journal set up with bank synchronization, and a company B that is a branch of company A, you have access to the journal and the bank synchronization (account.online.link) of company A in company B. This causes an issue when fetching the transactions from the context of company B, as that will create the fetched transactions with a `company_id` set to B, which will cascade on the journal entries and items linked to these transactions. To ensure the correct company is set on the transactions, we force the company in the context when creating them. As a result: - When only company A is selected, transactions are correctly created in company A. - When both company are selected, no matter if the transactions are fetched from A or B, the transactions are correctly created in company A. - When only company B is selected, the user is faced with an access error, as Odoo is trying to open a view with the fecthed transaction, which belong to company A. To prevent this access error, it was decided that the "Fetch Transaction" buttons should not appear when the company owning the bank synchronization is not selected. A new computed field was then introduced on the account.online.account to check if we should allow fetching given the currenctly selected companies. That field is also added on the account.online.link as a logical conjunction of its account.online.account values of the field. These fields are then used to decide whether if we show the transaction fetching buttons on the dashboard and on the online link form view. Another issue with branches is the 'connect bank' button. With the same configuration as above, let's have companies A and B enabled, with B as the selected company. If you connect a bank to a journal belonging to company A by clicking on the 'connect bank' button on the dashboard, it will successfully connect, but the account.online.link will belong to company B. Then, if you try to access the accounting dashboard with only company A enabled, you will be faced with an access error, as the journal from company A tries to diplay informations computed with the above account.online.link of company B. To prevent this, we only make the 'connect bank' button appear if company A (i.e. the company owning the journal) is selected as the active company. This did not require a new field, and was done by adding an entry in the dashboard data. opw-4515862 Forward-Port-Of: odoo/enterprise#84694 Forward-Port-Of: odoo/enterprise#83134
How to reproduce: - Select a Belgian company - Create an invoice for a EU country - Add a line with no product - Display the intrastat report for the invoice period - Export the xml The default sql query allows the selection of account move lines with no product to be able to trigger a warning. Those lines are then filtered out when displayed in the web interface. Those lines were not filtered out when getting data for file exports. An error would trigger rendering the xml as the weight
Original PR description
How to reproduce: - Select a Belgian company - Create an invoice for a EU country - Add a line with no product - Display the intrastat report for the invoice period - Export the xml The default sql query allows the selection of account move lines with no product to be able to trigger a warning. Those lines are then filtered out when displayed in the web interface. Those lines were not filtered out when getting data for file exports. An error would trigger rendering the xml as the weight would be None where an integer is required. This commit adds a condition to only select move lines with a product_id when querying data for a file. Task 4763185 See opw-4671512, opw-4735439, opw-4642781 Forward-Port-Of: odoo/enterprise#84635 Forward-Port-Of: odoo/enterprise#84517
The exception for the second trimester for 2024 has been redone for 2025. task-4734827 Forward-Port-Of: odoo/enterprise#84300 Forward-Port-Of: odoo/enterprise#84024
Original PR description
The exception for the second trimester for 2024 has been redone for 2025. task-4734827 Forward-Port-Of: odoo/enterprise#84300 Forward-Port-Of: odoo/enterprise#84024
### Issue: If `l10n_br_avatax` is installed, portal users are not able to view any products via the shop on a Website. An inherited field's domain requires access to the `city_id` from the Website's company's `res.partner` record, but Portal users cannot access this. This is only an issue on 18.2+, as this value was originally stored in the field cache due to a separate workflow in previous versions. Previously, opening a product would trigger `_compute_fiscal_position_id`, which would event
Original PR description
### Issue: If `l10n_br_avatax` is installed, portal users are not able to view any products via the shop on a Website. An inherited field's domain requires access to the `city_id` from the Website's…
### Issue: If `l10n_br_avatax` is installed, portal users are not able to view any products via the shop on a Website. An inherited field's domain requires access to the `city_id` from the Website's company's `res.partner` record, but Portal users cannot access this. This is only an issue on 18.2+, as this value was originally stored in the field cache due to a separate workflow in previous versions. Previously, opening a product would trigger `_compute_fiscal_position_id`, which would eventually call `_compute_address`. `_compute_address` contains a sudo, allowing the retrieval of the address fields (like `city_id`) and would store them in cache. The domain would be able to retrieve from the cache rather than needing to fetch the values. In 18.2, the `fiscal_position` workflow was refactored, and the address fields are no longer stored in cache for the domain `_l10n_br_property_service_code_origin_id_domain` to access prior to hitting any security limits. ### Solution: We should be safe to `sudo` the `city_id`, allowing the domain to complete. opw-4732256 Forward-Port-Of: odoo/enterprise#84140
A `CheckViolation` traceback occurs when uploading an XML file that lacks the `Nombre` attribute. **Steps to Reproduce:** - Install `l10n_mx_edi` module - Navigate to `Accounting>Vendors>bills` try to upload [this](https://drive.google.com/file/d/1DRON2ftkDhwASqy_OFi9FtUNj7tODyKm/view?usp=sharing) `[demo file]` **Error:** `CheckViolation: new row for relation 'res_partner' violates check constraint 'res_partner_check_name'` **Root Cause:** - The `Nombre` attribute in the XML file is
Original PR description
A `CheckViolation` traceback occurs when uploading an XML file that lacks the `Nombre` attribute. **Steps to Reproduce:** - Install `l10n_mx_edi` module - Navigate to `Accounting>Vendors>bills` try…
A `CheckViolation` traceback occurs when uploading an XML file that lacks the `Nombre` attribute. **Steps to Reproduce:** - Install `l10n_mx_edi` module - Navigate to `Accounting>Vendors>bills` try to upload [this](https://drive.google.com/file/d/1DRON2ftkDhwASqy_OFi9FtUNj7tODyKm/view?usp=sharing) `[demo file]` **Error:** `CheckViolation: new row for relation 'res_partner' violates check constraint 'res_partner_check_name'` **Root Cause:** - The `Nombre` attribute in the XML file is missing, which results in the `name` field being set to `None` at [1] in the `partner_vals` dictionary. [1]- https://github.com/odoo/enterprise/blob/1d06bf93a2be03e969a5fce134b7323a70b2aef1/l10n_mx_edi/models/account_move.py#L2504 - The `res.partner` model has a database constraint (**res_partner_check_name**) that requires the `name` field to be non-null. When attempting to create a `partner` with a None value for `name`, the database raises a **CheckViolation error**. **Solution:** - Added a check in the `_l10n_mx_edi_import_cfdi_fill_partner` method to handle cases where the `Nombre` attribute is missing. - This prevents the creation of a partner with an invalid `name` field and avoids the **CheckViolation error**. sentry- 6546905710 Forward-Port-Of: odoo/enterprise#83776
In GSTR-2B, while doing the matching for previous bills, we want to avoid The bills that are already reconciled and marked as partially matched or fully matched. Sometimes, it's possible that there can be more than one bill with the same The reference number and if any of them has been already reconciled then We want to avoid it again being reconciled in next return periods. opw-4744438 Forward-Port-Of: odoo/enterprise#84573 Forward-Port-Of: odoo/enterprise#84497
Original PR description
In GSTR-2B, while doing the matching for previous bills, we want to avoid The bills that are already reconciled and marked as partially matched or fully matched. Sometimes, it's possible that there can be more than one bill with the same The reference number and if any of them has been already reconciled then We want to avoid it again being reconciled in next return periods. opw-4744438 Forward-Port-Of: odoo/enterprise#84573 Forward-Port-Of: odoo/enterprise#84497
Following this commit : - Aggregator name is displayed on KOT i.e Ubereats,Zomato etc. - Since it is an online order, instead of Dine In/ Take out , Delivery/Online should be displayed. - Preparation time is also displayed. Community PR: https://github.com/odoo/odoo/pull/202003 task-4633156 Forward-Port-Of: odoo/enterprise#84671 Forward-Port-Of: odoo/enterprise#81559
Original PR description
Following this commit : - Aggregator name is displayed on KOT i.e Ubereats,Zomato etc. - Since it is an online order, instead of Dine In/ Take out , Delivery/Online should be displayed. - Preparation time is also displayed. Community PR: https://github.com/odoo/odoo/pull/202003 task-4633156 Forward-Port-Of: odoo/enterprise#84671 Forward-Port-Of: odoo/enterprise#81559
Apply the HSN schema based on the 'l10n_in_reports.hsn_new_schema_apply_date' system parameter. If the parameter is missing or invalid, default to 2025-05-01 as per government guidelines. Forward-Port-Of: odoo/enterprise#84825 Forward-Port-Of: odoo/enterprise#84745
Original PR description
Apply the HSN schema based on the 'l10n_in_reports.hsn_new_schema_apply_date' system parameter. If the parameter is missing or invalid, default to 2025-05-01 as per government guidelines. Forward-Port-Of: odoo/enterprise#84825 Forward-Port-Of: odoo/enterprise#84745
Steps to Reproduce: 1. Install industry_fsm_sale module. 2. Create a SO with at least one SOL. 3. Save the record. 4. Delete the line, then click the Catalog button without saving. Issue: - An error occurs indicating a missing record. Cause: - The action_add_from_catalog method is accessing self.task_id, but self still includes the deleted SOL, which no longer exists. As a result, accessing its fields raises an error. Fix: - Move the action_add_from_catalog method to the
Original PR description
Steps to Reproduce: 1. Install industry_fsm_sale module. 2. Create a SO with at least one SOL. 3. Save the record. 4. Delete the line, then click the Catalog button without saving. Issue: - An error occurs indicating a missing record. Cause: - The action_add_from_catalog method is accessing self.task_id, but self still includes the deleted SOL, which no longer exists. As a result, accessing its fields raises an error. Fix: - Move the action_add_from_catalog method to the sale.order model, which is the appropriate place to handle this logic, ensuring the method doesn't depend on potentially stale or deleted lines. opw-4760487 Forward-Port-Of: odoo/enterprise#84414
Commit https://github.com/odoo/enterprise/commit/66ec6f497d1adfdffae6840899d08c168f6ab63a links particular BE disallowed expense categories to accounts and makes a vehicle required when using those accounts. The dependencies of `l10n_be_account_disallowed_expenses_fleet` did not ensure the creation of the Belgian expense categories. Fix --- Add `l10n_be_disallowed_expenses` as a dependency of `l10n_be_account_disallowed_expenses_fleet` Solves Runbot-181948 Forward-Port-Of: odoo/enterpr
Original PR description
Commit https://github.com/odoo/enterprise/commit/66ec6f497d1adfdffae6840899d08c168f6ab63a links particular BE disallowed expense categories to accounts and makes a vehicle required when using those accounts. The dependencies of `l10n_be_account_disallowed_expenses_fleet` did not ensure the creation of the Belgian expense categories. Fix --- Add `l10n_be_disallowed_expenses` as a dependency of `l10n_be_account_disallowed_expenses_fleet` Solves Runbot-181948 Forward-Port-Of: odoo/enterprise#84282
17 changes
New functionality added to Odoo
Adds support for Colombian mandate invoices in electronic invoicing, including product settings and the required invoice XML details. This helps businesses in Colombia issue compliant mandate-related invoices through Odoo.
Original PR description
Extension of l10n_co_edi to allow creation of mandate invoices. - Adding mandate-related fields for product_template. - Adding relevant EDI XML section for mandate products. Task [link](https://www.odoo.com/odoo/project/967/tasks/4302423) task-4302423
Enhancements to existing features
Financial report settings now show the integer rounding option directly in the report options. This makes the setting easier to discover and use without needing technical knowledge or code inspection.
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
Resolved issues and error corrections
This fixes an error that could occur when preparing a UK CIS monthly return before all options were set. The change adds a safe default so the form can load and update reliably, reducing interruptions for users completing compliance reporting.
Original PR description
when the option is not set key error is raised , this due to when onchange is called the default value is not set but being also called with empty option build_error-107919
Fixed a rounding mismatch in Mexican electronic invoices for external trade when product prices use more than two decimal places. This prevents valid USD invoices from being rejected during CFDI validation because line totals and invoice totals no longer disagree.
Original PR description
Steps to reproduce: - Raise Product Price Accuracy to 6 - Set Global Rounding - Fetch latest currency rate for USD from Bank of Mexico - Create a [TEST] Product with: - UNSPSC Category: 12141502…
Steps to reproduce: - Raise Product Price Accuracy to 6 - Set Global Rounding - Fetch latest currency rate for USD from Bank of Mexico - Create a [TEST] Product with: - UNSPSC Category: 12141502 Magnesium Mg - UMT Aduana: kg - Make an Invoice as follows: - Customer: Deco Addict - Currency USD - Product: [TEST] - Price: 3,114.515000 - Qty UMT: 11 - Incoterm: EX WORKS - External Trade: Definitive - Confirm Invoice - Send CFDI Issue: Validation will fail with error """ Code : CCE122 Message : El atributo cce20:ComercioExterior:TotalUSD no coincide con la suma de ValorDolares de las mercancías. """ In the xml, the ValorDolares for the sold item will be 3114.5150 but the attribute TotalUSD will be 3114.52 This occurs because ValorDolares are emitted as unrounded amount, but TotalUSD is rounded to 2 decimals. When working with 3+ digits the amounts might not add up correctly. Note: Before version 18, ValorDolares (`product_values['total']`) amount was already rounded according to the currency decimals (2) and there was no issue opw-4662692 opw-4686226
Batch payments without linked accounting entries now use the correct company-currency conversion during bank reconciliation. This prevents misleading debit and credit amounts when matching foreign-currency vendor batch payments, improving accuracy for accounting teams.
Original PR description
Steps to reproduce: - Activate foreign currency EUR (main company in USD) - Have a Bank journal in EUR - Create one Vendor "Send" payment of 100 EUR - Create a new Vendor batch payment and add the payment. - Open EUR Bank and register an outgoing transaction of 100 EUR - Match the transaction with the Batch payment Issue: Looking at the debit/credit columns it can be seen that the transaction amount is properly converted in company currency, but the batch amount is not converted (rate 1.00) This occurs because when the payments in a batch don't have an associated move, the amount residual is converted from payment currency (EUR) to batch currency (still EUR) and not company currency (USD) opw-4656807
The update makes automated spreadsheet document tests more dependable by searching directly for the needed folder instead of relying on where it appears in the folder list. This reduces random test failures and helps keep quality checks stable without changing user-facing behavior.
Original PR description
Sometimes, when opening the documents folder, test folder is hidden on a second page, even if we open a parent folder first. With this fix, we search for the folder directly through search bar, eliminating undeterminism from the test.
The UK CIS report now rounds total payments and materials costs to whole pounds. This ensures the report values match HMRC requirements, so businesses can submit valid CIS returns.
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
Budget reports can now open correctly when a purchase order line has no value but is linked only to a credit note, creating a negative invoiced quantity. This prevents an error that could block users from viewing budget information in that edge case.
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
The Accounting Reports interface now keeps the tax report cog menu visible on narrower screens or when users zoom in. This helps users access options such as the Argentine VAT Book ZIP export without needing to adjust browser width or zoom.
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
Uploading a file from a shared Documents folder now attaches it to the specific request the user selected. This prevents files from being incorrectly added to another available folder or request when multiple upload options are present.
Original PR description
Step to reproduce : - Create a folder with a sub folder and a request or two requests. - Share the parent folder with edit permission to anyone. - Go to the public folder view. - Upload a file for the last request document. - The file will be uploaded to the first editable folder/request found. This was due to a hidden form tag to upload file to sub folders which was using the same class as the one used by the request documents (o_request_upload). Using class instead of id also means that it wasn't possible to share more than one request document. Task-4718126
Miscellaneous changes
This commit removes the demo data for portal user as a portal user cannot be assigned to tasks. taskid:3703637 Forward-Port-Of: odoo/enterprise#81826 Forward-Port-Of: odoo/enterprise#56588
Original PR description
This commit removes the demo data for portal user as a portal user cannot be assigned to tasks. taskid:3703637 Forward-Port-Of: odoo/enterprise#81826 Forward-Port-Of: odoo/enterprise#56588
In the community PR, we have used the timesheet_view_form_portal_user form view for the portal user. To ensure that the status bar is not visible to the portal user, we added a group restriction. An alternative approach would be to hide the status bar based on context, but I did not find it suitable. Therefore, we opted to use the group restriction. task-3969988 Forward-Port-Of: odoo/enterprise#74760
Original PR description
In the community PR, we have used the timesheet_view_form_portal_user form view for the portal user. To ensure that the status bar is not visible to the portal user, we added a group restriction. An alternative approach would be to hide the status bar based on context, but I did not find it suitable. Therefore, we opted to use the group restriction. task-3969988 Forward-Port-Of: odoo/enterprise#74760
Add in missing modules to tx/config where their pots were auto-added by the pot export sync. Note that new pot files that were only for model names (i.e. not user facing) are usually bridge modules with nothing to translate => they weren't added to the config file
Original PR description
Add in missing modules to tx/config where their pots were auto-added by the pot export sync. Note that new pot files that were only for model names (i.e. not user facing) are usually bridge modules with nothing to translate => they weren't added to the config file
Steps --------- 1. Have `accountant` and `account_accountant` installed 2. Set up an online bank -> see Odoofin steps on Knowledge 3. Set another user's access group to `Advanced Billing` for accounting 4. Login as that user and access the accounting app -> Access error for account.online.link Problem --------- Advanced billing should have access to the dashboard due to its role. The group `group_account_readonly` has read access to the model, as suggested by its name. However, the gro
Original PR description
Steps --------- 1. Have `accountant` and `account_accountant` installed 2. Set up an online bank -> see Odoofin steps on Knowledge 3. Set another user's access group to `Advanced Billing` for accounting 4. Login as that user and access the accounting app -> Access error for account.online.link Problem --------- Advanced billing should have access to the dashboard due to its role. The group `group_account_readonly` has read access to the model, as suggested by its name. However, the group `group_account_basic` does not have any access. Solution --------- Add 2 access rules on `account.online.link` that allows a Advanced billing user to see (and only see) those records. Note that it does not change anything for `group_account_user` which inherits both from `group_account_readonly` and `group_account_basic`, since it already had readonly access thanks to the first aforementioned. task-4731654 Forward-Port-Of: odoo/enterprise#83889
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#84851
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#84851
Currently, an empty partner ref in an FEC line could incorrectly match a partner with an empty ref. This fix ensures that only non-empty refs are considered when processing FEC files. Steps to reproduce: 1. Install the `l10n_fr_fec_import` module. 2. Create a contact and set its ref to an empty string (`""`). 3. Import an FEC file containing lines without `CompAuxNum`. 4. The created contact will be incorrectly assigned to all lines without `CompAuxNum`. opw-4592290 Forward-Port-O
Original PR description
Currently, an empty partner ref in an FEC line could incorrectly match a partner with an empty ref. This fix ensures that only non-empty refs are considered when processing FEC files. Steps to reproduce: 1. Install the `l10n_fr_fec_import` module. 2. Create a contact and set its ref to an empty string (`""`). 3. Import an FEC file containing lines without `CompAuxNum`. 4. The created contact will be incorrectly assigned to all lines without `CompAuxNum`. opw-4592290 Forward-Port-Of: odoo/enterprise#84855 Forward-Port-Of: odoo/enterprise#81676
In 65576b109249fbb0f111f57b42d48940a46f63db we added schema files to mock the l10n_ar_edi services. But their filenames contained `?` which is not a valid filename character on Windows. As a result, users cannot pull the repository on Windows anymore. This commit removes the `?` character from the filenames. task-none Forward-Port-Of: odoo/enterprise#84852
Original PR description
In 65576b109249fbb0f111f57b42d48940a46f63db we added schema files to mock the l10n_ar_edi services. But their filenames contained `?` which is not a valid filename character on Windows. As a result, users cannot pull the repository on Windows anymore. This commit removes the `?` character from the filenames. task-none Forward-Port-Of: odoo/enterprise#84852