Daily updates from Odoo
Navigate
Branch
Tuesday, February 25, 2025
44 changes
26 changes
Enhancements to existing features
A small wording typo was corrected in the Danish reports area. This improves the polish and clarity of the user interface without changing any business process or functionality.
Original PR description
Well sometimes you don't really need to explain why. No task ID for this commit.
The referral dashboard’s circular progress indicator was simplified to use modern browser styling instead of generating many separate style rules. This keeps the same visual experience while reducing stylesheet size and limiting the risk of styling side effects elsewhere.
Original PR description
In hr_referral we have a special "progress bar" in a circular form. To produce this effect, in SCSS, we have a loop to generate all states (of the progress's percentage). But these loops generate a lot of rules in CSS and so have an impact on the CSS bundle. The CSS has improved a lot these last year, and now we can do amazing thing in pure CSS so this commit aims to use new technics and avoid a lot of glue code (for animation) and produce a similar result. This commit use: * CSS custom-property * `conic-gradient`: to produce a pie (circular "progress bar")
This update reverts recent changes that added company information to the evaluation context across several Enterprise apps. It helps restore the previous behavior and reduce the risk of unexpected issues in documents, knowledge, timesheets, tests, and Studio editing flows.
Original PR description
This commit revert the companies from the evalContext. It will revert the following commits: https://github.com/odoo/enterprise/commit/02d32840dd9bde3191b894554bfff694f01b712b https://github.com/odoo/enterprise/commit/1c4580084ab6364bcc21923c534be36b588d8e21 task-id 4592550
Cash on delivery handling is being aligned with the generic payment flow for UPS, UPS REST, and Shiprocket shipping integrations. This makes checkout and delivery payment behavior more consistent across supported carriers and should reduce carrier-specific maintenance.
Original PR description
Adapt generic cash on delivery to ups and shiprocket task-3962100 See also: - https://github.com/odoo/odoo/pull/191542 - https://github.com/odoo/upgrade/pull/7092
Users can now use keyboard shortcuts to delete documents or move them to the trash in the Documents app. This makes document cleanup faster and reduces the need for mouse navigation during repetitive tasks.
Original PR description
Purpose ======== Ease the navigation while deleting the documents by adding the shortcut key. Specification =============== - Add the Shortcut key `control + D` to delete and `control + m` to move in the trash for the documents. Task-4411984
Spreadsheet users can now open linked records, dashboard cells, charts, and Odoo menu links in a new browser tab using middle-click or Ctrl+Click. This makes it easier to compare information and continue working without losing the current spreadsheet view.
Original PR description
This commit allows users to open records in a new tab by middle-clicking or Ctrl+Clicking in the following places: - See Record(s) (in Pivot/List view) - Clickable cells in the Dashboard view - Dashboard charts - Odoo menu links Task: 4373367
This update adjusts how the expense document view is positioned so it stays compatible with related changes in the main Odoo system. It helps keep the employee expense document interface displaying correctly after the shared button area is introduced.
Original PR description
Since we are adding in the community pr the button box, we need to change the xpath a bit. task: 4418348
Spreadsheet users can now open related records and menu links in a new browser tab using middle-click or Ctrl+Click. This makes it easier to compare data, keep dashboards open, and navigate without losing the current spreadsheet context.
Original PR description
This PR allows users to open records in a new tab by middle-clicking or Ctrl+Clicking in the following places: - See Record(s) (in Pivot/List view) - Clickable cells in the Dashboard view - Dashboard charts - Odoo menu links Task: 4373367
Resolved issues and error corrections
Maintenance requests now keep the previously selected maintenance team when a chosen work center does not have its own team assigned. This prevents accidental loss of team ownership and helps ensure requests remain routed to the right people.
Original PR description
- When a maintenance team is set in a maintenance request and a workcenter without an assigned maintenance team is selected, the maintenance team was incorrectly removed. Now, the maintenance team is only updated if the workcenter has an assigned team, preserving the previously selected team when no team is defined for the workcenter. task-4544384
This fixes a data setup issue in the Swiss payroll accounting tests by using the correct phone field after an older mobile field was removed. It prevents demo data loading failures, helping test and validation environments run reliably.
Original PR description
A recent change (https://github.com/odoo/enterprise/pull/75203) removed the field `mobile` on the `res.partner` model, however the demo data in `l10n_ch_hr_payroll_account` was not fully adapted, leading to error and failure to load demo data. This commit changes the field `mobile` to `phone` to avoid the issue. Runbot Error: https://runbot.odoo.com/odoo/action-573/114995
Features or functions removed from Odoo
The Belgian payroll app no longer includes the separate button and wizard for generating warrant payslips. Users should use the standard payslip generation process instead, reducing duplicate options and simplifying the workflow.
Original PR description
The button and wizard for generating warrant payslips was redundant with the classic way of generating payslips. This commit deletes the "Generate Warrant Payslips" button and its associated wizard. task-4572347
Miscellaneous changes
First commit adjusts the height of pills and rows for a more uniform and compact display. The pill height is reduced from 35px to 25px, allowing more information to fit on the screen. Row height is now standardized to 25px per pill (or 25px when empty), with an additional 10px of empty space. This ensures consistent row heights, whether a row contains pills or not. Second commit improves the display of pills with several adjustments: -Rounded pill borders and reduced wrapper padding for a
Original PR description
First commit adjusts the height of pills and rows for a more uniform and compact display. The pill height is reduced from 35px to 25px, allowing more information to fit on the screen. Row height is now standardized to 25px per pill (or 25px when empty), with an additional 10px of empty space. This ensures consistent row heights, whether a row contains pills or not. Second commit improves the display of pills with several adjustments: -Rounded pill borders and reduced wrapper padding for a cleaner look. -Removed resize handles since the resize cursor is sufficient. -Eliminated pill highlighting to reduce visual clutter and prevent unnecessary flickering. Part of task-4571228 Forward-Port-Of: odoo/enterprise#79850
In the follow up process, while the wizard's text is displayed correctly, the text in the chatter and in the pdf would contain too many carriage returns. The error is linked to the use of the text widget in the xml, which doesn't seem necessary in this case and is therefore removed. task-4574941 Forward-Port-Of: odoo/enterprise#79925 Forward-Port-Of: odoo/enterprise#79517
Original PR description
In the follow up process, while the wizard's text is displayed correctly, the text in the chatter and in the pdf would contain too many carriage returns. The error is linked to the use of the text widget in the xml, which doesn't seem necessary in this case and is therefore removed. task-4574941 Forward-Port-Of: odoo/enterprise#79925 Forward-Port-Of: odoo/enterprise#79517
### This commit fixes two issues introduced by [cdf65f563e6](https://github.com/odoo/odoo/pull/185954/commits/cdf65f563e6dc09ca238395e480da095232ac044): 1. Edit action incorrectly enabled for knowledge embedded view filters - These filters are not linked to server records in Knowledge - Attempting to edit leads to unwanted filter record creation - Should use delete action instead of edit for these cases 2. Favorites being lost in embedded views due to reconciliation - `_rec
Original PR description
### This commit fixes two issues introduced by [cdf65f563e6](https://github.com/odoo/odoo/pull/185954/commits/cdf65f563e6dc09ca238395e480da095232ac044): 1. Edit action incorrectly enabled for…
### This commit fixes two issues introduced by [cdf65f563e6](https://github.com/odoo/odoo/pull/185954/commits/cdf65f563e6dc09ca238395e480da095232ac044): 1. Edit action incorrectly enabled for knowledge embedded view filters - These filters are not linked to server records in Knowledge - Attempting to edit leads to unwanted filter record creation - Should use delete action instead of edit for these cases 2. Favorites being lost in embedded views due to reconciliation - `_reconciliateFavorites` deletes SearchItems that can't be reconciled - Embedded view filters are dissociated from record values - Results in loss of favorite filters when inserting views Solution: - Override `_reconciliateFavorites` to skip reconciliation for embedded views - Override `web.SearchBarMenu.FavoriteItem` to: * Restore delete action for embedded view filters * Add proper title and icon * Reimplement a `deleteFavorite` flow by patching `SearchBarMenu` - Reintroduce `deleteFavorite` in KnowledgeSearchModelMixin Reproduce Steps: 1st Issue: Create embedded view with "/kanban" or insert from another module - Add filter > edit action is present 2nd Issue: In any module - Add favorite filter - Insert view into Knowledge article - Filter is missing opw-4518370 Forward-Port-Of: odoo/enterprise#79725
This PR introduces two key features in Uruguayan electronic invoicing: Global Discounts: - Implemented the ability to apply global discounts across invoices. - Discounts are calculated and reflected in the final invoice total, ensuring compliance with DGI requirements. Down Payments: - Support for down payments was added to the invoicing process to ensure compliance with DGI requirements. ------------------------------- latam-task: 1284 adhoc-task-side: 45612 Forward-
Original PR description
This PR introduces two key features in Uruguayan electronic invoicing: Global Discounts: - Implemented the ability to apply global discounts across invoices. - Discounts are calculated and reflected in the final invoice total, ensuring compliance with DGI requirements. Down Payments: - Support for down payments was added to the invoicing process to ensure compliance with DGI requirements. ------------------------------- latam-task: 1284 adhoc-task-side: 45612 Forward-Port-Of: odoo/enterprise#75124
The appointment addon adds the `@mail/utils/common/format` module to the frontent assets. However, this module depends on another one: `@mail/utils/common/html`, which isn't there. As a consequence there's a red banner displayed in the bottom left corner, indicating that there's an odoo module issue, in all websites when the appointment addon is installed. This is causing a lot of trouble with free trials. This commit adds the missing dependency. Forward-Port-Of: odoo/enterprise#80079
Original PR description
The appointment addon adds the `@mail/utils/common/format` module to the frontent assets. However, this module depends on another one: `@mail/utils/common/html`, which isn't there. As a consequence there's a red banner displayed in the bottom left corner, indicating that there's an odoo module issue, in all websites when the appointment addon is installed. This is causing a lot of trouble with free trials. This commit adds the missing dependency. Forward-Port-Of: odoo/enterprise#80079
Steps to reproduce: - With an MX Company Setup - Issue an invoice with external trade - Print pdf Issue: Partner original RFC is shown, but according to our documentation [1] and official documentation [2] as well, we should display the generic RFC for external partners XEXX010101000 [1] https://www.odoo.com/documentation/18.0/applications/finance/fiscal_localizations/mexico.html#external-trade [2] https://www.sat.gob.mx/articulo/99662/articulo-29-a page 59 "15. ¿Qué datos debe cont
Original PR description
Steps to reproduce: - With an MX Company Setup - Issue an invoice with external trade - Print pdf Issue: Partner original RFC is shown, but according to our documentation [1] and official documentation [2] as well, we should display the generic RFC for external partners XEXX010101000 [1] https://www.odoo.com/documentation/18.0/applications/finance/fiscal_localizations/mexico.html#external-trade [2] https://www.sat.gob.mx/articulo/99662/articulo-29-a page 59 "15. ¿Qué datos debe contener la versión impresa del comprobante fiscal? En la representación impresa se incluirán como mínimo los datos establecidos en la regla 2.7.1.7. de la RMF. Fundamento: Regla 2.7.1.7. de la RMF. " opw-4473180 Forward-Port-Of: odoo/enterprise#79979 Forward-Port-Of: odoo/enterprise#79527
Before this commit, the _next_billing_details would not compute the amount in the currency of the order. Forward-Port-Of: odoo/enterprise#79289 Forward-Port-Of: odoo/enterprise#74162
Original PR description
Before this commit, the _next_billing_details would not compute the amount in the currency of the order. Forward-Port-Of: odoo/enterprise#79289 Forward-Port-Of: odoo/enterprise#74162
Users managing several branch companies may collect in a batch several payments from the branches. However this currently does not work as expected. Steps to reproduce: - Have a [main] company and a [branch] company - Create a payment in [branch] - Create a batch in [main] - Add the payment to the batch Issue: Error will raise ``` Incompatible companies on records: - “PAY00001” belongs to company “Your branch” and “Batch Payment” (batch_payment_id: 'BATCH/IN/2025/0001 (New)')
Original PR description
Users managing several branch companies may collect in a batch several payments from the branches. However this currently does not work as expected. Steps to reproduce: - Have a [main] company and a [branch] company - Create a payment in [branch] - Create a batch in [main] - Add the payment to the batch Issue: Error will raise ``` Incompatible companies on records: - “PAY00001” belongs to company “Your branch” and “Batch Payment” (batch_payment_id: 'BATCH/IN/2025/0001 (New)') belongs to another company ``` This occurs because now we check that batch and payment belong to the same company It is a change of behavior as in older versions this flows was permitted opw-4574188 Forward-Port-Of: odoo/enterprise#79719
This traceback arises when the user tries to change the orders from one stage to another. after deleting the last stage in another tab. To reproduce this issue:- 1) Install `pos_restaurant` 2) Duplicate the tab and open the preparation display in one tab 3) In another tab delete the last stage(`complete`) for the above preparation display 4) In the first tab click any product of an order from the `ready` stage 5) Now click the `ready` icon of that order 5) At the terminal you will
Original PR description
This traceback arises when the user tries to change the orders from one stage to another. after deleting the last stage in another tab. To reproduce this issue:- 1) Install `pos_restaurant` 2)…
This traceback arises when the user tries to change the orders from one stage to another.
after deleting the last stage in another tab.
To reproduce this issue:-
1) Install `pos_restaurant`
2) Duplicate the tab and open the preparation display in one tab
3) In another tab delete the last stage(`complete`) for the above preparation display
4) In the first tab click any product of an order from the `ready` stage
5) Now click the `ready` icon of that order
5) At the terminal you will see a traceback
Error:-
```
IndexError: list index out of range
File "odoo/http.py", line 2252, in __call__
response = request._serve_db()
File "odoo/http.py", line 1828, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1848, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1826, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1833, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2058, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 222, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 740, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 38, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 34, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 458, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "home/odoo/src/enterprise/saas-17.1/pos_preparation_display/models/preparation_display_orderline.py", line 51, in send_stricked_line_to_next_stage
next_stage_id = stage_ids.ids[current_stage_index + 1]
```
When the user clicks on the current stage icon it is supposed to go to the next stage with the help of the current stage index + 1.
But, because the user deleted the next stage it leads to an index error
After applying this will resolve the issue by preventing the user to modify stages
when there is an active session for that preparation display. Which making the code more robust
sentry-5056416790
Forward-Port-Of: odoo/enterprise#59415This commit adds one flow test to `l10n_ec_edi` that mocks `zeep` when sending an invoice to the SRI. This complements the existing tests that check the generated XML. task-none Forward-Port-Of: odoo/enterprise#79996 Forward-Port-Of: odoo/enterprise#77578
Original PR description
This commit adds one flow test to `l10n_ec_edi` that mocks `zeep` when sending an invoice to the SRI. This complements the existing tests that check the generated XML. task-none Forward-Port-Of: odoo/enterprise#79996 Forward-Port-Of: odoo/enterprise#77578
- Stopped ORM calls when hovering over the pencil icon to reduce flickering. - Ensured onChangeRoleName triggers only on actual input changes. - Properly initialized previousRoleName to track modifications. - Improved XML template handling for focus and blur events. This enhances performance and user experience by minimizing redundant ORM writes. Forward-Port-Of: odoo/enterprise#79176
Original PR description
- Stopped ORM calls when hovering over the pencil icon to reduce flickering. - Ensured onChangeRoleName triggers only on actual input changes. - Properly initialized previousRoleName to track modifications. - Improved XML template handling for focus and blur events. This enhances performance and user experience by minimizing redundant ORM writes. Forward-Port-Of: odoo/enterprise#79176
By default, SEPA requires a 5 day notification period prior to collecting a payment, if no payment has ever been collected using the related mandate. However, it could be that the company used another software before and imported their existing mandates (that have no payments yet in Odoo). In this case, the 5 day period does not apply and can be relaxes to the default 2 day period for running mandates. Instead of blocking the user when their required payment date is not at least 5 days fro
Original PR description
By default, SEPA requires a 5 day notification period prior to collecting a payment, if no payment has ever been collected using the related mandate. However, it could be that the company used another software before and imported their existing mandates (that have no payments yet in Odoo). In this case, the 5 day period does not apply and can be relaxes to the default 2 day period for running mandates. Instead of blocking the user when their required payment date is not at least 5 days from today (on first-time mandates), we now only show a warning at the top of the form, with links to the related payments. Blocking the user will only happen if the required payment date is not at least 2 days from today. [task-4472278](https://www.odoo.com/odoo/project.task/4472278) Forward-Port-Of: odoo/enterprise#79921 Forward-Port-Of: odoo/enterprise#77134
The send button wasn't align with the overdue Invoices above, now he is. task-4582381 linked:https://github.com/odoo/odoo/pull/198529 Forward-Port-Of: odoo/enterprise#79446
Original PR description
The send button wasn't align with the overdue Invoices above, now he is. task-4582381 linked:https://github.com/odoo/odoo/pull/198529 Forward-Port-Of: odoo/enterprise#79446
**Steps to reproduce:** - Install "Point of Sale" - Go to "Settings" - Enter the API Key for "barcodelookup.com" - Open a POS session - Scan a QR code not linked to any product **Issue:** The following error is raised: The action "point_of_sale.product_product_action_add_pos" does not exist. **Cause:** The action has been renamed to "product_template_action_add_pos". opw-4584711 Forward-Port-Of: odoo/enterprise#80040
Original PR description
**Steps to reproduce:** - Install "Point of Sale" - Go to "Settings" - Enter the API Key for "barcodelookup.com" - Open a POS session - Scan a QR code not linked to any product **Issue:** The following error is raised: The action "point_of_sale.product_product_action_add_pos" does not exist. **Cause:** The action has been renamed to "product_template_action_add_pos". opw-4584711 Forward-Port-Of: odoo/enterprise#80040
This commit will fix two errors: - for the value of average creditors days (A11) in B11 we used B18 for the calculation but it should be b15 - Error in naming for B34 and D34 (invert the two) task-4518430 Forward-Port-Of: odoo/enterprise#79811 Forward-Port-Of: odoo/enterprise#78013
Original PR description
This commit will fix two errors: - for the value of average creditors days (A11) in B11 we used B18 for the calculation but it should be b15 - Error in naming for B34 and D34 (invert the two) task-4518430 Forward-Port-Of: odoo/enterprise#79811 Forward-Port-Of: odoo/enterprise#78013
18 changes
New functionality added to Odoo
Uruguayan electronic invoicing now supports invoice-wide discounts and down payments. This helps companies issue compliant invoices that correctly reflect adjusted totals required by DGI.
Original PR description
This PR introduces two key features in Uruguayan electronic invoicing: Global Discounts: - Implemented the ability to apply global discounts across invoices. - Discounts are calculated and reflected in the final invoice total, ensuring compliance with DGI requirements. Down Payments: - Support for down payments was added to the invoicing process to ensure compliance with DGI requirements. ------------------------------- latam-task: 1284 adhoc-task-side: 45612
Resolved issues and error corrections
This pull request mainly streamlines internal test setup across several Odoo Enterprise apps, reducing unnecessary mail-related test data and making tests easier to maintain. It also prevents marketing automation processes from committing database changes during test mode, improving reliability and supporting future scalability work.
Manufacturing planning cells now stay on one line unless their contents would overflow, making the view cleaner while still readable. The update also improves demand cell colors for dark mode and preserves spacing around separators.
Original PR description
Due to input cell overflow, a stopgap solution was to always display demand and replenish cells on 2 lines when actual and forecasted/replenish were both activated. This is considered sub-optimal and this fix was made. When the view is loaded or reloaded due to manual changes, the DOM is updated depending on if overflow is detected in input cells. task 4420441
This update makes an automated test for Ecuador electronic delivery guides use a fixed date. That prevents date-related failures and helps ensure future checks remain reliable without changing user-facing behavior.
Original PR description
In 33509a095 we introduced a check on the data sent to the SRI. The data depends on the current date, but the test didn't execute in a `freeze_time` block. We now fix this. task-none
Spreadsheet pivot tables now match day-of-week values correctly for users in languages where weeks do not start on Sunday. This prevents users from opening the wrong underlying records when reviewing pivot results.
Original PR description
See community PR Steps to reproduce: - change your language to French (or any language which doesn't the week on Sundays) - insert a pivot into a spreadsheet - insert the dynamic version with =PIVOT(1) - change the row groups to "Day of week" - right click on any pivot value and "See records" => the day of week displayed in spreadsheet doesn't match the records. Task: 4591993
Miscellaneous changes
Currently, an error may occur when we try to export the trial balance with the SAT (XML) format. This is because the account_group ID is used to browse the account, due to a more specific account_group. Steps to reproduce: 1. Install l10n_mx_reports. 2. Create an account_group with a more specific account, such as 401.01.01 - The 4, 401, and 401.01 groups are created with demo data. 3. Go to trial balance and try exporting with "SAT (XML)". 4. An error will occur (Missing Record) beca
Original PR description
Currently, an error may occur when we try to export the trial balance with the SAT (XML) format. This is because the account_group ID is used to browse the account, due to a more specific account_group. Steps to reproduce: 1. Install l10n_mx_reports. 2. Create an account_group with a more specific account, such as 401.01.01 - The 4, 401, and 401.01 groups are created with demo data. 3. Go to trial balance and try exporting with "SAT (XML)". 4. An error will occur (Missing Record) because the account_group ID is used to browse the account. This fix does two things: 1. It ensures that only account.account lines are considered. 2. It changes the line length condition from `= 4` to `>= 4` to handle more specific grouping. opw-4537859 Forward-Port-Of: odoo/enterprise#80128
The kanban has been reworked with https://github.com/odoo/odoo/pull/167751 and odoo/enterprise@23426182d92198cf977d7eecbfb3d47117d80c59 Before this commit when a field is empty (the record has no value for a field) in the kanban editor -- new version -- that field had no size and was virtually invisible. This was because one little line of code was missing to enable the feature of applying a placeholder in the empty field to make it visible. opw-4526492 Forward-Port-Of: odoo/enterprise
Original PR description
The kanban has been reworked with https://github.com/odoo/odoo/pull/167751 and odoo/enterprise@23426182d92198cf977d7eecbfb3d47117d80c59 Before this commit when a field is empty (the record has no value for a field) in the kanban editor -- new version -- that field had no size and was virtually invisible. This was because one little line of code was missing to enable the feature of applying a placeholder in the empty field to make it visible. opw-4526492 Forward-Port-Of: odoo/enterprise#79812
In the expense app, a button enables to refund an expense directly in the payslip. This button is however not visible for payroll manager, while the action behind is. This commit solves the issue. task-4570975 Forward-Port-Of: odoo/enterprise#79879 Forward-Port-Of: odoo/enterprise#79570
Original PR description
In the expense app, a button enables to refund an expense directly in the payslip. This button is however not visible for payroll manager, while the action behind is. This commit solves the issue. task-4570975 Forward-Port-Of: odoo/enterprise#79879 Forward-Port-Of: odoo/enterprise#79570
In the follow up process, while the wizard's text is displayed correctly, the text in the chatter and in the pdf would contain too many carriage returns. The error is linked to the use of the text widget in the xml, which doesn't seem necessary in this case and is therefore removed. task-4574941 Forward-Port-Of: odoo/enterprise#79925 Forward-Port-Of: odoo/enterprise#79517
Original PR description
In the follow up process, while the wizard's text is displayed correctly, the text in the chatter and in the pdf would contain too many carriage returns. The error is linked to the use of the text widget in the xml, which doesn't seem necessary in this case and is therefore removed. task-4574941 Forward-Port-Of: odoo/enterprise#79925 Forward-Port-Of: odoo/enterprise#79517
Steps to reproduce: - With an MX Company Setup - Issue an invoice with external trade - Print pdf Issue: Partner original RFC is shown, but according to our documentation [1] and official documentation [2] as well, we should display the generic RFC for external partners XEXX010101000 [1] https://www.odoo.com/documentation/18.0/applications/finance/fiscal_localizations/mexico.html#external-trade [2] https://www.sat.gob.mx/articulo/99662/articulo-29-a page 59 "15. ¿Qué datos debe cont
Original PR description
Steps to reproduce: - With an MX Company Setup - Issue an invoice with external trade - Print pdf Issue: Partner original RFC is shown, but according to our documentation [1] and official documentation [2] as well, we should display the generic RFC for external partners XEXX010101000 [1] https://www.odoo.com/documentation/18.0/applications/finance/fiscal_localizations/mexico.html#external-trade [2] https://www.sat.gob.mx/articulo/99662/articulo-29-a page 59 "15. ¿Qué datos debe contener la versión impresa del comprobante fiscal? En la representación impresa se incluirán como mínimo los datos establecidos en la regla 2.7.1.7. de la RMF. Fundamento: Regla 2.7.1.7. de la RMF. " opw-4473180 Forward-Port-Of: odoo/enterprise#79979 Forward-Port-Of: odoo/enterprise#79527
**[FIX] account_asset: fix empty string and False/None inconsistencies** (adapting tests) When empty, the name field of account.move.line could inconsistently hold either an empty string or False. This inconsistency led to different results when searching for lines with an empty label, as label->not set and label == "" yielded different outcomes. The latter behavior aligns with expected ORM operations. This fix ensures the name field is set to False whenever the computed result is
Original PR description
**[FIX] account_asset: fix empty string and False/None inconsistencies** (adapting tests)
When empty, the name field of account.move.line could inconsistently hold either an empty string or False. This inconsistency led to different results when searching for lines with an empty label, as label->not set and label == "" yielded different outcomes. The latter behavior aligns with expected ORM operations.
This fix ensures the name field is set to False whenever the computed result is an empty string, standardizing search behavior. We also adapt some tests to the new behavior in enterprise.
opw-4167139
[community PR](https://github.com/odoo/odoo/pull/186079)
Forward-Port-Of: odoo/enterprise#74855
Forward-Port-Of: odoo/enterprise#73256After the [indentation fix] for xlsx exports, the styling logic was simplified to always show levels 0, 1 and 2 in bold and all deeper levels not in bold. Before that, there was a separate rule that defined that for any line having `caret_options`, we wouldn't use bold. Because of this, reports like the general ledger would display all detail lines indicating journal entries in bold (since they are in level 2). This looks very crowded and not very readable at all. In this commit, we improv
Original PR description
After the [indentation fix] for xlsx exports, the styling logic was simplified to always show levels 0, 1 and 2 in bold and all deeper levels not in bold. Before that, there was a separate rule that…
After the [indentation fix] for xlsx exports, the styling logic was simplified to always show levels 0, 1 and 2 in bold and all deeper levels not in bold. Before that, there was a separate rule that defined that for any line having `caret_options`, we wouldn't use bold. Because of this, reports like the general ledger would display all detail lines indicating journal entries in bold (since they are in level 2). This looks very crowded and not very readable at all. In this commit, we improve the styling rules to always disable bold on the deepest line level. That way we can never have a XLSX file with all lines in bold, and it is much easier to read the file. Meanwhile, the style management was refactored a bit to make it simpler. [opw-4501822](https://www.odoo.com/odoo/project.task/4501822) [opw-4458752](https://www.odoo.com/odoo/project.task/4458752) [indentation fix]: https://github.com/odoo/enterprise/commit/9246a864f91e7facd06fa630fa0d23a0323ce497 Forward-Port-Of: odoo/enterprise#79764 Forward-Port-Of: odoo/enterprise#77510
Problem Before this commit, if the customer deletes the rental location they would be blocked from creating a rental order as it is necessary for replenishment rules. The issue becomes critical because, once deleted, the rental location cannot be set to the company functionally given the field is not present in the view. Solution To fix this, this commit adds Rental Settings making the rental_loc_id field visible in the res_company view, allowing customers to select their desired rental
Original PR description
Problem Before this commit, if the customer deletes the rental location they would be blocked from creating a rental order as it is necessary for replenishment rules. The issue becomes critical because, once deleted, the rental location cannot be set to the company functionally given the field is not present in the view. Solution To fix this, this commit adds Rental Settings making the rental_loc_id field visible in the res_company view, allowing customers to select their desired rental location and resolve the issue independently. - opw-3973957 - opw-4488182 - opw-4545985 Forward-Port-Of: odoo/enterprise#79894 Forward-Port-Of: odoo/enterprise#79785
Because of the countries flag set in the module manifest, the module was set to be auto-installed only when there was a company with country 'CZ' existing. Although this can't really be pointed as a mistake, it was causing an error in account_reports TestAllReportsGeneration.test_generate_all_export_files, as we'd be simply installing the module l10n_cz_reports and expect everything to be set and tested. runbot error: 114355 Forward-Port-Of: odoo/enterprise#79524
Original PR description
Because of the countries flag set in the module manifest, the module was set to be auto-installed only when there was a company with country 'CZ' existing. Although this can't really be pointed as a mistake, it was causing an error in account_reports TestAllReportsGeneration.test_generate_all_export_files, as we'd be simply installing the module l10n_cz_reports and expect everything to be set and tested. runbot error: 114355 Forward-Port-Of: odoo/enterprise#79524
This commit introduces an easy way to recognize "orders" which are intended to settle customer accounts. opw-4185144 Community PR: https://github.com/odoo/odoo/pull/183682 Forward-Port-Of: odoo/enterprise#72843 Forward-Port-Of: odoo/enterprise#71958
Original PR description
This commit introduces an easy way to recognize "orders" which are intended to settle customer accounts. opw-4185144 Community PR: https://github.com/odoo/odoo/pull/183682 Forward-Port-Of: odoo/enterprise#72843 Forward-Port-Of: odoo/enterprise#71958
Steps to reproduce the bug: - Create a “quality.point”: - Operations: Manufacturing - Add a Work Order Operation - save - Update the operations to Receipt. Problem: The Work Order Operation field becomes invisible, but it is still filled so the quality point will still be applied. opw-4536136 Forward-Port-Of: odoo/enterprise#79929 Forward-Port-Of: odoo/enterprise#79868
Original PR description
Steps to reproduce the bug:
- Create a “quality.point”:
- Operations: Manufacturing
- Add a Work Order Operation
- save
- Update the operations to Receipt.
Problem:
The Work Order Operation field becomes invisible, but it is still filled so the quality point will still be applied.
opw-4536136
Forward-Port-Of: odoo/enterprise#79929
Forward-Port-Of: odoo/enterprise#79868The appointment addon adds the `@mail/utils/common/format` module to the frontent assets. However, this module depends on another one: `@mail/utils/common/html`, which isn't there. As a consequence there's a red banner displayed in the bottom left corner, indicating that there's an odoo module issue, in all websites when the appointment addon is installed. This is causing a lot of trouble with free trials. This commit adds the missing dependency. Forward-Port-Of: odoo/enterprise#80079
Original PR description
The appointment addon adds the `@mail/utils/common/format` module to the frontent assets. However, this module depends on another one: `@mail/utils/common/html`, which isn't there. As a consequence there's a red banner displayed in the bottom left corner, indicating that there's an odoo module issue, in all websites when the appointment addon is installed. This is causing a lot of trouble with free trials. This commit adds the missing dependency. Forward-Port-Of: odoo/enterprise#80079
Problem --------- Follow-ups can be configured to execute multiple type of follow-ups (email, whatsapp, sms, ...) One of those is to print a letter, but it's not the most used. When you try to execute a follow-up manually, a wizard opens and follows the setup of the to-be-executed level ; so for example if the next level is configured to send a SMS, SMS should be ticket by default. But the "Print" option is always ticked, even if the "Letter" option is not selected in the configuration
Original PR description
Problem --------- Follow-ups can be configured to execute multiple type of follow-ups (email, whatsapp, sms, ...) One of those is to print a letter, but it's not the most used. When you try to execute a follow-up manually, a wizard opens and follows the setup of the to-be-executed level ; so for example if the next level is configured to send a SMS, SMS should be ticket by default. But the "Print" option is always ticked, even if the "Letter" option is not selected in the configuration of the level. This always generates an additional PDF that is often not needed. Objective --------- Do not tick "Print" by default when manually executing a follow-up level, unless "Letter" is ticket in the configuration of the level. Solution --------- Set "Print" default value in the wizard to the "Letter" value of the follow up line instead of leaving it as True (which is the default). task-4574971 Forward-Port-Of: odoo/enterprise#79829