Skip to content

Commit

Permalink
[FIX] l10n_ar_account_tax_settlement: ceros antes del importe de la r…
Browse files Browse the repository at this point in the history
…etención iva

Task: 31418
Estamos agregando ceros entre el número de comprobante y el importe de retención esto contradice la especificación que dice que debe haber espacios pero en la tarea 31418 nos indicaron que debe haber espacios. Ver nota en dicha tarea 14/07/2023 10:31:00 y 13/07/2023 14:39:47 .

X-original-commit: 364c101
  • Loading branch information
pablohmontenegro committed Jul 31, 2023
1 parent c2edbed commit 9f7a8ac
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 1 deletion.
2 changes: 1 addition & 1 deletion l10n_ar_account_tax_settlement/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
##############################################################################
{
'name': 'Tax Settlements For Argentina',
'version': "15.0.1.5.0",
'version': "15.0.1.6.0",
'category': 'Accounting',
'website': 'www.adhoc.com.ar',
'license': 'AGPL-3',
Expand Down
60 changes: 60 additions & 0 deletions l10n_ar_account_tax_settlement/models/account_journal.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ class AccountJournal(models.Model):
('iibb_aplicado_api', 'TXT Perc/Ret IIBB aplicadas API'),
('iibb_aplicado_sircar', 'TXT Perc/Ret IIBB aplicadas SIRCAR'),
('iibb_aplicado_dgr_mendoza', 'TXT Perc/Ret IIBB aplicado DGR Mendonza'),
('retenciones_iva', 'TXT Retenciones/Percepciones Sufridas IVA'),
# ('other', 'Other')
])

Expand Down Expand Up @@ -1350,3 +1351,62 @@ def misiones_files_values(self, move_lines):
'txt_filename': ('Retenciones ' if payment else 'Percepciones ') + 'Misiones.txt',
'txt_content': content,
}]

def retenciones_iva_files_values(self, move_lines):
""" Implementado segun especificación indicada en ticket 54274."""
self.ensure_one()
content = ''
for line in move_lines.sorted(key=lambda r: (r.date, r.id)):
payment = line.payment_id
if payment:
# regimen (long 3)
codigo_regimen = payment.tax_withholding_id.codigo_regimen
if not codigo_regimen:
raise ValidationError(_('No hay código de régimen en la configuración del impuesto "%s"') % (
payment.tax_withholding_id.name))
if len(codigo_regimen) < 3:
raise ValidationError(_('El código de régimen tiene que tener 3 dígitos en la configuración del impuesto "%s"') % (payment.tax_withholding_id.name))
content += codigo_regimen[:3]

# cuit agente (long 11)
content += payment.partner_id.ensure_vat()

# fecha retención (long 10)
content += fields.Date.from_string(payment.date).strftime('%d/%m/%Y')

# número comprobante (long 16)
content += re.sub('[^0-9\.]', '', payment.withholding_number).ljust(16, '0')

# Aclaración importante: estamos agregando ceros entre el número de comprobante y el importe de retención
# esto contradice la especificación que dice que debe haber espacios pero en la tarea 31418 nos indicaron
# que debe haber espacios. Ver nota en dicha tarea 14/07/2023 10:31:00 y 13/07/2023 14:39:47
# importe retención (long 16)
content += '%016.2f' % payment.amount
content += '\r\n'
elif line.move_id.is_invoice():
# regimen (long 3)
codigo_regimen = line.tax_line_id.codigo_regimen
if not codigo_regimen:
raise ValidationError(_('No hay código de régimen en la configuración del impuesto "%s"') % (
line.tax_line_id.name))
if len(codigo_regimen) < 3:
raise ValidationError(_('El código de régimen tiene que tener 3 dígitos en la configuración del impuesto "%s"') % (line.tax_line_id.name))
content += codigo_regimen[:3]

# cuit agente (long 11)
content += line.move_id.partner_id.ensure_vat()

# fecha retención (long 10)
content += fields.Date.from_string(line.move_id.invoice_date).strftime('%d/%m/%Y')

# número comprobante (long 16)
content += line.move_id.l10n_latam_document_number.ljust(16)

# importe retención (long 16)
content += '%16.2f' % line.balance
content += '\r\n'

return [{
'txt_filename': ('Retenciones' if payment else 'Percepciones') + '_iva.txt',
'txt_content': content,
}]

0 comments on commit 9f7a8ac

Please sign in to comment.