Navigate
Branch
Friday, August 30, 2024
31 changes
13 changes
Resolved issues and error corrections
This fixes an error that occurred when users selected and duplicated several calendar events at once from the list view. The change restores the expected duplication workflow, helping teams manage repeated meetings or events without interruption.
Original PR description
Versions: ------------- saas-17.2 Steps to Reproduce: ---------------------------- 1. Go to the Calendar app. 2. Switch to list view. 3. Select multiple events. 4. Attempt to duplicate the selected events. Issue: -------- An error occurs when trying to duplicate multiple events. Cause: ---------- After a recent update, the `copy` method now processes records in batches, calling the `create` method with multiple records at once. Previously, this was done one by one. This change causes issues because the `default_get` method, used during creation, now encounters multiple records in `self`, leading to a singleton error. Solution: ------------ Instead of using `self.default_get()` with multiple records, we now use `self.env['calendar.event'].default_get()`. This ensures that the default values are set correctly without causing the singleton error. Task-4098739
Miscellaneous changes
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the whole batch. **Expected behavior:** The weight displayed on the wizard form should reflect the weight of the package plus all product that will be put inside it from the batch. **Steps to reproduce:** 1. Enable packs in settings, create a package type with a base weight of 1 unit and some produ
Original PR description
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the…
13 changes
Enhancements to existing features
Printed pages from key accounting screens now have a more polished and consistent layout when users print directly from the browser. This improves readability for journal items, reconciliation, and account reports, making printed financial information easier to review and share.
5 changes
Enhancements to existing features
This update improves the error messages users see when uploading digital certificates for Ecuadorian tax compliance. Instead of a generic message, users will now receive specific guidance about what went wrong—such as when a certificate uses the full country name "Ecuador" instead of the required 2-character code "EC". This helps users quickly identify and fix certificate upload issues without confusion.
Original PR description
### Steps to reproduce: - Install the module "l10n_ec" and switch to Ecuadorian company - Go to Accounting > Configuration > Ecuadorian SRI > Digital Certificates SRI - When uploading a p12 file with the country name "Ecuador" and not "EC" - An error pops up but does not tell the right reason ### Cause: The cryptography library only accepts country names in the form of 2 character country code, so it raises an error. If an error occurs during the loading of the file, the error message will always be "Error loading certificate %s, check that password is correct and file type is p12". ### Solution: As we cannot display the error messages of external libraries (here the cryptography library), this commit adds the reason "The country name is not a 2 character country code." in the error message. opw-4116914 Forward-Port-Of: odoo/enterprise#68633
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the whole batch. **Expected behavior:** The weight displayed on the wizard form should reflect the weight of the package plus all product that will be put inside it from the batch. **Steps to reproduce:** 1. Enable packs in settings, create a package type with a base weight of 1 unit and some product with a weight of 1 unit 2. Create two delivery transfers with some carrier (e.g, local delivery) each with 1 of the created product 3. Add the two pickings to a new batch, on the batch click the `Put in Pack` button and select the created package type 4. Observe that in the form, only one of the products from the batch transfer has been used to calculate the shipping weight **Cause of the issue:** In `shipping_weight`'s compute function in the `ChooseDeliveryPackage` wizard, we don't account for a batch package (like what is done in `action_put_in_pack()` defined on this wizard). Thus, one of the move lines in the batch is not used in the weight calculation. **Fix:** Look at the context to see if the user is packing a batch and if so, get all the involved move lines from it. opw-4077546 Forward-Port-Of: odoo/odoo#177952 Forward-Port-Of: odoo/odoo#177022
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In PR https://github.com/odoo/odoo/pull/172376 it was decided to not completely forbid quant duplication due to potential third party modules that could potentially use this feature. However, we see an increment of customer with an incorrect quantity in past history, or a discrepancy in v
Original PR description
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In…
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In PR https://github.com/odoo/odoo/pull/172376 it was decided to not completely forbid quant duplication due to potential third party modules that could potentially use this feature. However, we see an increment of customer with an incorrect quantity in past history, or a discrepancy in valuation and accounting because of this error. Unfortunately, it is incredibly easy to duplicate the quants by mistake, for example by miss-clicking when trying to export or update the inventory qty to 0 ...  Hence, even if it breaks some third party modules, it is imperative to prevent further quants duplication. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177796 Forward-Port-Of: odoo/odoo#177584
Changed the note on the attached_on field to properly note that the Inside quote option will include the document on the pdf of the quotation and sale order instead of just the quotation. Previously only said that it would be on the quote and caused confusion for customers when it would also show on the sale order. opw-4106894 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177681
Original PR description
Changed the note on the attached_on field to properly note that the Inside quote option will include the document on the pdf of the quotation and sale order instead of just the quotation. Previously only said that it would be on the quote and caused confusion for customers when it would also show on the sale order. opw-4106894 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177681
Added start/stop/restart aliases to the IoT image to simplify the use of systemctl commands. Forward-Port-Of: odoo/odoo#177874
Original PR description
Added start/stop/restart aliases to the IoT image to simplify the use of systemctl commands. Forward-Port-Of: odoo/odoo#177874
**Description of the issue/feature this PR addresses:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Steps to reproduce:** 1) With a database in v16 onwards, install the account_check_printing module. 2) Go to "Accounting / Configuration / Accounting / Journals" and create a new journal bank with more than one outgoing payment with "Checks" Payment Method. 3
Original PR description
**Description of the issue/feature this PR addresses:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment…
**Description of the issue/feature this PR addresses:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Steps to reproduce:** 1) With a database in v16 onwards, install the account_check_printing module. 2) Go to "Accounting / Configuration / Accounting / Journals" and create a new journal bank with more than one outgoing payment with "Checks" Payment Method. 3) Go to "Accounting / Vendor / Payments" and create a new payment with journal created on step 1 and "Checks" payment method and confirm. 4) Go to "Accounting" and on "Accounting dashboard" click on "Check to print" on Journal created on step 1 and then a bug with traceback is raised. **Current behavior before PR:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Desired behavior after PR is merged:** There is not a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Video/Screenshot link:** https://drive.google.com/file/d/1r6A3uMkFv2nIDZ1HYJLgj6e18pNH1P67/view Ticket Adhoc side: 75606 Task latam: 1217 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168383
To reproduce the bug, follow these steps: 1. Create a new time off type. 2. Create a new accrual plan. 3. Set the "Accrued Gain Time" field to “At the start of the accrual period.” 4. Create a new milestone with a cap. 5. Create a new allocation set its type to accrual then link it to our accrual plan. 6. Set the start date in the past so that the accrued days reach the cap. 7. Create a new leave in the past related to the allocation. 8. Check your balance for a future date in the Time
Original PR description
To reproduce the bug, follow these steps: 1. Create a new time off type. 2. Create a new accrual plan. 3. Set the "Accrued Gain Time" field to “At the start of the accrual period.” 4. Create a new…
To reproduce the bug, follow these steps: 1. Create a new time off type. 2. Create a new accrual plan. 3. Set the "Accrued Gain Time" field to “At the start of the accrual period.” 4. Create a new milestone with a cap. 5. Create a new allocation set its type to accrual then link it to our accrual plan. 6. Set the start date in the past so that the accrued days reach the cap. 7. Create a new leave in the past related to the allocation. 8. Check your balance for a future date in the Time Off app. Normally, with accrual allocation, we should see the allocation increase. The problem here is that in the future, the allocation decreases. This issue arises due to the way the `leaves_taken` field is computed. https://github.com/odoo/odoo/blob/08a4b9d78addeefde24b189f0066540e0dcee4c4/addons/hr_holidays/models/hr_leave_allocation.py#L215-L220 The value is retrieved from a default dictionary, which is processed based on existing records in the database. When we attempt to fetch the value using a new instance that only exists in memory, the key returns the default value of 0. Additionally, if we modify step 7 to set the leave in the future, the accrual value caps out at a level below the intended maximum. In some cases, if the data-fetching function is called with the same parameters consecutively, we receive different outputs. These issues arise because the new record persists as a cache. When we retrieve a new record with the same origin as a previous call, we receive the previously processed data. This also leads to a problem with recursion in the function `_get_future_leaves_on`. This commit addresses and resolves these issues. opw-4040882 Forward-Port-Of: odoo/odoo#174354
Since the rule refactor, additional byproducts are not considered in the post production picking. The problem is when we add a new byproduct, the backend do not add the warehouse_id on the stock move, and without a warehouse id, it was impossible to find a stock rule for it. Now, with the correct warehouse and stock rule, the stock move is added on the transfers. Testing steps: --------------------- - go to configuration > settings > enable Multi-step routes - go to configuration > wareho
Original PR description
Since the rule refactor, additional byproducts are not considered in the post production picking. The problem is when we add a new byproduct, the backend do not add the warehouse_id on the stock…
Since the rule refactor, additional byproducts are not considered in the post production picking. The problem is when we add a new byproduct, the backend do not add the warehouse_id on the stock move, and without a warehouse id, it was impossible to find a stock rule for it. Now, with the correct warehouse and stock rule, the stock move is added on the transfers. Testing steps: --------------------- - go to configuration > settings > enable Multi-step routes - go to configuration > warehouses and enable either 2 or 3 step manufacture - go to configuration > enable byproducts - create a BOM with some components/byproducts - create a MO with the BOM above, confirm it. Now, we can see the 'transfers' button with 2 transfers, one by the components and another one for the final products and the byproducts. - add a new byproduct with some produced quantity. Problem: ------------- No picking for the new byproduct when clicking on the transfer button Expected behaviour: ------------------------------ The byproduct should be in the list task: 3982566 Forward-Port-Of: odoo/odoo#170280
During refactoring of hr_holidays for 17.0 (commit https://github.com/odoo/odoo/commit/8f87e102a95412aa7dd1b0ce07365d9d3bbdba6a) a typo was introduced. Forward-Port-Of: odoo/odoo#177563
Original PR description
During refactoring of hr_holidays for 17.0 (commit https://github.com/odoo/odoo/commit/8f87e102a95412aa7dd1b0ce07365d9d3bbdba6a) a typo was introduced. Forward-Port-Of: odoo/odoo#177563
Previously the code setting the default taxes on product was called only if the database was in demo, which makes zero sense. Without demo data, creating a new company and assigning it its accounting package was not configuring correctly the existing products with the default taxes. ticket 4037904 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#173803
Original PR description
Previously the code setting the default taxes on product was called only if the database was in demo, which makes zero sense. Without demo data, creating a new company and assigning it its accounting package was not configuring correctly the existing products with the default taxes. ticket 4037904 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#173803
Do a modification of the picking type reservation method will not remove the reservation date on stock.move. It could create issue on the reservation or the forecast report where the reservation date is used without doing a check on the picking type reservation method. Clean the data when we update the reservation method 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 an
Original PR description
Do a modification of the picking type reservation method will not remove the reservation date on stock.move. It could create issue on the reservation or the forecast report where the reservation date is used without doing a check on the picking type reservation method. Clean the data when we update the reservation method 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#170443 Forward-Port-Of: odoo/odoo#170341
Before this commit, recurrent events created with the 'All Day' option were duplicating the first event of the recurrence in Google side. This was happening because we wrongly synchronized the single event with Google before the synchronization of its recurrence (which already synchronize the events in Google side itself). After this commit, the recurrence is created normally using the 'All Day' option. We achieve that by skipping the useless synchronization we were doing in the single event:
Original PR description
Before this commit, recurrent events created with the 'All Day' option were duplicating the first event of the recurrence in Google side. This was happening because we wrongly synchronized the single event with Google before the synchronization of its recurrence (which already synchronize the events in Google side itself). After this commit, the recurrence is created normally using the 'All Day' option. We achieve that by skipping the useless synchronization we were doing in the single event: only the recurrence must be synchronized in this specific flow. task-3768121 Forward-Port-Of: odoo/odoo#177073 Forward-Port-Of: odoo/odoo#166885
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select "Discard". Before this commit, the `discard` function of the relational model, didn't take into account the initial commands, and replace the x2many with an empty list of commands. The issue is that the settings need to be saved (after discarding the changes) when leaving, throws an action's
Original PR description
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select…
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select "Discard". Before this commit, the `discard` function of the relational model, didn't take into account the initial commands, and replace the x2many with an empty list of commands. The issue is that the settings need to be saved (after discarding the changes) when leaving, throws an action's button. This is done, to create a res_id, that is most of the time mandatory to perform the action (see [1]) So if the `discard` function, empty the x2many, the setting will be modified, and the x2many will be emptied. Now, the `discard` function of the relational model take into account the x2many initial commands, therefore the x2many setting will stay unchanged. [1] : https://github.com/odoo/odoo/commit/9b81ddb993e4d56aba5aae637d160522d3af1d30 opw-4050990 opw-4092267 opw-4100926 Co-authored-by: Aaron Bohy <aab@odoo.com> Forward-Port-Of: odoo/odoo#178039 Forward-Port-Of: odoo/odoo#177883
Original PR description
This PR enhances the visual output when users initiate a print action directly from their browser. The changes ensure a more polished and consistent appearance of printed documents, addressing visual…
This PR enhances the visual output when users initiate a print action directly from their browser. The changes ensure a more polished and consistent appearance of printed documents, addressing visual issues and improving overall readability. Affected views: - Journal Items - Reconciliation - Account Reports task-4143220 | Journal Items - Current Result | Journal Items - Expected result | |--------|--------| | | | | **Reconciliation - Current Result** | **Reconciliation - Expected result** | |  |  | | **Reports - Current result** | **Reports - Expected result** | |  | |
Planning screens now hide actions, filters, cost measures, and time-tracking details from users who do not have the right permissions. This prevents confusing access errors and gives each user a cleaner view based on their role.
Original PR description
* = planning_holidays, project_timesheet_forecast We did this for preventing unauthorized access errors. We hid the following button and filter for planning users: - Publish button - Publish & Send - 'Shifts in Conflict' filter - Edit - Delete We hid the following measures for non-HR users: - Allocated Hours Cost - Effective Hours Cost We hid the following stat button and fields for non-timesheet users: - Recorded stat button - Effective Hours field - Percentage Hours field - Remaining Time field task-3823274
Manufacturing users can now start or pause multiple work orders at once from the work order list view. This reduces repetitive clicks and helps teams manage production flow more efficiently.
Original PR description
Addition of a mass start/pause button in wo list view task-id: 4072809 Community: https://github.com/odoo/odoo/pull/174400
Project task scheduling now considers the availability of all assigned users, reducing planning conflicts for shared tasks. It also ignores outdated deadlines when recalculating schedules and lets users undo smart scheduling changes if the result is not suitable.
Original PR description
[IMP] project: {re,}schedule multi users tasks Before this commit: - {auto planning / moving forward and backward} tasks with multi users is following the company calendar leading to create…
[IMP] project: {re,}schedule multi users tasks
Before this commit:
- {auto planning / moving forward and backward} tasks with multi
users is following the company calendar leading to create conflicts.
- a bug was found, the first possible date to plan is taking into
account the deadlines of the tasks that will be planned. for example
if task A is blocking task B and the deadline of A is 01/05/2023,
first planned date to plan for B will be 01/05/2023
then if A was planned with a new deadline before the old one 01/04/2023
so the old deadline should no more impact task B planned_date_begin.
- It's not possible to undo the scheduling if the user is not satisfied
with the result.
After this commit:
- tasks are planned in a time that would be suitable for all users.
- old deadlines of tasks to plan are no more taken into account.
- An 'undo' button in a notification toast after a smart
scheduling in the project task gantt view has been triggered. This
allows the user to rollback to the previous state.
Technically,
for move back/for{ward}, kahn algorithm with priority queue was changes
to a simple for loop.
why ? before this commit, an index is stored and keep incrementing for
each interval. There is no need to iterate intervals again as we're
pretty sure that previous intervals are used and the coming ones are
not used
but in this commit, a user availabilities can be in his intervals and
in another interval for his availabilities and another user, so there is
no way to be sure that coming intervals are not used as they can be used
in another context.
keep in mind, that in case of perf problems, it's possible to implement
again kahn approche and verifying if the coming interval is good or not
by comparing it with the used for planning, it's a bit complicated to
implement and maintain. but it's still a possible optimized solution if needed.
task-3853065Approval rules in Odoo Studio can now support up to nine steps instead of three, making it easier to model more complex approval flows. The related field label has also been simplified to "Step" for clearer configuration.
Original PR description
This task adds more steps in the notification_order selection field of approval rules. It initially contained 3 steps, and has now 9. This allows more complex approval configurations. The field has also been renamed into "Step". A deeper refactoring of the feature will come after v18. Task~4122978
This update simplifies how the UrbanPiper point of sale integration identifies the current order. It reduces reliance on duplicate internal logic, helping keep order handling more consistent and easier to maintain.
Original PR description
Remove `selectedOrder` getter to use `get_order()` instead. taskId: 4141914
Resolved issues and error corrections
This change restores Brazilian tax records that had been removed in a previous update. The rollback prevents unexpected issues for Brazilian localization users while the team reassesses the correct approach for Brazil-specific tax handling.
Original PR description
[FIX] l10n_br_avatax: reset the tax record for brazil This is a revert for the changes that has been done in this commit https://github.com/odoo/enterprise/pull/68310/commits/5a2cfe938f6e13a9cd7394e3ce7685b25a31e7f8 Reason: It cause un-expected effect to brazil as they stay need all the removed taxes. So, We decided to roll the change back and investigate in the brazil case again to define what we need to do. task-id#4127128 odoo-pr: https://github.com/odoo/odoo/pull/177727
Updating a partner bank account from the Employees bank account view now applies it to the related employees for that partner. The selection list is also limited to partners linked to employees in the selected companies, reducing mistakes and keeping payroll banking details consistent.
Original PR description
With this commit, when a user will a partner bank account from the view (Employees > Employees > Bank Accounts) this bank account will be set on its partner's employees. Also on this view; only partners linked to at least one employee (in selected companies) will be selectable. task-4076834
The Field Service sales tour has been corrected so users can create a product and return to the product list without encountering an error. This prevents interruptions during guided Field Service workflows and keeps the product selection flow stable.
Original PR description
This commit resolves an issue where a traceback occurs during the FSM tour. Steps to reproduce: 1. Start the FSM tour. 2. Create a new task. 3. Launch the timer on the task. 4. Click on the Products cart stat button. 5. Create a new product. 6. Use the breadcrumbs to navigate back to the product list. 7. Traceback occurs. Issue: Extra classes were being added unintentionally, causing the traceback. Solution: Remove the unnecessary classes to prevent the traceback. task-4140462
Code cleanup and technical improvements
Intrastat reports now use a more efficient reporting engine, making report generation more consistent and easier to maintain. Users will also see cleaner line descriptions and clearer supplementary unit labels, while exports handle comparison data more appropriately.
Original PR description
Before this commit, we used the dynamic_line_generator to generate the lines. It works well but it's quite less efficient than the custom report engine, that we will use now after this commit. But…
Before this commit, we used the dynamic_line_generator to generate the lines. It works well but it's quite less efficient than the custom report engine, that we will use now after this commit. But with the complexity of grouping line in intrastat, we made some changes in the code base of the account_report engine :
• For the custom groupby : https://github.com/odoo/enterprise/pull/60565
• For the warnings : https://github.com/odoo/enterprise/pull/60929
Also include some UI changes for the lines data, mainly for the name of each line where there were too much information, and it was hard to read. Also for the supplementary units, it now shows the unit code (l, p/st, ...)
For the SQL, before this commit, the report used 2 different query for parents and sublines, with different information returns for each query, after this commit we will use only one query with always the same data structure.
And then, add a little computed field in the account_move model for intrastat with the intrastat_system as a string ('Arrival' or 'Dispatch')
task-3747192Miscellaneous changes
vat base and change exempt base to exports account. Forward-Port-Of: odoo/enterprise#66380 Forward-Port-Of: odoo/enterprise#66086
Original PR description
vat base and change exempt base to exports account. Forward-Port-Of: odoo/enterprise#66380 Forward-Port-Of: odoo/enterprise#66086
Have a partner in need of action with the followup level configured to Send an Email, with 'Automatic' enabled Case 1: - Send the followup manually - Reply to the follouwp mail - Message will be posted as log note but the system link the message with the previous one[1], where user is the author and will be automatically notified Case 2: - Wait for the cron to send followup automatically - Reply to the followup mail - Message will be posted as log note but since OdooBot is the author
Original PR description
Have a partner in need of action with the followup level configured to Send an Email, with 'Automatic' enabled Case 1: - Send the followup manually - Reply to the follouwp mail - Message will be posted as log note but the system link the message with the previous one[1], where user is the author and will be automatically notified Case 2: - Wait for the cron to send followup automatically - Reply to the followup mail - Message will be posted as log note but since OdooBot is the author of the previous message no user will receive any notification With this commit we make use of the followup responsible when sending followup email automatically before defaulting to OdooBot [1] https://github.com/odoo/odoo/blob/fe4b2a6d08a450b281e7ac0676afd51a88dd6008/addons/mail/models/mail_thread.py#L1182 opw-4000835 Forward-Port-Of: odoo/enterprise#67391
As the SO for subscription are updated every recurrence, it's hard to keep track of possible upselling opportunities. This change update the sale upselling opportunity for subscription to save more information regarding the opportunity and don't erase old activities to keep a better record of what has been deliverd/invoiced. task-id : 3323129 Forward-Port-Of: odoo/enterprise#63894
Original PR description
As the SO for subscription are updated every recurrence, it's hard to keep track of possible upselling opportunities. This change update the sale upselling opportunity for subscription to save more information regarding the opportunity and don't erase old activities to keep a better record of what has been deliverd/invoiced. task-id : 3323129 Forward-Port-Of: odoo/enterprise#63894
This update improves the Carta Porte 3.0 PDF report used for Mexican shipping documentation. The report now has a clearer layout, corrected tax registration and fiscal residence information for transport figures, and fixed date fields that were previously swapped. These improvements ensure the shipping documents are more accurate and easier to read for compliance purposes.
Original PR description
[This commit] added in a new Carta Porte 3.0 PDF for Mexico in version saas-17.3 that inherits from the standard delivery slip, by removing all the tables related to the products etc. (for security reasons: the driver doesn't need to know what's in the cargo) and adding in some new required fields. This commit backports the report from saas-17.3 with the following changes: - We improved the layout a bit to make the report even clearer. - We corrected the "Num Reg ID Trib" and "Residencia Fiscal" of the "Figura"'s to use the right value and show them per figura. - We corrected the departure and arrival date (they were swapped). These changes will be forward-ported again to the upper versions. [This commit]: https://github.com/odoo/enterprise/commit/af14612ec5942acdc06584ec8ff9d8bf26998ae7 task-3990042 Forward-Port-Of: odoo/enterprise#65337
Resolved issues and error corrections
This fix corrects the bank reconciliation report to properly count both reconciled and unreconciled transactions that are not from a bank statement. Previously, the report was excluding reconciled entries, which caused incorrect account balances. The fix also addresses an issue with reconciliation rate calculations when there are no reconciled entries.
Original PR description
Before this commit, the section transaction without statement didn't count the reconciled entries, and so the balance of the account was wrong. To fix that we putted a new custom engine function that will trigger the _bank_reconciliation_report_custom_engine_common with False for the "from_statement" and False for the "unreconciled" variables. With that the query will get all the transaction reconciled or not that are not from a statement. There was also a problem if the reconcile rate was 0, which didn't when having only unreconciled entries but now that we can have that, it needed to be modified. task: 4110491
This fix ensures that when follow-up emails are sent automatically by the system, the designated follow-up responsible person is credited as the message author instead of the system bot. This means that when customers reply to automatic follow-up emails, the responsible person will be properly notified, matching the behavior of manually-sent follow-ups.
Original PR description
Have a partner in need of action with the followup level configured to Send an Email, with 'Automatic' enabled Case 1: - Send the followup manually - Reply to the follouwp mail - Message will be posted as log note but the system link the message with the previous one[1], where user is the author and will be automatically notified Case 2: - Wait for the cron to send followup automatically - Reply to the followup mail - Message will be posted as log note but since OdooBot is the author of the previous message no user will receive any notification With this commit we make use of the followup responsible when sending followup email automatically before defaulting to OdooBot [1] https://github.com/odoo/odoo/blob/fe4b2a6d08a450b281e7ac0676afd51a88dd6008/addons/mail/models/mail_thread.py#L1182 opw-4000835 Forward-Port-Of: odoo/enterprise#67391
This fix ensures that when users duplicate a pricelist, all recurring price rules and rental rules are now properly copied to the new pricelist. Previously, these special pricing rules were not being duplicated, which meant users had to manually recreate them in the duplicated pricelist.
Original PR description
Before this commit, when user duplicate pricelist then recurring price rule are not duplicated in new pricelist. After this commit, recurring price rule will be copied to new pricelist when user will duplicate pricelist. task-4035473