Skip to content

Commit

Permalink
l10n_ar_account_tax_settlement_mendoza last changes
Browse files Browse the repository at this point in the history
  • Loading branch information
pablohmontenegro committed Oct 29, 2024
1 parent 327b599 commit fd73b64
Show file tree
Hide file tree
Showing 21 changed files with 84 additions and 46 deletions.
2 changes: 2 additions & 0 deletions l10n_ar_account_tax_settlement_mendoza/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizards
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
'name': 'TXT Mendoza',
'name': 'Tax settlement Mendoza',
'version': "16.0.1.0.0",
'category': 'Accounting',
'author': 'ADHOC SA',
'depends': [
'l10n_ar_account_tax_settlement',
'l10n_ar_account_withholding',
'base_import_match',
],
'data': [
'views/account_move_views.xml',
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError, RedirectWarning
from odoo.tools.float_utils import float_round
# from odoo.tools.misc import formatLang
# from odoo.tools import DEFAULT_SERVER_DATE_FORMAT
import re
from odoo import models, _
from odoo.exceptions import RedirectWarning


class AccountJournal(models.Model):
_inherit = 'account.journal'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from odoo import models, fields, api
from odoo import models, fields


class AccountMove(models.Model):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ class AccountPayment(models.Model):

_inherit = "account.payment"

alicuota_mendoza = fields.Float(store=True, readonly=True)
alicuota_mendoza = fields.Float(readonly=True)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# For copyright and license notices, see __manifest__.py file in module root
# directory
##############################################################################
from odoo import models, api, fields, _
from odoo import models, fields
from odoo.exceptions import ValidationError


Expand All @@ -14,19 +14,13 @@ class AccountPaymentGroup(models.Model):
alicuota_mendoza = fields.Float(help="Guardamos la alícuota para el txt de mendoza.", readonly=True)

def compute_withholdings(self):
"""Para el cálculo de retenciones automáticas de aplicadas de Mendoza siempre tiene que haber una factura vinculada al payment group."""
""" Para el cálculo de retenciones automáticas de aplicadas de Mendoza siempre tiene que haber una factura vinculada al payment group. Además debemos guardar en el payment de mendoza la alícuota aplicada. """
res = super().compute_withholdings()
tax_group_mendoza_id = self.env.ref('l10n_ar_ux.tax_group_retencion_iibb_za').id
retencion_mdza_aplicada = self.env['account.tax'].with_context(type=None).search([
('type_tax_use', '=', self.partner_type),
('company_id', '=', self.company_id.id),
('tax_group_id', '=', tax_group_mendoza_id),
], limit=1)
if retencion_mdza_aplicada and not self.to_pay_move_line_ids:
raise ValidationError('No puede calcular retenciones automáticas de aplicadas de Mendoza si no seleccionó una factura para pagar')
else:
super().compute_withholdings()

# Agregamos la alícuota de mendoza al payment (es necesario para generar el txt iibb_aplicado_sircar_files_values)
payment_mendoza = self.payment_ids.filtered(lambda x: x.tax_withholding_id.tax_group_id.id == tax_group_mendoza_id and x.tax_withholding_id.withholding_type == 'code' and x.state == 'draft')
if payment_mendoza:
if not self.to_pay_move_line_ids:
raise ValidationError('No puede calcular retenciones automáticas de aplicadas de Mendoza si no seleccionó una factura para pagar')
# Agregamos la alícuota de mendoza al payment (es necesario para generar el txt iibb_aplicado_sircar_files_values)
payment_mendoza.alicuota_mendoza = self.alicuota_mendoza
return res
13 changes: 13 additions & 0 deletions l10n_ar_account_tax_settlement_mendoza/models/account_tax.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from odoo import models


class AccountTax(models.Model):
_inherit = "account.tax"

def get_partner_alicuot(self, partner, date, line=None):
""" La alícuota para el archivo txt de mendoza que se genera desde el método iibb_aplicado_sircar_files_values
no se obtiene del partner sino que se obtiene del payment, y el código de régimen se obtiene del impuesto pero
extendemos el método get_partner_alicuot original para usarlo como puente, agregamos 'line' como parámentro. """
if line and line.payment_id and line.payment_id.alicuota_mendoza and line.payment_id.tax_withholding_id.codigo_regimen:
return self.env['res.partner.arba_alicuot'].new({'alicuota_retencion': line.payment_id.alicuota_mendoza * 100, 'partner_id': partner, 'regimen_retencion': line.payment_id.tax_withholding_id.codigo_regimen})
return super().get_partner_alicuot(partner, date, line=line)
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def menor_alicuota(self, actividades_con_alicuota_cero):
activity_codes = self.mapped('code')
activities = self.env['afip.activity'].search([('code', 'in', activity_codes)])
activities_with_aliquots = activities.filtered(lambda x: x.alicuota_general or x.posee_tasa_cero or x.no_posee_certificado_tasa_cero)
if not activities_with_aliquots:
if activities and not activities_with_aliquots:
raise UserError('No hay actividades con alícuotas')
actividades_con_alic = activities_with_aliquots.mapped('code')
elementos_no_en_ambas = [activity for activity in activity_codes if activity not in actividades_con_alic]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def write(self, vals):
vals['riesgo_fiscal_csv_file_last_update'] = fields.Datetime.now()
return super(ResCompany, self).write(vals)

def process_csv_file(self, partner_vat, activity_codes):
def process_mendoza_csv_file(self, partner_vat, activity_codes):
if self.riesgo_fiscal_csv_file:
# Decode the base64 file content and parse the CSV
csv_content = base64.b64decode(self.riesgo_fiscal_csv_file)
Expand All @@ -35,5 +35,4 @@ def process_csv_file(self, partner_vat, activity_codes):
if row[7] == 'S':
actividades_con_riesgo.append(row[3])
return actividades_con_riesgo, actividades_con_alicuota_cero
else:
raise UserError('Debe subir el archivo de riesgo fiscal en la sección de ajustes de contabilidad para calcular la retención automática de Mendoza.')
raise UserError('Debe subir el archivo de riesgo fiscal en la sección de ajustes de contabilidad para calcular la retención automática de Mendoza.')
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_move_form_personalizations" model="ir.ui.view">
<field name="name">account.move.form.personalizations</field>
<record id="view_move_form" model="ir.ui.view">
<field name="name">account.move.form</field>
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ class ResConfigSettings(models.TransientModel):
)
riesgo_fiscal_csv_file_last_update = fields.Datetime(
related='company_id.riesgo_fiscal_csv_file_last_update',
string="Última Modificación"
)
5 changes: 5 additions & 0 deletions l10n_ar_account_tax_settlement_mendoza/wizards/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
##############################################################################
# For copyright and license notices, see __manifest__.py file in module root
# directory
##############################################################################
from . import res_config_settings
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from odoo import models, fields

