Monday, June 2, 2025
25 changes · saas-18.2
Resolved issues and error corrections
A country-specific payroll localization was excluded from a broad accounting localization test because it was causing the test suite to fail. This keeps automated checks stable while the underlying localization issue can be handled separately, reducing disruption to development and releases.
Original PR description
The `all_l10n` standalone test started to fail on 2025-06-01 when installing `l10n_in_hr_payroll`.
The document action menu no longer shows Export or Insert in spreadsheet when they are not relevant for the selected document. This reduces confusion and helps users focus on the actions that actually apply in Documents.
Original PR description
Before this commit: - Select any document. - Click the SERVER ACTIONS cog menu. - You will find the menus --> `Export` and `Insert in spreadsheet` Issue: - These are not required here. Reason: - A recent PR (https://github.com/odoo/enterprise/pull/77329) changed how certain server actions are displayed when a document is selected. Fix: - We override the function returning the Dropdown Items to display and simply pop the ones we don't need. Task-4743029
Invalid demonstration data in the India payroll module was disabled so localization tests can complete successfully. This helps keep payroll-related installations stable without changing business functionality for users.
Original PR description
The `all_l10n` standalone test started to fail on 2025-06-01 when installing `l10n_in_hr_payroll`. A first attempt was made to blacklist the module in the test itself. This attemps failed as the module is auto_install on `hr_payroll` and most of `l10n_hr*` modules depend on `hr_payroll`.
Corrected an internal test expectation for the Appointment HR module so automated checks pass reliably. This helps keep future updates moving smoothly without affecting day-to-day user workflows.
Original PR description
Fix odoo/enterprise#86141, which was the forward port of odoo/enterprise#86116. As there was no conflict it was forwarded as it, but actually the "+1" query count was not done (the change was considered as useless as it was already in the code, but actually we had to do this +1 query count), making tests still failing.
Miscellaneous changes
### Before this PR The PUSH notifications on Edge PWA are not working. This is caused by the TTL 0 . Edge PUSH are not working if TTL 0 is used. ### After This PR I set the TTL to 1. It is a tricky way to make it work on Edge and also other browser. It is 1 seconds instead of 0(that means only if the browser is connected) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#211074 Forward-Port-Of: odoo/odoo#199943
Original PR description
### Before this PR The PUSH notifications on Edge PWA are not working. This is caused by the TTL 0 . Edge PUSH are not working if TTL 0 is used. ### After This PR I set the TTL to 1. It is a tricky way to make it work on Edge and also other browser. It is 1 seconds instead of 0(that means only if the browser is connected) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#211074 Forward-Port-Of: odoo/odoo#199943
Added `no_create` option to the `pos_rounding_method` field to enforce use of predefined `cash.rounding.method` form, avoiding bypass of required Profit & Loss accounts setup (which cause some issue when trying to cash in/out in POS or when trying to close the session). task-id: 4805617 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#211403
Original PR description
Added `no_create` option to the `pos_rounding_method` field to enforce use of predefined `cash.rounding.method` form, avoiding bypass of required Profit & Loss accounts setup (which cause some issue when trying to cash in/out in POS or when trying to close the session). task-id: 4805617 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#211403
When changing the website view of the events from grid to list, we are losing the "Sold out, Unpublished, etc" information that was displayed on the card. This is due to loading the event calendar date widget before the rest of the elements which is provoking them to not properly load. opw-4597647 ## Before:  ## After:  ## After:  Forward-Port-Of: odoo/odoo#199830
Before this commit, when the user clicks on `Make Billable` stat button displayed in the project form view when there is not yet any SO set on that project and directly confirm the SO, a user error is raised because the SO is already confirmed after executing confirm action of that button clicked. The reason is because in that case, the SO is automatically confirmed during the creation of that SO which means the action_confirm could be called 2 times in that use case, one during the save (creati
Original PR description
Before this commit, when the user clicks on `Make Billable` stat button displayed in the project form view when there is not yet any SO set on that project and directly confirm the SO, a user error…
Before this commit, when the user clicks on `Make Billable` stat button displayed in the project form view when there is not yet any SO set on that project and directly confirm the SO, a user error is raised because the SO is already confirmed after executing confirm action of that button clicked. The reason is because in that case, the SO is automatically confirmed during the creation of that SO which means the action_confirm could be called 2 times in that use case, one during the save (creation) and another one because the user clicks on `Confirm` button. This commit makes sure the action_confirm does nothing if the SO is already confirmed and we are in the context in which the user creates the SO via the stat button in project. Steps to reproduce ------------------ 0. install sale_project or sale_timesheet modules 1. Go to Projects > Confirmation > Projects 2. Click on `New` button to create a new project 3. Enable `Billable` feature if it is not already the case by default 4. Add a customer to the project 5. Click on `Make Billable` stat button 6. Add a service product on the SO to create 7. Click on `Confirm` button. Expected behavior ----------------- The SO should be created and confirmed without any issues Current Behavior ---------------- A user error is raised because the SO is already confirmed before executing the action for the button clicked. task-4781751 Forward-Port-Of: odoo/odoo#209259
**Current behavior before PR:** Push notifications are shown even when the user is already viewing the same conversation in the Discuss app or in the ChatWindow. The Service Worker does not currently check whether the conversation is focused, leading to redundant and unnecessary notifications. **Desired behavior after PR is merged:** The Service Worker now intelligently checks the state of the Discuss and ChatWindow before displaying push notifications. Notifications are only shown
Original PR description
**Current behavior before PR:** Push notifications are shown even when the user is already viewing the same conversation in the Discuss app or in the ChatWindow. The Service Worker does not currently…
**Current behavior before PR:** Push notifications are shown even when the user is already viewing the same conversation in the Discuss app or in the ChatWindow. The Service Worker does not currently check whether the conversation is focused, leading to redundant and unnecessary notifications. **Desired behavior after PR is merged:** The Service Worker now intelligently checks the state of the Discuss and ChatWindow before displaying push notifications. Notifications are only shown when the user is not actively focused on the same conversation. The updated logic ensures: - Chat bubble minimized and tab focused → Show - Chat window open, tab focused, but a conversation not focus → Suppress - Chat window open, tab focused, the conversation is focused → Suppress This behavior is achieved by the Service Worker sending a message to the client window to get the active thread and its focus status before deciding whether to show a notification. This results in a cleaner user experience by avoiding redundant alerts when they’re not needed. task-[4582533](https://www.odoo.com/odoo/my-tasks/4582533) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212469 Forward-Port-Of: odoo/odoo#206800
Description ----------- Upon importing contracts, in `_recompute_work_entries`, a wizard is created where we set the employee and a timeframe. The field `employee_ids` is a stored `Many2many` and upon reading its content, an active test is performed in `convert_to_record`, meaning that if the employee is archived, reading `employee_ids` would yield `[]`. This is problematic in `regenerate_work_entries` which therefore will search and write on *all* work entries in the timeframe, since readi
Original PR description
Description ----------- Upon importing contracts, in `_recompute_work_entries`, a wizard is created where we set the employee and a timeframe. The field `employee_ids` is a stored `Many2many` and upon reading its content, an active test is performed in `convert_to_record`, meaning that if the employee is archived, reading `employee_ids` would yield `[]`. This is problematic in `regenerate_work_entries` which therefore will search and write on *all* work entries in the timeframe, since reading `employee_ids` returns an empty list -> all employees. This commit adds a context key to take archived records when regenerating work entries. Reference --------- opw-4813590 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212117 Forward-Port-Of: odoo/odoo#211748
Currently, an error occurs when the replenish wizard is unable to find the default 'Buy' route, which the user may have deleted. Steps to produce: - Install the `purchase_stock` module. - Activate `Multi-Step Routes` from Settings. - Navigate to `Inventory > Configuration > Warehouse Management > Routes (list)`. - Delete the `Buy` route record. - Create a new product without adding vendors or defining routes. - Click on the `Replenish` button. - Observe the error. `AttributeError: '
Original PR description
Currently, an error occurs when the replenish wizard is unable to find the default 'Buy' route, which the user may have deleted. Steps to produce: - Install the `purchase_stock` module. - Activate…
Currently, an error occurs when the replenish wizard is unable to find the default 'Buy' route, which the user may have deleted. Steps to produce: - Install the `purchase_stock` module. - Activate `Multi-Step Routes` from Settings. - Navigate to `Inventory > Configuration > Warehouse Management > Routes (list)`. - Delete the `Buy` route record. - Create a new product without adding vendors or defining routes. - Click on the `Replenish` button. - Observe the error. `AttributeError: 'NoneType' object has no attribute 'id'` The issue occurs when attempting to access the `id` of the 'Buy' route `purchase_stock.route_warehouse0_buy` - [1], without verifying if it exists. If this route is missing, `self.env.ref(...)` returns `None` which leads to an `AttributeError`. This commit resolves the issue by checking whether the `purchase_stock.route_warehouse0_buy` route exists before attempting to access its `id`. This prevents errors when the route is missing. [1] - https://github.com/odoo/odoo/blob/58f4b01dda6ba2e67c21663399aab1c189f4a312/addons/purchase_stock/wizard/product_replenish.py#L108 Sentry-6275025957 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#196959
Required for fixes in 18.0+ branches Forward-Port-Of: odoo/odoo#212403
Original PR description
Required for fixes in 18.0+ branches Forward-Port-Of: odoo/odoo#212403
Scenario: add a mega menu, in mobile scroll to not be at top of page, and click to open hamburger menu then click to open mega menu content. Result: the mega menu is mostly shown thanks to 579160b08c6e73d809be79f561214118f1284532 but a small part at the bottom is inaccessible. Reason: the height needs to take into account the margin bottom so it can be shown fully on the page. Fix: add a calc to remove the height of the margin-top. opw-4737577 opw-4737823 opw-4738673 __PR NO
Original PR description
Scenario: add a mega menu, in mobile scroll to not be at top of page, and click to open hamburger menu then click to open mega menu content. Result: the mega menu is mostly shown thanks to…
Scenario: add a mega menu, in mobile scroll to not be at top of page,
and click to open hamburger menu then click to open mega menu content.
Result: the mega menu is mostly shown thanks to
579160b08c6e73d809be79f561214118f1284532 but a small part at the bottom
is inaccessible.
Reason: the height needs to take into account the margin bottom so it
can be shown fully on the page.
Fix: add a calc to remove the height of the margin-top.
opw-4737577
opw-4737823
opw-4738673
__PR NOTE__: I'm not sure if all browser support of using calc with different units (maybe I'm confusing it with some less calculation), if the solution was not acceptable for that, the only other way I see to solve this, would be to put "position: relative" to the `#top_menu_collapse_mobile .offcanvas-body` element and let the mega menu take the whole space, i.e. something like that:
```diff
diff --git a/addons/website/static/src/scss/website.scss b/addons/website/static/src/scss/website.scss
index 16fdd05e006f..05c9dbbc88cd 100644
--- a/addons/website/static/src/scss/website.scss
+++ b/addons/website/static/src/scss/website.scss
@@ -1629,6 +1629,9 @@ header {
}
// Offcanvas mega menu on mobile or in sidebar/hamburger header
+#top_menu_collapse_mobile .offcanvas-body {
+ position: relative;
+}
.o_mega_menu_is_offcanvas {
.o_mega_nav, .o_mega_menu {
@include transition(opacity $offcanvas-transition-duration ease-in-out, visibility $offcanvas-transition-duration ease-in-out);
@@ -1664,7 +1667,6 @@ header {
inset: 0 0 0 auto !important;
display: block;
visibility: hidden;
- margin-top: $o-mega-menu-nav-height !important;
border: none;
max-height: 100vh;
background-color: o-color('menu-custom') or o-color('menu');
```
Forward-Port-Of: odoo/odoo#207013Login in a database where utm is installed, so you get a session in that database. Now go to /web/database/manager and create a new empty db, the installation completes but you get an Internal Server Error message, in the logs a traceback: UTM is not installed. The problem is that once the new database has been created, the user automatically gets a new logged-in session inside that new database, but the environment of the original request got (wrongly) updated too, so later on when the reque
Original PR description
Login in a database where utm is installed, so you get a session in that database. Now go to /web/database/manager and create a new empty db, the installation completes but you get an Internal Server Error message, in the logs a traceback: UTM is not installed. The problem is that once the new database has been created, the user automatically gets a new logged-in session inside that new database, but the environment of the original request got (wrongly) updated too, so later on when the request wraps up, we are no longer using the same environment/registry as at the begining of the request and the http stack fails. Solution: only update the request env if the new env is on the same database. Btw, the original implementation with httpocalypse got that part right, but when we did f63c0f4 a few years later we couldn't remember why the `if request.db == dbname` was needed and we decided to remove it, turns out it is indeed needed. Forward-Port-Of: odoo/odoo#200145
**Problem:** when in a bar/restaurant point of sale if the tip is added after the payment the total amount and remaining amount are not correct **Steps to reproduce:** - Navigate to Point of Sale/Configuration/Point of Sale - Create a new point of sale - In settings, activate the setting "Is a Bar/Restaurant" for this point of sale - Acivate the setting "Tips" for this point of sale - make sure the cash payment method is available for this point of sale - in Point of Sales/Dashboard
Original PR description
**Problem:** when in a bar/restaurant point of sale if the tip is added after the payment the total amount and remaining amount are not correct **Steps to reproduce:** - Navigate to Point of…
**Problem:** when in a bar/restaurant point of sale if the tip is added after the payment the total amount and remaining amount are not correct **Steps to reproduce:** - Navigate to Point of Sale/Configuration/Point of Sale - Create a new point of sale - In settings, activate the setting "Is a Bar/Restaurant" for this point of sale - Acivate the setting "Tips" for this point of sale - make sure the cash payment method is available for this point of sale - in Point of Sales/Dashboard clik on open regiser for the new point of sale - Create a new order, select a product, click on payment - Select cash, on enter an amount over the total value - Click on Tip, and select Ok (the default amount should be the difference between the total and the cash amount you entered **Current behavior:** The Amount of cash has been increased by the amount of the tip **Expected behavior:** The cash amount shouldn't be impacted by the tip **Cause of the issue:** When adding the tip inside the addTip method, when settip is triggered, the tip is added as a new PosOrderLine inside the order https://github.com/odoo/odoo/blob/68940a80a64cd81679ad94d488623a471e2c926f/addons/point_of_sale/static/src/app/services/pos_store.js#L636 which modifies total due amount Then the Pos Payment amount is modified https://github.com/odoo/odoo/blob/68940a80a64cd81679ad94d488623a471e2c926f/addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.js#L248 which should not happen when the tip is smaller or equal to the remaining amount (if you by something worth 15 ,give 20 euros and add a 5 euros tip, the payment amount should stay 20) **Fix:** There is 3 cases. Case 1: the remaining is negative, then if a tip is added it should increase the payment amount Case 2: the remaining is positive (meaning the client paid more than total due) and the tip is lower or equal to the remaining, then the payment amount should not increase Case3: the remaining is positive and the tip is higher than the remaining, the payment amount should be increased by the difference between tip and remaining opw-4721864 Forward-Port-Of: odoo/odoo#207030
Steps to reproduce ================== - Use a mobile device/viewport - Go to any record with a chatter - Click on Log note - Expand the composer - Click on the template dropdown - Save the current content as a template with a long name - Open the dropdown again => The dropdown is almost entirely off screen Cause of the issue ================== The Dropdown component uses the usePosition hook. It works by doing the following: - It tries the fit the content using the position
Original PR description
Steps to reproduce ================== - Use a mobile device/viewport - Go to any record with a chatter - Click on Log note - Expand the composer - Click on the template dropdown - Save the current content as a template with a long name - Open the dropdown again => The dropdown is almost entirely off screen Cause of the issue ================== The Dropdown component uses the usePosition hook. It works by doing the following: - It tries the fit the content using the position props (or it's default value) - If it doesn't fit, it tries the four other corners - If it's still doesn't fit, it gives up and uses the first one again Solution ======== Since we cannot show too much content inside a dropdown, we set a max-width on the dropdown content, and truncate the template names. Another possibility would be to allow an horizontal overflow. opw-4675320 opw-4674341 opw-4656725 Forward-Port-Of: odoo/odoo#211143 Forward-Port-Of: odoo/odoo#208383
**Current behavior before PR:** Link Preview is deletable for only editable messages **Desired behavior after PR is merged:** Link Preview will be deletable for all messages task-[4690326](https://www.odoo.com/odoo/all-tasks/4690326) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212488 Forward-Port-Of: odoo/odoo#208828
Original PR description
**Current behavior before PR:** Link Preview is deletable for only editable messages **Desired behavior after PR is merged:** Link Preview will be deletable for all messages task-[4690326](https://www.odoo.com/odoo/all-tasks/4690326) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212488 Forward-Port-Of: odoo/odoo#208828
## Steps to reproduce: - Create a SO from sales, and don't confirm it - Enable 'Allow Ship Later' in PoS - From PoS, settle the SO, with "Ship Later" option ## Observed behavior: From the inventory app -> Delivery orders, we can see that 2 pickings for this order have been created, one for the original SO order, and another one for the PoS order. Both of them are in state 'confirmed', i.e. "Ready". ## Expected behavior: The original SO picking should have been cancelled, i.e. in st
Original PR description
## Steps to reproduce: - Create a SO from sales, and don't confirm it - Enable 'Allow Ship Later' in PoS - From PoS, settle the SO, with "Ship Later" option ## Observed behavior: From the inventory…
## Steps to reproduce: - Create a SO from sales, and don't confirm it - Enable 'Allow Ship Later' in PoS - From PoS, settle the SO, with "Ship Later" option ## Observed behavior: From the inventory app -> Delivery orders, we can see that 2 pickings for this order have been created, one for the original SO order, and another one for the PoS order. Both of them are in state 'confirmed', i.e. "Ready". ## Expected behavior: The original SO picking should have been cancelled, i.e. in state 'cancel', and only the PoS picking should be "Ready". ## Why that happens: When settling the SO from PoS, that will create a new order from PoS with its associated PoS picking. While doing that, we also confirm the original SO [1], changing its state from 'draft' to 'sale', and that will create a move and a picknig associated with that SO, both in state 'confirmed'. So at this point, we're heading toward having 2 pickings, one from the PoS order and the other from the SO, both in state 'confirmed', which is undesired! What we want is having the SO's picking in state 'cancel', and the picking from PoS in state 'confirmed' (since we have settled the order from PoS). To achieve this behavior, we check if the quantity delivered on the SO (i.e. `so_line.qty_delivered`) compensates for the qty that should be deliverd, i.e. for `so_line.product_uom_qty` [2], and if so, we cancel the SO picking ([3], [4]). However, if the order is "ship later", the `so_line.qty_delivered` will be 0 at first, and will only get updated when the picking has indeed being shipped [5], resulting in `new_qty` always being a positive number, and hence also the `product_uom_qty` on the SO pikcing [6], meanign that the SO picking will not qualify to be cancelled. ## The fix: Now, in the computation of `new_qty`, we don't only compare `so_line.product_uom_qty` with what quantity has indeed been delivered (i.e. `so_line.qty_delivered`), but also with the quantity that is expected to be delivered later (i.e. `get_expected_qty_to_ship_later`). [1]: https://github.com/odoo/odoo/blob/af6dcd70917b18d2d23406a14a948b603f4adfa7/addons/pos_sale/models/pos_order.py#L74 [2]: https://github.com/odoo/odoo/blob/af6dcd70917b18d2d23406a14a948b603f4adfa7/addons/pos_sale/models/pos_order.py#L88 [3]: https://github.com/odoo/odoo/blob/af6dcd70917b18d2d23406a14a948b603f4adfa7/addons/pos_sale/models/pos_order.py#L95 [4]: https://github.com/odoo/odoo/blob/af6dcd70917b18d2d23406a14a948b603f4adfa7/addons/pos_sale/models/pos_order.py#L103-L104 [5]: https://github.com/odoo/odoo/blob/af6dcd70917b18d2d23406a14a948b603f4adfa7/addons/pos_sale/models/sale_order.py#L57 [6]: https://github.com/odoo/odoo/blob/af6dcd70917b18d2d23406a14a948b603f4adfa7/addons/pos_sale/models/pos_order.py#L94 opw-4375941 opw-4457592 opw-4490398 opw-4628515 opw-4599490 Forward-Port-Of: odoo/odoo#212460 Forward-Port-Of: odoo/odoo#197031
- Updated UK localization template handling to avoid automatic recreation of accounts, taxes, and fiscal positions when upgrading. - Added `force_create = "0"` parameter to `try_loading` to ensure that existing configurations are retained and no new records are created unless explicitly required. - Fixed a similar issue for all impacted localizations, following the discussion in the previous task (https://www.odoo.com/odoo/project/967/tasks/4556250). task-4712602 Description of the issue
Original PR description
- Updated UK localization template handling to avoid automatic recreation of accounts, taxes, and fiscal positions when upgrading. - Added `force_create = "0"` parameter to `try_loading` to ensure that existing configurations are retained and no new records are created unless explicitly required. - Fixed a similar issue for all impacted localizations, following the discussion in the previous task (https://www.odoo.com/odoo/project/967/tasks/4556250). task-4712602 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 Forward-Port-Of: odoo/odoo#205211
The test for the self-order feature was failing due to a validation error in the web_tour registry. The issue comes from the use of an unrecognized key 'test' in the tour configuration of 'self_order_pricelist'. This change removes the invalid 'test' key from the tour definition. Forward-Port-Of: odoo/odoo#212513
Original PR description
The test for the self-order feature was failing due to a validation error in the web_tour registry. The issue comes from the use of an unrecognized key 'test' in the tour configuration of 'self_order_pricelist'. This change removes the invalid 'test' key from the tour definition. Forward-Port-Of: odoo/odoo#212513
runbot-error-108129 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 Forward-Port-Of: odoo/odoo#212509
Original PR description
runbot-error-108129 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 Forward-Port-Of: odoo/odoo#212509
## opw-4812933 feedback > When attachments were exported from Studio Export, they got exported in descending order by id (from highest id to lowest id). This caused a problem during import: if an attachment referred to an earlier one using a "Resource ID" (meaning it depended on a previously created attachment), the dependent attachment would try to import before the one it needed. This led to an error because the referenced attachment didn't exist yet. ## found issue The exported data
Original PR description
## opw-4812933 feedback > When attachments were exported from Studio Export, they got exported in descending order by id (from highest id to lowest id). This caused a problem during import: if an attachment referred to an earlier one using a "Resource ID" (meaning it depended on a previously created attachment), the dependent attachment would try to import before the one it needed. This led to an error because the referenced attachment didn't exist yet. ## found issue The exported data is sorted to ensure import order is correct, but for inter-record dependencies on a same model many2one_reference fields are not taken into account. This PR fixes that. Also while analyzing this issue another small issue was spotted regarding base.automation.url field. See commits. Forward-Port-Of: odoo/enterprise#86407 Forward-Port-Of: odoo/enterprise#86204
Receipt header was never shown Steps to reproduce: ------------------- * Install l10n_cl_edi_pos * Open PoS * Make a sale that you invoice > Observation: The receipt is not showing the header with RUT Why the fix: ------------ The original `cl_vat` variable did not exist anymore. It was previously just mapping the company vat. So we use the company vat directly. opw-4784899 Forward-Port-Of: odoo/enterprise#85520
Original PR description
Receipt header was never shown Steps to reproduce: ------------------- * Install l10n_cl_edi_pos * Open PoS * Make a sale that you invoice > Observation: The receipt is not showing the header with RUT Why the fix: ------------ The original `cl_vat` variable did not exist anymore. It was previously just mapping the company vat. So we use the company vat directly. opw-4784899 Forward-Port-Of: odoo/enterprise#85520
#PURPOSE: - Currently is the user is promoted as admin for accounting and he/she is try to generate/regenerate or view the gst report following Error is thrown. - Access Error ```Uh-oh! Looks like you have stumbled upon some top-secret records. Sorry, Marc Demo (id=5) doesn't have 'read' access to: - Document (documents.document)``` #STEPS TO REPRODUCE 1) Install necessary modules for indian accounting localization. 2) Enable GST E-Filing & Matching Fe
Original PR description
#PURPOSE: - Currently is the user is promoted as admin for accounting and he/she is try to generate/regenerate or view the gst report following Error is thrown. - Access Error ```Uh-oh! Looks like…
#PURPOSE:
- Currently is the user is promoted as admin for accounting and he/she is try
to generate/regenerate or view the gst report following Error is thrown.
- Access Error
```Uh-oh! Looks like you have stumbled upon some top-secret records.
Sorry, Marc Demo (id=5) doesn't have 'read' access to:
- Document (documents.document)```
#STEPS TO REPRODUCE
1) Install necessary modules for indian accounting localization.
2) Enable GST E-Filing & Matching Feature from account's configuration.
3) Go to Settings -> User & Companies -> Users
4) Click new if no user is there other then administrator else click on
another user.
5) Under Access Rights section , inside Accounting select Administrator & Save.
6) Now log in as new user in another tab.
7) Go to Accounting -> Reporting under 'India' section click on
GST Return Period.
8) Click on generate/regenerate or View option.
9) The above shown error will be raised.
#SPECIFICATION:
- The issue is with documents access rights
- After promoting user to admin of accounting, the document's folder right is
not properly assign to user.
- fix this by giving rights of GSTR folder to user if user is in accounting
manager group.
task-4770583
Forward-Port-Of: odoo/enterprise#86635
Forward-Port-Of: odoo/enterprise#84747Update on the filterExchangeRate function. The text input allowed users to enter non-numeric characters, which led to float conversion errors during processing. Now we parse the string into a float, catch errors and notify the user that the number was not valid. It also enables the user to use the thousands and decimal separators based on the language of the user. opw-4788246 Forward-Port-Of: odoo/enterprise#85857
Original PR description
Update on the filterExchangeRate function. The text input allowed users to enter non-numeric characters, which led to float conversion errors during processing. Now we parse the string into a float, catch errors and notify the user that the number was not valid. It also enables the user to use the thousands and decimal separators based on the language of the user. opw-4788246 Forward-Port-Of: odoo/enterprise#85857