Skip to content

Commit 3658ceb

Browse files
jjscarafiazaoral
andauthored
[MIG] l10n_ar_account_withholding,l10n_ar_chart: Migration to 13.0
* clean up - remove account group data definition - remove the chart template data definiton * remove fiscal positions - delete commented code - remove demo data for installing demo data. - remove icon * remove translations and hook * [MIG] l10n_ar_account_withholding: Migration to 13.0 * [MIG] l10n_ar_chart: Migration to 13.0 Co-authored-by: Katherine Zaoral <kz@adhoc.com.ar>
1 parent 3683d11 commit 3658ceb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+511
-3741
lines changed

l10n_ar_account_withholding/__manifest__.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,15 @@
3535
'views/res_partner_view.xml',
3636
'views/account_tax_view.xml',
3737
'data/tabla_ganancias_data.xml',
38+
'data/account_tax_withholding_template.xml',
3839
],
3940
'demo': [
4041
'demo/ir_parameter.xml',
4142
# 'demo/demo.xml',
4243
],
4344
'depends': [
4445
'account_withholding_automatic',
45-
'l10n_ar_account',
46+
'l10n_ar_ux',
4647
# para ganancias
4748
# deberiamos requerir l10n_ar_aeroo_base pero preferimos no hacerlo
4849
# para no sumar dependencinas. Se deberia requerir porque el reporte
@@ -53,7 +54,7 @@
5354
'external_dependencies': {
5455
'python': ['pyafipws'],
5556
},
56-
'installable': False,
57+
'installable': True,
5758
'name': 'Automatic Argentinian Withholdings on Payments',
58-
'version': '12.0.1.2.0',
59+
'version': "13.0.1.0.0",
5960
}

l10n_ar_account_withholding/data/account_tax_withholding_template.xml

+371
Large diffs are not rendered by default.

l10n_ar_account_withholding/models/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
##############################################################################
55
from . import res_company
66
from . import account_tax
7-
from . import account_invoice
7+
from . import account_move
88
from . import afip
99
from . import account_payment_group
1010
from . import res_partner
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1-
from odoo import models, api, fields
1+
from odoo import models, fields
22

33

4-
class AccountInvoice(models.Model):
5-
_inherit = "account.invoice"
4+
class AccountMove(models.Model):
5+
_inherit = "account.move"
66

7-
@api.multi
87
def _get_tax_factor(self):
9-
tax_factor = super(AccountInvoice, self)._get_tax_factor()
10-
doc_letter = self.document_type_id.document_letter_id.name
8+
tax_factor = super()._get_tax_factor()
9+
doc_letter = self.l10n_latam_document_type_id.l10n_ar_letter
1110
# if we receive B invoices, then we take out 21 of vat
1211
# this use of case if when company is except on vat for eg.
1312
if tax_factor == 1.0 and doc_letter == 'B':
1413
tax_factor = 1.0 / 1.21
1514
return tax_factor
1615

17-
@api.multi
1816
def get_taxes_values(self):
1917
"""
2018
Hacemos esto para disponer de fecha de factura y cia para calcular
@@ -23,28 +21,27 @@ def get_taxes_values(self):
2321
desde un onchange (ver https://github.com/odoo/odoo/issues/7472)
2422
entonces usamos este artilugio
2523
"""
26-
date_invoice = self.date_invoice or fields.Date.context_today(self)
24+
invoice_date = self.invoice_date or fields.Date.context_today(self)
2725
# hacemos try porque al llamarse desde acciones de servidor da error
2826
try:
29-
self.env.context.date_invoice = date_invoice
27+
self.env.context.invoice_date = invoice_date
3028
self.env.context.invoice_company = self.company_id
3129
except Exception:
3230
pass
33-
return super(AccountInvoice, self).get_taxes_values()
31+
return super().get_taxes_values()
3432

3533

36-
class AccountInvoiceLine(models.Model):
37-
_inherit = "account.invoice.line"
34+
class AccountMoveLine(models.Model):
35+
_inherit = "account.move.line"
3836

