From 3774bd144722c956974fee2b0d7b477a518cc868 Mon Sep 17 00:00:00 2001 From: El Mau Date: Mon, 27 Mar 2023 10:32:03 -0600 Subject: [PATCH] Fix in taxes for related documents --- source/helper/util.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/source/helper/util.py b/source/helper/util.py index f91b15c..04365d2 100644 --- a/source/helper/util.py +++ b/source/helper/util.py @@ -294,19 +294,20 @@ class DictToCfdi(): for i, doc in enumerate(docs): node_name = f"{{{self._PAGOS['xmlns']}}}DoctoRelacionado" node_doc = ET.SubElement(node_pago, node_name, doc) - if taxesd: + if taxesd[i]: + doc_taxes = taxesd[i] node_name = f"{{{self._PAGOS['xmlns']}}}ImpuestosDR" node_taxes_doc = ET.SubElement(node_doc, node_name) - if 'retenciones' in taxesd: + if 'retenciones' in doc_taxes: node_name = f"{{{self._PAGOS['xmlns']}}}RetencionesDR" node_taxes_dr = ET.SubElement(node_taxes_doc, node_name) - for r in taxesd['retenciones']: + for r in doc_taxes['retenciones']: node_name = f"{{{self._PAGOS['xmlns']}}}RetencionDR" ET.SubElement(node_taxes_dr, node_name, r) - if 'traslados' in taxesd: + if 'traslados' in doc_taxes: node_name = f"{{{self._PAGOS['xmlns']}}}TrasladosDR" node_taxes_dt = ET.SubElement(node_taxes_doc, node_name) - for t in taxesd['traslados']: + for t in doc_taxes['traslados']: node_name = f"{{{self._PAGOS['xmlns']}}}TrasladoDR" ET.SubElement(node_taxes_dt, node_name, t) @@ -742,7 +743,7 @@ class DataToDict(): self._cfdi['complementos']['pagos'] = version self._cfdi['complementos']['pagos']['docs'] = [] self._cfdi['complementos']['pagos']['taxes'] = {} - self._cfdi['complementos']['pagos']['taxesd'] = {} + self._cfdi['complementos']['pagos']['taxesd'] = [] elif self._complement == '2': self._cfdi['complementos']['comercio'] = version @@ -960,7 +961,7 @@ class DataToDict(): if self._complement == '1': attr = self._get_taxes_by_doc(data) - self._cfdi['complementos']['pagos']['taxesd'] = attr + self._cfdi['complementos']['pagos']['taxesd'].append(attr) elif self._complement == '2': fields = ( 'NoIdentificacion',