Daily updates from Odoo
Navigate
Branch
Wednesday, June 18, 2025
47 changes
Security fixes and vulnerability patches
This fix ensures payroll version fields are only loaded for users with the proper HR access rights. It helps prevent access-related errors and unintended exposure of HR payroll information across multiple country-specific payroll modules.
Original PR description
All fields defined on hr.version need the group 'hr.group_hr_user' to not be prefetched when you don't have the rights. Task: 4868567
New functionality added to Odoo
Event badge printing is now handled through a dedicated IoT integration, making printer-specific setup cleaner and easier to maintain. Badge templates were also moved to XML, which should make customization simpler for businesses that adapt badges for their events.
Original PR description
See odoo/odoo#203274 This commit contains 2 related changes: - The badge printing functionality that was previously part of the `event` module has now been moved to a new `event_iot` bridge module. - The badge printer report template has been rewritten to use XML rather than the `esc_label_tools.py` python helper. This will allow for easier customisation. This commit also adds `pos_event_iot` and `event_sale_iot` bridge modules; these are very small and only needed for IoT specific overrides that used to be contained in `pos_event` and `event_sale` respectively. While the majority of badge printing related python code has been removed, there are still two functions, `load_image` and `escape`, that are accessible via a custom report model. task-4193378
Enhancements to existing features
Users can now share signing templates with multiple recipients by email directly from the sharing wizard, instead of manually setting up a separate mailing process. The sharing flow is clearer because templates are only shared when the user confirms the action, and the share link is copied automatically for convenience.
Original PR description
## Purpose Currently, we only allow users to either directly send template to a specific partner or share via link if we want to send template to multiple recipients at once. However, we still need to set up a mass mailer to be able to send the link to the recipients. ## Specification In the share wizard, add an option to share the template via email. Task: 4332060
Odoo now provides clearer installation guidance when required external components are missing, including the relevant apt install command. This helps administrators resolve setup issues faster across affected apps and reduces delays during deployment or maintenance.
Original PR description
Community: https://github.com/odoo/odoo/pull/214190
Brazilian POS users can now resend failed NFC-e orders in batches instead of handling each order one by one. This helps businesses recover faster after EDI service outages, with background processing and user notifications when the batch is complete or needs attention.
Original PR description
Brazil's EDI servers are known to go down for hours or days on end, so companies will continue to sell goods and eventually send all of the invoices off to the servers when return back online. Right now, the only way to do that for a POS order is to go to them one by one and hit `Send NFC-e`. This PR adds a new action to the list view of POS Orders that will mark orders as ready to be sent off to the EDI servers. As each order takes a chunk of time to send, this job is passed off to a new scheduled action based off of the Send and Print batch wizard. Records will be processed in batches and once they are completed the cron will notify the user that originally triggered it to let them know if everything was successful or if there are new errors to investigate. task-4688982
Documents now shows easier-to-recognize thumbnails and previews for text, JSON, XML, and WebP files. This helps users identify file contents faster without opening each document, while keeping CSV files distinct because they can be converted to spreadsheets.
Original PR description
Introduce thumbnail for documents with the following MIME type: `text/*`, `application/json`, `application/xml`. Textual* thumbnails are not genered by the client as `jpeg` and stored on the server,…
Introduce thumbnail for documents with the following MIME type: `text/*`, `application/json`, `application/xml`. Textual* thumbnails are not genered by the client as `jpeg` and stored on the server, but instead they are mounted using `iframe`, with the new route `/documents/thumbnail_textual` as the source. This route fetches the first 4KB of the content and returns it wrapped in a `pre` tag inside a template. Textual* previews are now also wrapped in `pre`, like thumnbails, to allow better formatting and consistency. Includes JS tests for the client thumbnail service, particularly for `image/webp`. Python test to check `thumbnail_status` assignment for various MIME types: - client_generated (pdf/webp) - present (jpeg/png/etc.) - False (html/csv/doc/text/json/xml/etc.) Python test to check route `thumbnail_textual` returns textual content correctly: only binary, with attachment and correct permissions. NOTE: - `.csv` files do not have previews or thumbnails because users can convert them into spreedsheet, and we want to make that clear. - `.json` preview is now wrapped inside of `pre` because we try to use the browser json formatter - some changes are made to `documents_client_thumbnail_service` following the review on pr [59268](https://github.com/odoo/enterprise/pull/59268) * Textual files, for now, refer to `text/*`, `application/json`, `application/xml`, `application/documents-email` task-4236987
When users schedule work from the Gantt view, the selection dialog now automatically narrows results to match the group they clicked. This makes planning faster and reduces the chance of assigning or selecting the wrong item.
Original PR description
This commit ensures that the SelectCreateDialog opened when scheduling a task in the Gantt view is automatically filtered based on the local group values of the selected cell(s). task-4826605
Batch and wave transfer screens now include keyboard shortcuts for common actions such as opening the map, validating transfers, and accessing quality checks. This helps warehouse users complete frequent tasks faster with less mouse navigation.
Original PR description
Added keyboard shortcuts in Batch & Wave transfer - "Map" : alt + G - "Validate" : alt + V - "Quality Checks" : alt + shift + Z Task Id : 4672389
The Sign app now offers a clearer, more reliable flow for downloading original and signed envelope documents, including grouped downloads and better document naming on certificates. Users also get a cleaner template editing experience, improved sidebar interactions, and more dependable navigation across all documents in an envelope.
Original PR description
This commit introduces a few improvements to the User Interface (UI) and User Experience (UX) of the Sign application after introducing the envelop feature in 18.3. The main focus is on improving the…
This commit introduces a few improvements to the User Interface (UI) and User Experience (UX) of the Sign application after introducing the envelop feature in 18.3. The main focus is on improving the document download flow, refining the sidebar interactions, and enhancing the signer experience. ### Documents' Download Flow: - Handled download of original (source) documents used in templates and envelopes. - Handled download of the envelope signed completed documents (separately and as one zip file) - Added the signed document names to the certificate. ### Template Kanban Optimization: - Removed the “Use the layout of fields on a new PDF” modal and related logic. - Introduced a “Duplicate” option. - Moved the “Delete” option under a new “Configuration” submenu, which is visible only in debug mode. ### Template Editor & Fields: - Refined the sidebar design to improve signer and field management UX. - Automatically focused and selected placeholder content when adding a signer. - Improved styling and background highlight to indicate selected items. #### Fixed selection field behavior: - Field now shows toast instead of inline error for empty choices. - Duplicate options are auto-merged; explicit error displayed if merging fails. - Adjusted UI not to close the field popup when no valid options exist. ### Navigation - Enhanced document navigator to properly manage viewing all the documents (even the ones with no sign items) task-4743889 Co-authored-by: Abdelrahman Fawzy [abdh@odoo.com](mailto:abdh@odoo.com) Co-authored-by: Ahmad Almaghraby [alah@odoo.com](mailto:alah@odoo.com)
The AI module now has a dedicated way to store and read vector data, which is used for AI-powered features such as embeddings. This reduces custom database handling and makes future AI functionality easier to maintain and extend.
Original PR description
This commit introduce a new `Vector` field for the AI module. Before, the module was defining the vector column by manually adding the sql queries (see `ai.embedding` module). This commit solves that issue by introducing a new orm field `Vector` which takes care of the creation and read of columns of type vector. task-4763397
Grouped list, kanban, and Gantt-style views are updated to use a newer data loading method that can fetch grouped information more efficiently. This should reduce unnecessary server requests and keep related accounting, field service, and planning views aligned with the platform-wide improvement.
Original PR description
This commit adapts the code for the new `web_read_group` API. See the community commit. https://github.com/odoo/odoo/pull/133224
Automatically created reconciliation rules are now hidden by default in the list view, so users see the rules they created themselves first. A separate filter lets users view automatically generated rules when needed, reducing clutter while keeping those records accessible.
Original PR description
Follow-up to 687e237 which introduced automatic reconciliation rule creation. This commit adds a domain on the account.reconcile.model action to hide models that were created automatically, using a new `created_automatically` field added in master. This ensures only user-defined rules appear in the list view. task-4783623
This update adds standard AIU products for Colombian electronic invoicing, helping businesses in sectors like construction and engineering correctly report administration, contingency, and profit charges. It also improves invoice handling so required AIU notes and operation type guidance are applied more reliably for compliance.
Original PR description
AIU (Administration, Contingencies, and Profit) is used to keep track of costs and sales tax in service contracts like construction or engineering. Any indirect admin expenses, unforseen costs, or…
AIU (Administration, Contingencies, and Profit) is used to keep track of costs and sales tax in service contracts like construction or engineering. Any indirect admin expenses, unforseen costs, or profits for the contractor is included in this data. As this is a common requirement the three products are created as data records and will be available to all customers using our EDI service. The UBL specifications state that for AIU invoices we must include a specific string in the note section of the e-invoice on all product lines. To accomplish this, the operation type field had to be made into a stored compute field that uses the pre-established compute as a default value based on type of move. Due to this change, to keep the default behaviour the mandate module has changed from setting the operation on a compute to instead show a warning if the right operation type is not properly set as it is cleaner and does not recompute the value every time a line is edited. task-4611282 Upgrade PR: https://github.com/odoo/upgrade/pull/7873
The document signing flow now returns information in a consistent format across standard Sign and itsme signing. This reduces unexpected behavior and helps keep signing pages more reliable for users.
Original PR description
**Before:**
- The get_document_qweb_context some time return dict or sometime Qweb rendered
template.
**After:**
- After this commit always return a dictionary
{'rendering_context': {}, 'rendered_template': XX}
task-4784288IoT Box setup now supports using a database-generated pairing token again. This lets businesses connect IoT Boxes to an Odoo database even when the database cannot reach the internet, improving reliability for offline or restricted-network environments.
Original PR description
As we removed the pairing token to ease the pairing process by automating it, we can't pair an IoT Box with a database there is no access to the internet (automated pairing depend on odoo.com). We then added back the pairing token, generated by the database, to provide to the IoT Box Homepage. Task: 4844687
Accounting users can now download a ready-made spreadsheet template directly from the import screen for vendor bills and credit notes. This makes it easier to prepare files in the expected format and reduces import mistakes.
Original PR description
This commit adds a button to download the template on the import screen for vendor bills and credit notes. task-4875863
The UAE payroll Instant Pay salary structure has been updated to better match local payroll requirements. This should make instant salary payments more accurate and easier to manage for businesses operating payroll in the UAE.
Original PR description
This PR improve the "Instant Pay" salary structure to better align with payroll requirements in the UAE. task-4701062
Payroll batch management has been redesigned around Pay Runs, making it easier to view run details alongside the related payslips. Users can now browse Pay Runs in a kanban-style view and create them through a guided two-step flow for setup and employee selection.
Original PR description
Problem ---------- Change the UX of payroll batches. Objective ---------- Batches are now Pay Runs. No more form view in full size. Pay Run information is displayed above the list of payslips when they are filtered by a specific pay run. All pay runs are accessible from a vertical kanban view. To create a new kanban, there is a wizard in 2 steps. One to select the dates, structure_id, etc. of the pay run And the other to select the employees that fit the constraints Solution ---------- All action buttons, smart buttons and fields of the form are used to display the pay run card. The form arch is fetched and compiled in the kanban view and list view of payslips. The wizard of pay run creation is the form view of payrun. The wizard to select employees is the employee list view. See : odoo/upgrade#7861 task-4568268
Employee skills information is now better integrated with appraisals, making it easier to use skills data during performance reviews. The update also limits employee access to bank account views and improves payroll-related test data handling.
The spreadsheet filter side panel has been refined to make its layout cleaner and easier to use. This small visual improvement helps users work with spreadsheet filters more comfortably without changing functionality.
Original PR description
This commit finetunes the layout of the filter side panel. task-4864014
Empty views now give users clearer guidance by offering a reset filters option when filters are hiding all results. Screens that rely on sample data also show a clear banner, making it easier for users to understand what they are seeing across several apps.
Original PR description
\* = appointment, documents, esg, hr_appraisal, sign, web_cohort, web_gantt, web_grid Before this commit, the web.ActionHelper was only an XML template. In order to add new features to it, it is now a Component. This commit adds: - A button to reset filters and on the helper when there is at least one facet in the searchModel and there is no data corresponding. - A ribbon widget displayed when sample data is used in the helper. - An ActionHelper component centralizing the two previous features. task-4648766
Users can now refuse documents accessed through shareable signing links, not only documents sent directly to them. When a public user refuses a document, Odoo asks for their name and email so the refusal can be properly attributed and recorded.
Original PR description
Before this commit, when refusing a document as a public user, it was not possible to identify the user, we only asked for the refusal reason and that was it. Also, there was no way to refuse a shared document, only sent ones. After this commit, we now can refuse shared documents, and they keep created for allowing other users to refuse them, including public users. When the public user is refusing it, we ask for their name and email for identifying them (and creating a partner from it). task-4635602
Resolved issues and error corrections
This fixes an issue where contract countersignatures could fail after a previous contract version was archived. It also restores the signatories tab on contract templates, helping HR teams manage required signers more easily.
Original PR description
In this PR we fix countersignature by making sure to flush the env after archiving the previous version. We also reintroduce the signatories tab that was removed on contract templates
The payroll empty dashboard now applies icon sizing only where intended. This prevents unrelated icons from being resized, keeping the payroll interface cleaner and more consistent for users.
Original PR description
The CSS class selector for the icon size in the payroll empty dashboard also selected other icons. This commit fixes the issue by adding specific selectors for the empty payroll dashboard.
Approval request owners can no longer modify a request after it has been approved, except when cancelling it. This protects approved decisions from being changed afterward and prevents owners from approving their own requests.
Original PR description
Issue: ------ An approval can be edited by the request approval owner even if it has been approved. Solution: --------- Prevent the owner from writing on the approval after validation except to cancel it. Prevent owner to approve his own approvals. Note: An `ir.rule` is not possible because the owner must always be able to write on his approval (but in a controlled way, i.e. only for cancel). task-4840746
The employee contract information view now shows the extra hours checkbox when the work entry source is not attendance. This ensures HR users can see and manage the expected overtime setting consistently, avoiding confusion or missing configuration.
Original PR description
In this PR, We added the missing extra hours checkbox when the work entry source is not attendance in the Contract Information in employee view. Before:  After:  Task 4869074.
The appointment HR performance test was adjusted to reflect an expected extra data lookup after recent HR data model changes. This keeps automated checks aligned with the current system behavior and prevents false failure reports.
Original PR description
Since hr has been refactored and lot of hr.employee fields moved to hr.version model, we have to increase Querycount by one as now _slot_availability_prepare_users_values_workhours function calls for hr.version together with hr.employee to get all the right values. Original function flamegraph  Since https://github.com/odoo/odoo/pull/202869, extra call for hr.version when we are trying to read employees[0].resource_calendar_id  Fixing [Runbot error 226700](https://runbot.odoo.com/odoo/error/226700)
The Sign app menu now uses the standard Odoo dropdown styling for a signature request action. This prevents the icon from appearing at the wrong size when users open or click the menu, improving visual consistency.
Original PR description
This commit adds the class `o_menu_item` in order to update our custom dropdown item to match the Odoo's dropdown, fixing the scale of the icon when clicking on the menu. task-4876538
A budget-related automated test was updated so it no longer depends on demo company data that may not be available in some test runs. This helps keep internal quality checks stable and reduces false failures during development.
Original PR description
This fix addresses a test failure in runbot. The test previously relied on base.main_company, which causes issues when running the test suite on master without the --with-demo flag enabled. To ensure compatibility, the test has been updated to use self.company directly instead of base.main_company no-task
Code cleanup and technical improvements
The General Ledger report has been rewritten to use a cleaner, dedicated engine, making it easier to maintain and improve. Report line labeling can now be processed in batches for better performance and ordering, while the separate US Check Register report is removed because the same information is available through the General Ledger.
Original PR description
**[IMP] account_reports: batch label builder** When using a custom groupby, we can use a label builder using the grouping key. Before it was called once for each grouping key and some optimization…
**[IMP] account_reports: batch label builder** When using a custom groupby, we can use a label builder using the grouping key. Before it was called once for each grouping key and some optimization might have not been done as we could not batch it. The new way call the label builder once with all the grouping keys. This way it is batched and we can make optimization if required. The label builder function returns a dict with each grouping key containing the name of the line. The order of this dict is important as it will be the order rendered on the report. So another feature allowed by this is that we can manually order grouping keys and therefor lines. **[REF] l10n_us_reports: remove check register** It is a subset of the general ledger that is useless as a standalone report as it can be done in the General Ledger **[REF] account_reports: General Ledger Rewrite** Before this commit, the general ledger had lots of uselessly complex code that was coupled with the trial balance. See https://github.com/odoo/enterprise/pull/73298 for the trial balance rewrite. This commit aims to refactor the general ledger and use a custom engine. task-4251472
This update improves how shared website and report templates are loaded by processing related template calls in batches. It should make template-heavy pages and report editing more efficient while keeping the user experience unchanged.
Demo product attribute data has been reorganized so it can be shared from the core product area instead of being duplicated across related features. This makes sample data easier to maintain and keeps product, rental, manufacturing, and barcode demo examples more consistent.
Original PR description
See Also: https://github.com/odoo/odoo/pull/205187
Miscellaneous changes
Zipping the generator "tests" was producing an empty result. Then, the loop wasn't asserting anything. Forward-Port-Of: odoo/enterprise#87890 Forward-Port-Of: odoo/enterprise#87315
Original PR description
Zipping the generator "tests" was producing an empty result. Then, the loop wasn't asserting anything. Forward-Port-Of: odoo/enterprise#87890 Forward-Port-Of: odoo/enterprise#87315
Before this commit, when entering the search view dialog a searchRead was done to create a dict of displayed move line per id. This dict is useful to compute the residual amount when selecting a line. The problem is that we don't have any limit on the search which is bad perf wise. no task id Forward-Port-Of: odoo/enterprise#87312
Original PR description
Before this commit, when entering the search view dialog a searchRead was done to create a dict of displayed move line per id. This dict is useful to compute the residual amount when selecting a line. The problem is that we don't have any limit on the search which is bad perf wise. no task id Forward-Port-Of: odoo/enterprise#87312
Currently an error occurs when the user tries to remove the currency on any monetary field through web studio. Steps to replicate: - Open any list view with web_studio. - Drag and drop a monetary field and remove the currency field and save. Error: `TypeError: Argument must be bytes or unicode, got 'NoneType'` This error occurs because the `attrs` dictionary contains `{'name': None}`, and `etree.Element()` doesn't accept attributes with None values, causing it to raise a `TypeError`.
Original PR description
Currently an error occurs when the user tries to remove the currency on any monetary field through web studio.
Steps to replicate:
- Open any list view with web_studio.
- Drag and drop a monetary field and remove the currency field and save.
Error:
`TypeError: Argument must be bytes or unicode, got 'NoneType'`
This error occurs because the `attrs` dictionary contains `{'name': None}`, and `etree.Element()` doesn't accept attributes with None values, causing it to raise a `TypeError`.
This commit fixes the issue by making the field required so that user cant remove the value from currency field and hence preventing error at line [1].
[1]-https://github.com/odoo/enterprise/blob/a41cca06bc1e25614390f9207c937566557350a0/web_studio/controllers/main.py#L928
sentry-4244801243
Forward-Port-Of: odoo/enterprise#87879
Forward-Port-Of: odoo/enterprise#85565The website generator cron crashed when trying to deactivate itself due to crons no longer being able to modify themselves. Now use _commit_progress() instead and check only in the cron and not during write() Forward-Port-Of: odoo/enterprise#87510
Original PR description
The website generator cron crashed when trying to deactivate itself due to crons no longer being able to modify themselves. Now use _commit_progress() instead and check only in the cron and not during write() Forward-Port-Of: odoo/enterprise#87510
This commit introduces two improvements to the 'Add Properties' button in the cog menu of the Asset model: 1. Hides the button if the record has state = 'model'. Previously, the button was available but no action was triggered. 2. Raises an error message if the button 'Add Properties' is clicked in an asset without an asset model associated. Previously, only a warning with the unclear message "You need edit access on the parent doument to update these property fields" was shown. task-482209
Original PR description
This commit introduces two improvements to the 'Add Properties' button in the cog menu of the Asset model: 1. Hides the button if the record has state = 'model'. Previously, the button was available but no action was triggered. 2. Raises an error message if the button 'Add Properties' is clicked in an asset without an asset model associated. Previously, only a warning with the unclear message "You need edit access on the parent doument to update these property fields" was shown. task-4822091 Forward-Port-Of: odoo/enterprise#86651
In this PR, we : - Readapt the Gantt progress calculation for attendance Related Community PR : https://github.com/odoo/odoo/pull/209570 task-4771288 Forward-Port-Of: odoo/enterprise#87033 Forward-Port-Of: odoo/enterprise#85368
Original PR description
In this PR, we : - Readapt the Gantt progress calculation for attendance Related Community PR : https://github.com/odoo/odoo/pull/209570 task-4771288 Forward-Port-Of: odoo/enterprise#87033 Forward-Port-Of: odoo/enterprise#85368
Adds a test to the fix done in the commit [814b1b2](https://github.com/odoo/enterprise/commit/814b1b21f60189715c82c96397c36da706736490) opw-4836094 Forward-Port-Of: odoo/enterprise#87166
Original PR description
Adds a test to the fix done in the commit [814b1b2](https://github.com/odoo/enterprise/commit/814b1b21f60189715c82c96397c36da706736490) opw-4836094 Forward-Port-Of: odoo/enterprise#87166
In this PR, we change the paid net rule code to NET to align with other localizations. Forward-Port-Of: odoo/enterprise#87727
Original PR description
In this PR, we change the paid net rule code to NET to align with other localizations. Forward-Port-Of: odoo/enterprise#87727
Before this commit, if the module was installed, the delivered quantity for non-rental products in a sale order paid through PoS would be doubled. opw-4805368 Forward-Port-Of: odoo/enterprise#87259 Forward-Port-Of: odoo/enterprise#87175
Original PR description
Before this commit, if the module was installed, the delivered quantity for non-rental products in a sale order paid through PoS would be doubled. opw-4805368 Forward-Port-Of: odoo/enterprise#87259 Forward-Port-Of: odoo/enterprise#87175
Before this commit: ------------------- In the QC (Quality Check) step "Register Production", the lot/serial name was not shown immediately after registration. Instead, the qty producing/demand ratio was displayed first, followed by the lot/serial name. Steps to reproduce: ------------------- 1. Create a MO for a lot/serial tracked product with a Register Production step(QC). 2. Go to the workorder and open the Register Production step. 3. Click the Quick Registration (+) button to gene
Original PR description
Before this commit: ------------------- In the QC (Quality Check) step "Register Production", the lot/serial name was not shown immediately after registration. Instead, the qty producing/demand ratio was displayed first, followed by the lot/serial name. Steps to reproduce: ------------------- 1. Create a MO for a lot/serial tracked product with a Register Production step(QC). 2. Go to the workorder and open the Register Production step. 3. Click the Quick Registration (+) button to generate a lot/serial. 4. The step first shows the qty producing/demand ratio, then the lot/serial name. In this commit: --------------- The step now directly shows the generated lot/serial name, as the registered quantity is already available in the workorder card header. task-4824899 Forward-Port-Of: odoo/enterprise#86689
Runbot error: https://runbot.odoo.com/odoo/error/160977 This commit fixes the tour by moving the steps related to the contract management in the python part of the test. Also fixes the formatting of the tour file. Forward-Port-Of: odoo/enterprise#86106 Forward-Port-Of: odoo/enterprise#83686
Original PR description
Runbot error: https://runbot.odoo.com/odoo/error/160977 This commit fixes the tour by moving the steps related to the contract management in the python part of the test. Also fixes the formatting of the tour file. Forward-Port-Of: odoo/enterprise#86106 Forward-Port-Of: odoo/enterprise#83686
Steps to reproduce the issue: - Allow a portal user, e.g. Joel (login portal) in runbot, to edit a knowledge article. - When the portal user logs in and tries to modify the article, the AI button and the ChatGPT command are available to him. The UI does nothing when the command is triggered. - But there is Access error in the server log. Solution: Only show the chatgpt command to internal users. TASK-ID: 4853088 Forward-Port-Of: odoo/enterprise#87324
Original PR description
Steps to reproduce the issue: - Allow a portal user, e.g. Joel (login portal) in runbot, to edit a knowledge article. - When the portal user logs in and tries to modify the article, the AI button and the ChatGPT command are available to him. The UI does nothing when the command is triggered. - But there is Access error in the server log. Solution: Only show the chatgpt command to internal users. TASK-ID: 4853088 Forward-Port-Of: odoo/enterprise#87324
When we create a fiscal position, we are checking if the user has the taxes for that country create and display a button to have the user download them. Previously, we were trying to create the tax reports for that fiscal position when creating it, however since the l10n_report is loaded with the taxes, the creation of the tax return wouldn't be triggered. Now, we are creating the tax returns after the user has downloaded the taxes needed for that fiscal position. task-4840412 Forward-
Original PR description
When we create a fiscal position, we are checking if the user has the taxes for that country create and display a button to have the user download them. Previously, we were trying to create the tax reports for that fiscal position when creating it, however since the l10n_report is loaded with the taxes, the creation of the tax return wouldn't be triggered. Now, we are creating the tax returns after the user has downloaded the taxes needed for that fiscal position. task-4840412 Forward-Port-Of: odoo/enterprise#87023
Creating documents through a mail alias for a folder that was not the default company on the database would cause an error. This was due to the company on the inactive alias that was being created for this new document not matching the company of the owner document. Added the company id to the vals_list before the creation of the document in order to use the proper company on the alias. opw-4717277 Forward-Port-Of: odoo/enterprise#86677 Forward-Port-Of: odoo/enterprise#84719
Original PR description
Creating documents through a mail alias for a folder that was not the default company on the database would cause an error. This was due to the company on the inactive alias that was being created for this new document not matching the company of the owner document. Added the company id to the vals_list before the creation of the document in order to use the proper company on the alias. opw-4717277 Forward-Port-Of: odoo/enterprise#86677 Forward-Port-Of: odoo/enterprise#84719
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 o
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#86750 Forward-Port-Of: odoo/enterprise#80116