39-
@api.one
4037
def _compute_price(self):
4138
# ver nota en get_taxes_values
42-
invoice = self.invoice_id
43-
date_invoice = invoice.date_invoice or fields.Date.context_today(self)
39+
invoice = self.move_id
40+
invoice_date = invoice.invoice_date or fields.Date.context_today(self)
4441
# hacemos try porque al llamarse desde acciones de servidor da error
4542
try:
46-
self.env.context.date_invoice = date_invoice
43+
self.env.context.invoice_date = invoice_date
4744
self.env.context.invoice_company = self.company_id
4845
except Exception:
4946
pass
50-
return super(AccountInvoiceLine, self)._compute_price()
47+
return super()._compute_price()

l10n_ar_account_withholding/models/account_payment_group.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,17 @@ class AccountPaymentGroup(models.Model):
3939
compute='_company_regimenes_ganancias',
4040
)
4141

42-
@api.multi
4342
@api.depends('company_id.regimenes_ganancias_ids')
4443
def _company_regimenes_ganancias(self):
4544
"""
4645
Lo hacemos con campo computado y no related para que solo se setee
4746
y se exija si es pago de o a proveedor
4847
"""
49-
for rec in self.filtered(lambda x: x.partner_type == 'supplier'):
50-
rec.company_regimenes_ganancias_ids = (
51-
rec.company_id.regimenes_ganancias_ids)
48+
for rec in self:
49+
if rec.partner_type == 'supplier':
50+
rec.company_regimenes_ganancias_ids = rec.company_id.regimenes_ganancias_ids
51+
else:
52+
rec.company_regimenes_ganancias_ids = rec.env['afip.tabla_ganancias.alicuotasymontos']
5253

5354
@api.onchange('commercial_partner_id')
5455
def change_retencion_ganancias(self):

l10n_ar_account_withholding/models/account_tax.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ def check_partner_tax_tag(self):
4040
' utilizar esa misma etiqueta en las alícuotas configuradas en'
4141
' el partner. Revise los impuestos con id: %s') % recs.ids)
4242

43-
@api.multi
4443
def get_period_payments_domain(self, payment_group):
4544
previos_payment_groups_domain, previos_payments_domain = super(
4645
AccountTax, self).get_period_payments_domain(payment_group)
@@ -56,7 +55,6 @@ def get_period_payments_domain(self, payment_group):
5655
previos_payment_groups_domain,
5756
previos_payments_domain)
5857

59-
@api.multi
6058
def get_withholding_vals(self, payment_group):
6159
commercial_partner = payment_group.commercial_partner_id
6260

@@ -140,14 +138,12 @@ def get_withholding_vals(self, payment_group):
140138
vals['period_withholding_amount'] = amount
141139
return vals
142140

143-
@api.multi
144141
def get_partner_alicuota_percepcion(self, partner, date):
145142
if partner and date:
146143
arba = self.get_partner_alicuot(partner, date)
147144
return arba.alicuota_percepcion / 100.0
148145
return 0.0
149146

150-
@api.multi
151147
def get_partner_alicuot(self, partner, date):
152148
self.ensure_one()
153149
commercial_partner = partner.commercial_partner_id
@@ -170,9 +166,9 @@ def get_partner_alicuot(self, partner, date):
170166
from_date = fields.Date.to_string(date + relativedelta(day=1))
171167
to_date = fields.Date.to_string(date + relativedelta(day=1, days=-1, months=+1))
172168

173-
agip_tag = self.env.ref('l10n_ar_account.tag_tax_jurisdiccion_901')
174-
arba_tag = self.env.ref('l10n_ar_account.tag_tax_jurisdiccion_902')
175-
cdba_tag = self.env.ref('l10n_ar_account.tag_tax_jurisdiccion_904')
169+
agip_tag = self.env.ref('l10n_ar_ux.tag_tax_jurisdiccion_901')
170+
arba_tag = self.env.ref('l10n_ar_ux.tag_tax_jurisdiccion_902')
171+
cdba_tag = self.env.ref('l10n_ar_ux.tag_tax_jurisdiccion_904')
176172

