summaryrefslogtreecommitdiff
path: root/addons/l10n_eu_service
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
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')
-rw-r--r--addons/l10n_eu_service/wizard/wizard.py14
-rw-r--r--addons/l10n_eu_service/wizard/wizard.xml7
2 files changed, 15 insertions, 6 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,
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 @@
<field name="tax_id"
domain="[('type_tax_use', '=', 'sale'),
('amount_type', '=', 'percent'),
- ('account_id', '!=', False),
('company_id','=', company_id)]"
options="{'no_create': True}"/>
- <field name="account_collected_id"
+ <field name="account_collected_id"
placeholder="Keep empty to use current Service VAT account"/>
- <field name="done_country_ids" widget="many2many_tags" readonly="1"
+ <field name="done_country_ids" widget="many2many_tags" readonly="1"
attrs="{'invisible': [('done_country_ids', '=', [(6, False, [])])]}"/>
- <field name="todo_country_ids" widget="many2many_tags"
+ <field name="todo_country_ids" widget="many2many_tags"
domain="[('country_group_ids', 'in', %(base.europe)d)]"/>
</group>
<footer>