class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'

riesgo_fiscal_csv_file = fields.Binary(
related='company_id.riesgo_fiscal_csv_file',
readonly=False,
)
riesgo_fiscal_csv_file_last_update = fields.Datetime(
related='company_id.riesgo_fiscal_csv_file_last_update',
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>

<record model="ir.ui.view" id="res_config_settings_view_form">
<field name="name">res.config.settings.view.form.inherit.l10n_ar_afip_ws</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="l10n_ar.res_config_settings_view_form"/>
<field name="arch" type="xml">
<div id="argentina_localization" position="inside">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label for="riesgo_fiscal_csv_file" string="Riesgo Fiscal"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Agregar archivo csv de Riesgo Fiscal:
</div>
<div class="content-group">
<div class="row">
<field name="riesgo_fiscal_csv_file"/>
</div>
</div>
<div class="row">
<label for="riesgo_fiscal_csv_file_last_update" string="Última Modificación"/>
<field name="riesgo_fiscal_csv_file_last_update" class="o_inline"/>
</div>
</div>
</div>
</div>
</field>
</record>

</odoo>
2 changes: 0 additions & 2 deletions l10n_ar_txt_mendoza/__init__.py

This file was deleted.

15 changes: 0 additions & 15 deletions l10n_ar_txt_mendoza/models/account_tax.py

This file was deleted.

0 comments on commit fd73b64

Please sign in to comment.