177173
if arba_tag and arba_tag.id in self.tag_ids.ids:
178174
arba_data = company.get_arba_data(
@@ -233,7 +229,7 @@ def _compute_amount(
233229
if self.amount_type == 'partner_tax':
234230
# TODO obtener fecha de otra manera?
235231
try:
236-
date = self._context.date_invoice
232+
date = self._context.invoice_date
237233
except Exception:
238234
date = fields.Date.context_today(self)
239235
return base_amount * self.get_partner_alicuota_percepcion(

l10n_ar_account_withholding/models/res_company.py

-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ def get_arba_login_url(self, environment_type):
8989
'/SeguridadCliente/dfeServicioConsulta.do')
9090
return arba_login_url
9191

92-
@api.multi
9392
def arba_connect(self):
9493
"""
9594
Method to be called

l10n_ar_account_withholding/models/res_partner.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class ResPartnerArbaAlicuot(models.Model):
5050
'res.company',
5151
required=True,
5252
ondelete='cascade',
53-
default=lambda self: self.env.user.company_id,
53+
default=lambda self: self.env.company,
5454
)
5555
from_date = fields.Date(
5656
)

l10n_ar_account_withholding/security/security.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<field name="name">Arba Alicuot multi-company</field>
66
<field name="model_id" ref="model_res_partner_arba_alicuot"/>
77
<field name="global" eval="True"/>
8-
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
8+
<field name="domain_force">['|',('company_id', 'in', company_ids),('company_id','=',False)]</field>
99
</record>
1010

1111
<record id="partner_tax_withholding_amount_type" model="res.groups">

l10n_ar_account_withholding/views/afip_tabla_ganancias_alicuotasymontos_view.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,9 @@
2020
<field name="name">AFIP tax</field>
2121
<field name="type">ir.actions.act_window</field>
2222
<field name="res_model">afip.tabla_ganancias.alicuotasymontos</field>
23-
<field name="view_type">form</field>
2423
<field name="view_mode">tree</field>
2524
</record>
2625

27-
<menuitem name="Alicuotas y Montos Ganancias" action="act_afip_tabla_ganancias_alicuotasymontos" id="menu_action_afip_tabla_ganancias_alicuotasymontos" sequence="95" parent="l10n_ar_account.menu_afip_config"/>
26+
<menuitem name="Alicuotas y Montos Ganancias" action="act_afip_tabla_ganancias_alicuotasymontos" id="menu_action_afip_tabla_ganancias_alicuotasymontos" sequence="95" parent="l10n_ar.menu_afip_config"/>
2827

2928
</odoo>

l10n_ar_account_withholding/views/afip_tabla_ganancias_escala_view.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@
1919
<field name="name">AFIP tax</field>
2020
<field name="type">ir.actions.act_window</field>
2121
<field name="res_model">afip.tabla_ganancias.escala</field>
22-
<field name="view_type">form</field>
2322
<field name="view_mode">tree</field>
2423
</record>
2524

26-
<menuitem name="Escalas Ganancias" action="act_afip_tabla_ganancias_escala" id="menu_action_afip_tabla_ganancias_escala" sequence="95" parent="l10n_ar_account.menu_afip_config"/>
25+
<menuitem name="Escalas Ganancias" action="act_afip_tabla_ganancias_escala" id="menu_action_afip_tabla_ganancias_escala" sequence="95" parent="l10n_ar.menu_afip_config"/>
2726

2827
</odoo>
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<odoo>
3-
<record model="ir.ui.view" id="view_partner_form">
3+
<!-- TODO enable when l10n_ar_ux -->
4+
<!-- <record model="ir.ui.view" id="view_partner_form">
45
<field name="name">res.partner.form.inherit</field>
5-
<field name="inherit_id" ref="l10n_ar_account.view_partner_property_form"/>
6+
<field name="inherit_id" ref="l10n_ar_ux.view_partner_property_form"/>
67
<field name="model">res.partner</field>
78
<field name="arch" type="xml">
89
<field name="imp_ganancias_padron" position="after">
910
<field name="default_regimen_ganancias_id" attrs="{'invisible': [('imp_ganancias_padron', 'in', ['EX', 'NC'])]}"/>
1011
</field>
1112
<group name="others_col_1">
1213
<field name="drei"/>
13-
<!-- <field name="drei_number"/> -->
1414
</group>
1515
<group name="others" position="after">
1616
<label for="arba_alicuot_ids"/>
1717
<field name="arba_alicuot_ids"/>
1818
</group>
1919
</field>
20-
</record>
20+
</record> -->
2121

2222
</odoo>
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
# -*- coding: utf-8 -*-
2-
##############################################################################
3-
# For copyright and license notices, see __manifest__.py file in module root
4-
# directory
5-
##############################################################################
6-
from . import res_config_settings
1+
##############################################################################
2+
# For copyright and license notices, see __manifest__.py file in module root
3+
# directory
4+
##############################################################################
5+
from . import res_config_settings

l10n_ar_account_withholding/wizard/res_config_settings.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
class ResConfigSettings(models.TransientModel):
66
_inherit = 'res.config.settings'
77

8+
arba_cit = fields.Char(
9+
related='company_id.arba_cit',
10+
readonly=False,
11+
)
812
regimenes_ganancias_ids = fields.Many2many(
913
related='company_id.regimenes_ganancias_ids',
1014
readonly=False,
@@ -30,10 +34,12 @@ class ResConfigSettings(models.TransientModel):
3034
readonly=False,
3135
)
3236
cdba_alicuota_no_sincripto_retencion = fields.Float(
33-
related='company_id.cdba_alicuota_no_sincripto_retencion'
37+
related='company_id.cdba_alicuota_no_sincripto_retencion',
38+
readonly=False,
3439
)
3540
cdba_alicuota_no_sincripto_percepcion = fields.Float(
36-
related='company_id.cdba_alicuota_no_sincripto_percepcion'
41+
related='company_id.cdba_alicuota_no_sincripto_percepcion',
42+
readonly=False,
3743
)
3844
group_partner_tax_withholding_amount_type = fields.Boolean(
3945
'Allow to choose base amount type for withholdings on partners',

l10n_ar_account_withholding/wizard/res_config_settings_views.xml

+43-28
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,21 @@
44
<record model="ir.ui.view" id="res_config_settings_view_form">
55
<field name="name">res.config.settings.view.form.inherit.l10n_ar_afip_ws</field>
66
<field name="model">res.config.settings</field>
7+
<!-- <field name="priority">99</field> -->
78
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
89
<field name="arch" type="xml">
910
<div name="argentina_localization" position="inside">
1011
<div class="col-xs-12 col-md-6 o_setting_box">
1112
<div class="o_setting_left_pane"/>
1213
<div class="o_setting_right_pane">
13-
<label for="agip_padron_type" string="AGIP"/>
14+
<label for="regimenes_ganancias_ids" string="Regímenes de ganancias en los que usualmente retiene"/>
1415
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
1516
<div class="text-muted">
16-
Si es agente de Ret/Perc de AGIP especifique:
17+
En los proveedores podrá especificar cualquier régimen, y dicho regímen será utilizado por defecto en los pagos a ese proveedor.
18+
En los pagos podrá solo seleccionar manualemente alguno de los regímenes que defina a continuación.
1719
</div>
1820
<div class="content-group">
19-
<div class="row">
20-
<label for="agip_padron_type" class="col-md-6 o_light_label" string="Padrón a aplicar"/>
21-
<field name="agip_padron_type" class="oe_inline"/>
22-
</div>
23-
<div class="row">
24-
<label for="agip_alicuota_no_sincripto_retencion" class="col-md-6 o_light_label" string="Alícuota retención no inscripto"/>
25-
<field name="agip_alicuota_no_sincripto_retencion" class="oe_inline"/>
26-
</div>
27-
<div class="row">
28-
<label for="agip_alicuota_no_sincripto_percepcion" class="col-md-6 o_light_label" string="Alícuota percepción no inscripto"/>
29-
<field name="agip_alicuota_no_sincripto_percepcion" class="oe_inline"/>
30-
</div>
21+
<field name="regimenes_ganancias_ids" widget="many2many_tags"/>
3122
</div>
3223
</div>
3324
</div>
@@ -46,14 +37,48 @@
4637
<div class="col-xs-12 col-md-6 o_setting_box">
4738
<div class="o_setting_left_pane"/>
4839
<div class="o_setting_right_pane">
49-
<label for="regimenes_ganancias_ids" string="Regímenes de ganancias en los que usualmente retiene"/>
40+
<label for="arba_cit" string="ARBA"/>
41+
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
42+
<div class="text-muted" name="arba_description">
43+
Indique la clave CIT si utiliza padrón de ARBA de ret/perc de iibb.
44+
</div>
45+
<div class="content-group" name="arba-content-group">
46+
<div class="row">
47+
<label for="arba_cit" class="col-md-6 o_light_label" string="Clave CIT"/>
48+
<field name="arba_cit" class="oe_inline" password="True"/>
49+
</div>
50+
<div class="row">
51+
<label for="arba_alicuota_no_sincripto_retencion" class="col-md-6 o_light_label" string="Alícuota retención no inscripto"/>
52+
<field name="arba_alicuota_no_sincripto_retencion" class="oe_inline"/>
53+
</div>
54+
<div class="row">
55+
<label for="arba_alicuota_no_sincripto_percepcion" class="col-md-6 o_light_label" string="Alícuota percepción no inscripto"/>
56+
<field name="arba_alicuota_no_sincripto_percepcion" class="oe_inline"/>
57+
</div>
58+
</div>
59+
</div>
60+
</div>
61+
<div class="col-xs-12 col-md-6 o_setting_box">
62+
<div class="o_setting_left_pane"/>
63+
<div class="o_setting_right_pane">
64+
<label for="agip_padron_type" string="AGIP"/>
5065
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
5166
<div class="text-muted">
52-
En los proveedores podrá especificar cualquier régimen, y dicho regímen será utilizado por defecto en los pagos a ese proveedor.
53-
En los pagos podrá solo seleccionar manualemente alguno de los regímenes que defina a continuación.
67+
Si es agente de Ret/Perc de AGIP especifique:
5468
</div>
5569
<div class="content-group">
56-
<field name="regimenes_ganancias_ids" widget="many2many_tags"/>
70+
<div class="row">
71+
<label for="agip_padron_type" class="col-md-6 o_light_label" string="Padrón a aplicar"/>
72+
<field name="agip_padron_type" class="oe_inline"/>
73+
</div>
74+
<div class="row">
75+
<label for="agip_alicuota_no_sincripto_retencion" class="col-md-6 o_light_label" string="Alícuota retención no inscripto"/>
76+
<field name="agip_alicuota_no_sincripto_retencion" class="oe_inline"/>
77+
</div>
78+
<div class="row">
79+
<label for="agip_alicuota_no_sincripto_percepcion" class="col-md-6 o_light_label" string="Alícuota percepción no inscripto"/>
80+
<field name="agip_alicuota_no_sincripto_percepcion" class="oe_inline"/>
81+
</div>
5782
</div>
5883
</div>
5984
</div>
@@ -78,16 +103,6 @@
78103
</div>
79104
</div>
80105
</div>
81-
<div name="arba-content-group">
82-
<div class="row">
83-
<label for="arba_alicuota_no_sincripto_retencion" class="col-md-6 o_light_label" string="Alícuota retención no inscripto"/>
84-
<field name="arba_alicuota_no_sincripto_retencion" class="oe_inline"/>
85-
</div>
86-
<div class="row">
87-
<label for="arba_alicuota_no_sincripto_percepcion" class="col-md-6 o_light_label" string="Alícuota percepción no inscripto"/>
88-
<field name="arba_alicuota_no_sincripto_percepcion" class="oe_inline"/>
89-
</div>
90-
</div>
91106
</field>
92107
</record>
93108

0 commit comments

Comments
 (0)