Tuesday, June 11, 2024
15 changes · 17.0
Enhancements to existing features
This update adds the ability to include gratification bonuses in Luxembourg employee payslips as an input type. When a gratification is added to other inputs, it will be automatically calculated and processed the same way as the 13th month bonus, simplifying payroll management for companies operating in Luxembourg.
Original PR description
This will add an input type: gratification for the luxembourg payslips. If there is a gratification in the other inputs, the rules will be added to the payslip and the gratification is computed in the same way as the 13th month. Task: 3794333 Forward-Port-Of: odoo/enterprise#63920 Forward-Port-Of: odoo/enterprise#63800
The map view has been improved to handle grouping operations gracefully. Previously, when users attempted to group records by a property in the map view, the system would crash. Now, the grouping feature is disabled in the map view (similar to how it works in the gantt view), preventing errors and providing a better user experience.
Original PR description
Purpose ======= Do not crash when grouping by a property, instead we want to disable the group by like it has been done for the gantt view. Clean a test about the group by in the gantt view. Task-3876726
Customers can now edit optional products on their active subscriptions (in progress, paused, or churned) when their recurring plan allows renewals or product additions. Previously, the optional products tab was hidden after subscription confirmation, preventing customers from making changes to optional items even though they could add them during renewal or upsell processes.
Original PR description
Before this commit, when recurring plan allow customer to renew or add product then customer can create upsell or renew subscription from portal and they can add or remove product which are added as optional product in subscription and in upsell or renew quotation optional products from parent subscription are copied in new quotation. optional product tab is getting hidden from user when subscription is confirmed so user will not able to edit optional product value anymore. after this commit, make optional product tab visible to user when subscription is 'in progress', 'paused' or 'churned' state and recurring plan allow customer to renew or add product so user will able to edit optional products for subscription. task-3858850
Resolved issues and error corrections
This fix resolves an issue where marketing campaign templates could fail with a "name must be unique" error when renaming tracking sources. The system now properly checks for existing tracking source names across all records, not just active templates, and automatically generates unique names when needed to prevent conflicts.
Original PR description
With this commit whenever utm.source name is written it will check its uniquness (generating a unique name if necessary). [Reproduce] - Install marketing_automation - Have Campaign with a Template: -…
With this commit whenever utm.source name is written it will check its uniquness (generating a unique name if necessary). [Reproduce] - Install marketing_automation - Have Campaign with a Template: - Access the Campaign's Template and go to the Settings tab. - Note down the NAME of the `utm.source` (found in the Advanced section, under the field "Name"). - Delete this template (which will also delete associated `mailing.mailing` records.) - Create new template (by returning to the Campaign form, opening an activity, creating template) - Open the Campaign's Template: - Disable read-only on the Name field in Advanced section (modify the `mailing.mailing.form` view). - Change its name to the previously noted `utm.source` NAME. - Save -> BUG: Trackback "The name must be unique" [Why this bug happens?] When you delete a template (`mailing.mailing`) related to a `utm.source`, the `utm.source` will still exist. Then, when attempting to change the `utm.source` name, the system is supposed to detect if the name already exists and generate a new unique name if necessary. However, due to the mechanism utilized in the function (ref.1), which searches for existing names based on existing templates (`mailing.mailing`), which you have deleted, the existing `utm.source` NAME won't be found. Consequently, the function mistakenly believes the name is unique and doesn't generate a new name, leading to the encountered error. (ref.1) `UtmMixin._get_unique_names` https://github.com/odoo/odoo/blob/205caa3d6539187009a8b8bbd1557e75fe045ff3/addons/utm/models/utm_mixin.py#L77 opw-3835704
This update corrects an incorrect file path used by the Mexican EDI system for validating foreign trade documents (ComercioExterior20). The fix ensures that the system can properly locate and use the correct validation rules, preventing potential errors when processing Mexican electronic invoices related to foreign trade transactions.
Original PR description
ComercioExterior20 has wrong path for its xsd runbot-55568 Forward-Port-Of: odoo/enterprise#63429
This fix corrects how payment amounts are rounded when processing Mexican electronic invoices (CFDI) in multiple currencies. Previously, rounding inconsistencies could occur when payments were made in Mexican Pesos (MXN) but invoices were in different currencies, leading to discrepancies between calculated totals and tax amounts. The fix ensures consistent rounding calculations across all payment sections.
Original PR description
The 'Totales' section is computed by aggregating amounts then rounding. The 'ImpuestosP' section is computed by making the sum of rounded values. So when the payment is expressed in MXN but not the invoices, we could have a rounding issue here.
This update prevents administrators from accidentally modifying critical spreadsheet revision records, which could break the spreadsheet's history and functionality. Only the active status can now be changed; other fields are locked to maintain data integrity.
Original PR description
Revisions are technical records that are never supposed to be changed (except the `active` field). If any of `res_model`, `res_id`, `revision_uuid` is changed, the spreadsheet history will be broken. Changing field `commands` could also break the spreadsheet if the json is malformed or the command is made invalid. In this commit, we prevent the admin to make any changes.
This fix addresses a compliance issue with Mexican tax filings (CFDI) where payments created in Odoo before submission can now be properly dated with the current submission date instead of the payment creation date. Mexican tax law allows payments to be submitted up to 10 days into the following month, and this change ensures the filing date reflects when the document is actually sent to the government rather than when the payment was initially recorded.
Original PR description
Issue: Sometimes payments are created in Odoo prior to sending the CFDI, by law payments don't have to be necessarily sent to the government on the same month and can sometimes be sent up to the first 10 days of the next month. Solution: fill the 'fecha' field with the current datetime for the cfdi of the payments, Then send it. Task-3885769
This fix resolves a crash that occurred when users tried to add optional columns to the balance sheet report in the accounting module. The issue was caused by a missing technical identifier that prevented the column selection dropdown from displaying properly. Users can now successfully customize their balance sheet reports by adding new columns without encountering errors.
Original PR description
Steps to reproduce ================== - Enable debug mode - Go to accounting app - reporting - balance sheet - three wheels on top right - click on the icon to show new columns -> Invalid portal target Cause of the issue ================== The uniqueRendererClass is used to target a portal for the dropdown, but that class isn't applied in the AccountReportListRenderer. https://github.com/odoo/odoo/pull/160566 opw-3974195
A recent change to the Point of Sale preparation display feature has been reverted due to an issue identified in the code review. This fix restores the previous working version of the bill screen and preparation display functionality to ensure the restaurant ordering system operates correctly.
Original PR description
This reverts commit f7f0317a1d6d129a847e09c3ccd0df19ae99d3e5. Cause: https://github.com/odoo/enterprise/pull/63268#issuecomment-2160019128 Linked with https://github.com/odoo/odoo/pull/168815
This fix resolves an error that occurred when loading demo data for the Belgian-US consolidation module. The issue was caused by invoice records being created with mismatched company assignments between the invoice header and its line items. By ensuring all parts of the invoice use the same company, the demo data now installs successfully without errors.
Original PR description
When installing the l10n_be_us_consolidation_demo module, there is a traceback and invoice data is not installed. ### Steps to reproduce: - Create a new DB with nothing installed and demo data not active - Install l10n_be_us_consolidation_demo - 'Activate the developer mode' in settings page - 'Load Demo Data' in settings page and confirm - Check logs and see traceback ### Cause: The account.move is created with the default company and the account.move.line if forced to be created with an account from the company "l10n_be.demo_company_be". In the end the move and its lines does not have the same company, so the record creation fails in check_company(). ### Solution: Specify the company of the account.move in the record to be the same as the lines. opw-3952634
This fix corrects an issue where Fulfillment by Merchant (FBM) orders from Amazon were incorrectly being assigned to FBA (Fulfillment by Amazon) warehouses. The change ensures that FBM orders use the correct warehouse, improving order fulfillment accuracy and preventing inventory management conflicts.
Original PR description
opw-3958044 opw-3948546
Fixed an issue in the salary configurator where meal voucher amounts were not being copied from the employee's existing contract. Previously, the system would default to a fixed amount of 7.45€ per worked day instead of using the actual amount specified in the contract. This fix ensures the correct meal voucher amount is carried over when configuring salaries.
Original PR description
In the salary configurator, we use a meal voucher amount by default: 7 .45€/worked day. It should really copy the meal voucher amount from the contract instead. Task: Forward-Port-Of: odoo/enterprise#63797 Forward-Port-Of: odoo/enterprise#61655
This fix resolves an issue in the Profit and Loss report where ungrouped account lines (labeled as "(No Group)") were folding and unfolding together instead of individually. The problem occurred because these lines shared duplicate identifiers without considering their parent-child relationships. The fix now properly incorporates parent line information into the line identifiers, allowing each ungrouped account to be expanded or collapsed independently.
Original PR description
In the reports, the groups called '(No Group)' fold and unfold together. ### Steps to reproduce: - in Accounting app go in Configuration > Account Groups and create an account group for the current company - Go in Reporting > Profit and Loss - All '(No Group)' lines fold and unfold together ### Cause: Line ids are duplicate for (No Group) lines: '\~account.group\~'. The hierarchy is ignored for these ids, there is no reference to the parent line. ### Solution: Integrate the parent line in the ids to take the hierarchy into consideration. ### opw-3885400 Forward-Port-Of: odoo/enterprise#63804 Forward-Port-Of: odoo/enterprise#62647
This update prevents administrators from accidentally modifying critical revision records in spreadsheets, which could break the spreadsheet history and functionality. The system now locks down revision records so only the active status can be changed, protecting the integrity of spreadsheet data and its historical tracking.
Original PR description
Revisions are technical records that are never supposed to be changed (except the `active` field). If any of `res_model`, `res_id`, `revision_uuid` is changed, the spreadsheet history will be broken. Changing field `commands` could also break the spreadsheet if the json is malformed or the command is made invalid. In this commit, we prevent the admin to make any changes.