diff --git a/addons/l10n_eu_service/wizard/wizard.py b/addons/l10n_eu_service/wizard/wizard.py index fd2ce087460..5a7c174a813 100644 --- a/addons/l10n_eu_service/wizard/wizard.py +++ b/addons/l10n_eu_service/wizard/wizard.py @@ -70,6 +70,16 @@ class l10n_eu_service(models.TransientModel): 'res.country', 'l10n_eu_service_country_rel_todo', default=_default_todo_country_ids, string='EU Customers From', required=True) + def _get_repartition_line_copy_values(self, original_rep_lines): + return [(0, 0, { + 'factor_percent': line.factor_percent, + 'repartition_type': line.repartition_type, + 'account_id': line.repartition_type == 'tax' and (self.account_collected_id.id or line.account_id.id) or None, + 'tag_ids': [(6, 0, line.tag_ids.ids)], + 'company_id': line.company_id.id, + 'sequence': line.sequence, + }) for line in original_rep_lines] + def generate_eu_service(self): tax_rate = self.env["l10n_eu_service.service_tax_rate"] account_tax = self.env['account.tax'] @@ -81,8 +91,8 @@ class l10n_eu_service(models.TransientModel): data_tax = { 'name': tax_name, 'amount': tax_rate.search([('country_id', '=', country.id)]).rate, - 'account_id': self.account_collected_id.id or self.tax_id.account_id.id, - 'refund_account_id': self.account_collected_id.id or self.tax_id.refund_account_id.id, + 'invoice_repartition_line_ids': self._get_repartition_line_copy_values(self.tax_id.invoice_repartition_line_ids), + 'refund_repartition_line_ids': self._get_repartition_line_copy_values(self.tax_id.refund_repartition_line_ids), 'type_tax_use': 'sale', 'description': "EU-VAT-%s-S" % country.code, 'sequence': 1000, diff --git a/addons/l10n_eu_service/wizard/wizard.xml b/addons/l10n_eu_service/wizard/wizard.xml index f37da524bbc..e27f10a616a 100644 --- a/addons/l10n_eu_service/wizard/wizard.xml +++ b/addons/l10n_eu_service/wizard/wizard.xml @@ -23,14 +23,13 @@ - - -