Tuesday, February 20, 2024
6 changes · master
New functionality added to Odoo
A new connection between invoicing and email marketing lets marketers create campaigns aimed at customers with posted invoices. This makes it easier to reach relevant customers based on completed billing activity without manual filtering.
Original PR description
Purpose ======== Allow Marketers to easily target customers whose invoices are posted. Specifications ============== Add a bridge module that connects the "mass_mailing" and "account" apps. This module should enable us to execute mailings on invoices and ensure that the model "account.move" is accessible in the model selection within the mailing view. The default domain should filter out the invoices whose state = posted. Task-3595253
Enhancements to existing features
Australian payroll now calculates Ordinary Time Earnings more accurately and applies the improved value across related payroll rules. The update also strengthens payroll tests so future changes to payslip amounts or line ordering are intentional and easier to validate.
Original PR description
Implement rules for OTE, and update existing rules in order to benefit from it and have a more correct value. Also update the tests of the app in order to better test the expected payslips for each structure, ensuring that future changes that will affect the payslips values or line orders are made on purpose. And finally, fix the issues that were brought to light by these new tests. Task id # 3659302
Features or functions removed from Odoo
The subscription app no longer includes a separate default plan setting because it added complexity without much value. Businesses can use a default quotation template instead, making subscription configuration simpler and easier to maintain.
Original PR description
This setting adds complexity with no real value and it can easily be replaced by a default quotation template. taskid: 3693667
Updates Odoo's spreadsheet experience to a newer library version, bringing improvements across documents, dashboards, pivots, lists, charts, templates, and version history. This should help keep spreadsheet features more reliable and aligned with the latest product capabilities, with broad but mostly incremental user impact.
Original PR description
…-alpha.5
This update improves how Odoo duplicates many records at once, reducing unnecessary processing and database activity. Businesses should see faster copy operations in areas such as accounting, documents, helpdesk, projects, payroll, marketing, manufacturing, and knowledge management.
Original PR description
Purpose ======= Calling copy in a list comprehension or a loop does break the batch definition of many stuffs (create, message_subscribe, followers management, ...) leading to a large amount of…
Purpose
=======
Calling copy in a list comprehension or a loop does break the batch definition of many stuffs (create, message_subscribe, followers management, ...) leading to a large amount of unnecessary requests while duplicating many records.
The copy method is actually the only method left from the old API that does not handle recordsets.
This commit is making the copy and copy_data methods work in batch improving the execution of the computed fields, and the whole records creation process.
Now, copy works mainly like this:
@api.returns('self')
def copy(self, default=None):
vals_list = self.copy_data(default) # this one returns a list of vals
return self.create(vals_list)
And if you want specific vals for each record in the output, simply use copy_data() and modify its output accordingly, like in:
@api.returns('self')
def copy_data(self, default):
vals_list = super().copy_data(default)
return [dict(vals, name=_("%s (copy)", product.name)) for product, vals in zip(self, vals_list)]
For the record, duplicating 400 project.tasks (with lot of postprocess on copy about milestones, task dependencies, SOL mapping) divides the number of sql request by 2.4 (11000 -> 4500) and divides the execution time by 3 (15 -> 5 seconds).
TaskID: 3742289Businesses using Ecuadorian electronic invoicing can now set separate accounts for purchase and sales withholding tax bases. This helps ensure withholding entries record the base tax amount in the right account based on the transaction type, improving accounting accuracy and reporting.
Original PR description
This pr will add a new setting allowing the user to set up the purchase and sale tax base account. When setting up those accounts, creating a withholding will put the base tax amount on those account depending on the move_type. task: 3737356