Fix: Se implementa estrategía para CreditNote

This commit is contained in:
2024-05-15 16:02:56 -05:00
parent 95f16b2842
commit 9c126d961b
2 changed files with 9 additions and 1 deletions

View File

@@ -105,11 +105,16 @@ class FeXML(FachoXML):
def tostring(self, **kw):
# MACHETE(bit4bit) la DIAN espera que la etiqueta raiz no este en un namespace
root_namespace = self.root_namespace()
root_localname = self.root_localname()
xmlns_name = {v: k for k, v in NAMESPACES.items()}[root_namespace]
if root_localname == 'Invoice':
urn_oasis = 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'
if root_localname == 'CreditNote':
urn_oasis = 'urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2'
return super().tostring(**kw)\
.replace(xmlns_name + ':', '')\
.replace('xmlns:'+xmlns_name, 'xmlns')\
.replace('http://www.dian.gov.co/contratos/facturaelectronica/v1', 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2')
.replace(root_namespace, urn_oasis)
class DianXMLExtensionCUDFE(FachoXMLExtension):