summaryrefslogtreecommitdiff
path: root/addons/l10n_eu_service/wizard/wizard.py
diff options
context:
space:
mode:
authorfw-bot <otis@odoo.com>2019-11-18 16:04:25 +0000
committerfw-bot <otis@odoo.com>2019-11-19 16:08:16 +0000
commitd2b974d22aaa6f009d011354266effb96f5c93f3 (patch)
treeb7f3fec78bc29d7a58187b7d6b24e3fd31cc5181 /addons/l10n_eu_service/wizard/wizard.py
parenta1ed7aa2caefad4372826a1a534c3428471d9343 (diff)
[FIX] l10n_eu_service: make use of the new tax model
closes odoo/odoo#40526 X-original-commit: 87f2aae6c91e70f4f4102bf7ea41858db7dee16f Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Diffstat (limited to 'addons/l10n_eu_service/wizard/wizard.py')
-rw-r--r--addons/l10n_eu_service/wizard/wizard.py14
1 files changed, 12 insertions, 2 deletions
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,