Skip to content

Commit

Permalink
ultimos cambios
Browse files Browse the repository at this point in the history
  • Loading branch information
pablohmontenegro committed Apr 12, 2024
1 parent d256917 commit 7c7fe36
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 33 deletions.
32 changes: 5 additions & 27 deletions l10n_ar_account_tax_settlement/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,15 @@ def l10n_ar_account_tax_settlement_post_init_hook(env):
companies = env['res.company'].search([('l10n_ar_afip_responsibility_type_id.code', '=', '1'), ('chart_template', '=', 'ar_ri')])
for company in companies:
# Retenciones aplicadas de ganancias
xml_id_ret_gcias_aplic = "account.%s_%s" % (company.id, 'ri_tax_withholding_ganancias_applied')
impuesto_ret_gcias_aplic = env.ref(xml_id_ret_gcias_aplic)

impuesto_ret_gcias_aplic = env.ref("account.%s_%s" % (company.id, 'ri_tax_withholding_ganancias_applied'))
impuesto_ret_iva_aplic = env.ref("account.%s_%s" % (company.id, 'ri_tax_withholding_vat_applied'))
if impuesto_ret_gcias_aplic:
impuesto_ret_gcias_aplic.codigo_impuesto = '01'
# Retenciones aplicadas de iva
xml_id_ret_iva_aplic = "account.%s_%s" % (company.id, 'ri_tax_withholding_vat_applied')
impuesto_ret_iva_aplic = env.ref(xml_id_ret_iva_aplic)
if impuesto_ret_iva_aplic:
impuesto_ret_iva_aplic.codigo_impuesto = '02'
# Ahora agregamos etiquetas a impuestos existentes
# Listado de impuesto-etiquetas a agregar, el primer elemento de cada tupla es el impuesto, los restantes son las etiquetas
imp_etiq_list = [('ri_tax_percepcion_iva_aplicada', 'tag_ret_perc_sicore_aplicada'),
('ri_tax_percepcion_ganancias_aplicada', 'tag_ret_perc_sicore_aplicada'),
('ri_tax_percepcion_iibb_caba_sufrida', 'tax_tag_a_cuenta_iibb', 'tag_tax_jurisdiccion_901'),
('ri_tax_percepcion_iibb_ba_sufrida', 'tax_tag_a_cuenta_iibb', 'tag_tax_jurisdiccion_902'),
('ri_tax_percepcion_iibb_co_sufrida', 'tax_tag_a_cuenta_iibb', 'tag_tax_jurisdiccion_904'),
('ri_tax_percepcion_iibb_sf_sufrida', 'tax_tag_a_cuenta_iibb', 'tag_tax_jurisdiccion_921')
]
for imp_etiq in imp_etiq_list:
xml_id_percep_iva_aplic = "account.%s_%s" % (company.id, imp_etiq[0])
# Identificamos el impuesto al que se le va a agregar la/s etiqueta/s
impuesto = env.ref(xml_id_percep_iva_aplic)
# Identificamos en el impuesto cuál es el dentro de sus invoice_repartition_line_ids y refund_repartition_line_ids aquellas líneas
# que tienen repartition_type = 'tax' así le agregamos la etiqueta correspondiente
for repartition in ['invoice_repartition_line_ids', 'refund_repartition_line_ids']:
repartition_line = next((el for el in impuesto[repartition] if el['repartition_type'] == 'tax'), None)
# Agregamos la/s etiqueta/s, tiene que ser en una lista donde agreguemos los ids de las etiquetas
tag_ids = []
for etiq in imp_etiq[1:]:
tag_ids.append(env.ref('l10n_ar_ux.%s' % (etiq)).id)
repartition_line.tag_ids = tag_ids
env['account.chart.template']._add_wh_taxes(company)

# Dejamos registro en los logs de las compañías en las cuales se estableció el código de impuesto
if companies:
_logger.info("Se agregaron los códigos de impuestos correspondientes para retenciones de ganancias aplicadas y retenciones de iva aplicadas y las etiquetas de impuestos para compañías %s." % ', '.join(companies.mapped('name')))
Expand Down
17 changes: 11 additions & 6 deletions l10n_ar_account_tax_settlement/models/account_chart_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,19 +80,15 @@ def _get_latam_withholding_account_journal(self, template_code):
def _get_ar_ri_withholding_account_tax(self):
""" En caso de que se creen nuevas compañías argentinas responsable inscripto con su plan de cuentas correspondiente entonces a los impuestos creados de retenciones de ganancias e iva les agregamos el código de impuesto. """
taxes_creados = super()._get_ar_ri_withholding_account_tax()
company = self.env.company
# verificamos que la compañía sea argentina y responsable inscripto
company = self.env.company
if company.country_id.code in self._get_country_code() and company.l10n_ar_afip_responsibility_type_id.code == '1':
if taxes_creados:
taxes_creados.get('ri_tax_withholding_ganancias_applied')['codigo_impuesto'] = '01'
taxes_creados.get('ri_tax_withholding_vat_applied')['codigo_impuesto'] = '02'
return taxes_creados

def _load(self, template_code, company, install_demo):
""" Luego de que creen los impuestos del archivo account.tax-ar_ri.csv de l10n_ar al instalar el plan de cuentas en la nueva compañìa argentina agregamos en este método las etiquetas que correspondan en los repartition lines. """
# Llamamos a super para que se creen los impuestos
res = super()._load(template_code, company, install_demo)
company = self.env.company
def _add_wh_taxes(self, company):
if company.country_id.code in self._get_country_code() and company.l10n_ar_afip_responsibility_type_id.code == '1':
# Listado de impuesto-etiquetas a agregar, el primer elemento de cada tupla es el id del impuesto, los restantes son las etiquetas
imp_etiq_list = [('ri_tax_percepcion_iva_aplicada', 'tag_ret_perc_sicore_aplicada'),
Expand All @@ -108,11 +104,20 @@ def _load(self, template_code, company, install_demo):
impuesto = self.env.ref(xml_id_percep_iva_aplic)
# Identificamos en el impuesto cuál es el dentro de sus invoice_repartition_line_ids y refund_repartition_line_ids aquellas líneas
# que tienen repartition_type = 'tax' así le agregamos la etiqueta correspondiente

for repartition in ['invoice_repartition_line_ids', 'refund_repartition_line_ids']:
repartition_line = next((el for el in impuesto[repartition] if el['repartition_type'] == 'tax'), None)
# Agregamos la/s etiqueta/s, tiene que ser en una lista donde agreguemos los ids de las etiquetas
tag_ids = []
for etiq in imp_etiq[1:]:
tag_ids.append(self.env.ref('l10n_ar_ux.%s' % (etiq)).id)
repartition_line.tag_ids = tag_ids

def _load(self, template_code, company, install_demo):
""" Luego de que creen los impuestos del archivo account.tax-ar_ri.csv de l10n_ar al instalar el plan de cuentas en la nueva compañìa argentina agregamos en este método las etiquetas que correspondan en los repartition lines. """
# Llamamos a super para que se creen los impuestos
res = super()._load(template_code, company, install_demo)
company = self.env.company
self._get_ar_ri_withholding_account_tax()
self._add_wh_taxes(company)
return res

0 comments on commit 7c7fe36

Please sign in to comment.