diff --git a/source/app/models/main.py b/source/app/models/main.py index de199f2..aeb39d8 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -7550,10 +7550,8 @@ class CfdiPagos(BaseModel): tipo_factor = 'Cuota' import_dr = round(tax.importe * tax_proporcion, 2) - # ~ xml_importe = FORMAT.format(tax.importe) xml_importe = FORMAT.format(import_dr) base_dr = round(tax.base * tax_proporcion, 2) - # ~ xml_tax_base = FORMAT.format(tax.base) xml_tax_base = FORMAT.format(base_dr) values = { @@ -7578,12 +7576,12 @@ class CfdiPagos(BaseModel): "ImporteP": import_dr, } taxes_pay['traslados'][tax_key] = values - else: + elif tax.impuesto.tipo == 'R': retenciones.append(values) if tax_key in taxes_pay['retenciones']: - taxes_pay['retenciones'][tax_key] += tax.importe + taxes_pay['retenciones'][tax_key] += import_dr else: - taxes_pay['retenciones'][tax_key] = tax.importe + taxes_pay['retenciones'][tax_key] = import_dr impuestos['traslados'] = traslados impuestos['retenciones'] = retenciones @@ -7641,12 +7639,11 @@ class CfdiPagos(BaseModel): total_tax_iva_16_base = 0 total_tax_iva_16_importe = 0 - - print('IMPUESTOS') - print(taxes_pay) + total_tax_retenciones_isr_importe = 0 for key, importe in taxes_pay['retenciones'].items(): taxes_pay['retenciones'][key] = FORMAT.format(importe) + total_tax_retenciones_isr_importe += importe for k, tax in taxes_pay['traslados'].items(): tax_type = taxes_pay['traslados'][k]['ImpuestoP'] @@ -7659,11 +7656,14 @@ class CfdiPagos(BaseModel): taxes_pay['traslados'][k]['BaseP'] = FORMAT.format(tax_base) taxes_pay['traslados'][k]['ImporteP'] = FORMAT.format(importe) + taxes_pay['totales'] = {} + if taxes_pay['traslados']: - taxes_pay['totales'] = { - 'TotalTrasladosBaseIVA16': FORMAT.format(total_tax_iva_16_base), - 'TotalTrasladosImpuestoIVA16': FORMAT.format(total_tax_iva_16_importe), - } + taxes_pay['totales']['TotalTrasladosBaseIVA16'] = FORMAT.format(total_tax_iva_16_base) + taxes_pay['totales']['TotalTrasladosImpuestoIVA16'] = FORMAT.format(total_tax_iva_16_importe) + + if taxes_pay['retenciones']: + taxes_pay['totales']['TotalRetencionesISR'] = FORMAT.format(total_tax_retenciones_isr_importe) return related, taxes_pay