se mueve asignacion de ProfileID a objetos de factura
FossilOrigin-Name: 495e73349c8479f846c628397eea242912b982b83c4a294d8682b35c762f61f2
This commit is contained in:
parent
b00eadb9e5
commit
2171da658a
@ -122,8 +122,7 @@ class DianXMLExtensionCUDFE(FachoXMLExtension):
|
|||||||
fachoxml.set_element('./cbc:UUID', cufe,
|
fachoxml.set_element('./cbc:UUID', cufe,
|
||||||
schemeID=self.tipo_ambiente,
|
schemeID=self.tipo_ambiente,
|
||||||
schemeName=self.schemeName())
|
schemeName=self.schemeName())
|
||||||
#DIAN 1.8.-2021: FAD03
|
|
||||||
fachoxml.set_element('./cbc:ProfileID', 'DIAN 2.1: Factura Electrónica de Venta')
|
|
||||||
fachoxml.set_element('./cbc:ProfileExecutionID', self._tipo_ambiente_int())
|
fachoxml.set_element('./cbc:ProfileExecutionID', self._tipo_ambiente_int())
|
||||||
#DIAN 1.7.-2020: FAB36
|
#DIAN 1.7.-2020: FAB36
|
||||||
fachoxml.set_element('./ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/sts:DianExtensions/sts:QRCode',
|
fachoxml.set_element('./ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/sts:DianExtensions/sts:QRCode',
|
||||||
|
@ -18,3 +18,6 @@ class DIANCreditNoteXML(DIANInvoiceXML):
|
|||||||
|
|
||||||
def tag_document_concilied(fexml):
|
def tag_document_concilied(fexml):
|
||||||
return 'Credited'
|
return 'Credited'
|
||||||
|
|
||||||
|
def post_attach_invoice(fexml, invoice):
|
||||||
|
fexml.set_element('./cbc:ProfileID', 'DIAN 2.1: Nota Crédito de Factura Electrónica de Venta')
|
||||||
|
@ -13,6 +13,9 @@ class DIANDebitNoteXML(DIANInvoiceXML):
|
|||||||
def __init__(self, invoice):
|
def __init__(self, invoice):
|
||||||
super().__init__(invoice, 'DebitNote')
|
super().__init__(invoice, 'DebitNote')
|
||||||
|
|
||||||
|
def post_attach_invoice(fexml, invoice):
|
||||||
|
fexml.set_element('./cbc:ProfileID', 'DIAN 2.1 Nota Débito de Factura Electrónica de Venta')
|
||||||
|
|
||||||
def tag_document(fexml):
|
def tag_document(fexml):
|
||||||
return 'DebitNote'
|
return 'DebitNote'
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ class DIANInvoiceXML(fe.FeXML):
|
|||||||
ublextension = self.fragment('./ext:UBLExtensions/ext:UBLExtension', append=True)
|
ublextension = self.fragment('./ext:UBLExtensions/ext:UBLExtension', append=True)
|
||||||
extcontent = ublextension.find_or_create_element('/ext:UBLExtension/ext:ExtensionContent')
|
extcontent = ublextension.find_or_create_element('/ext:UBLExtension/ext:ExtensionContent')
|
||||||
self.attach_invoice(invoice)
|
self.attach_invoice(invoice)
|
||||||
|
self.post_attach_invoice(invoice)
|
||||||
|
|
||||||
def set_supplier(fexml, invoice):
|
def set_supplier(fexml, invoice):
|
||||||
fexml.placeholder_for('./cac:AccountingSupplierParty')
|
fexml.placeholder_for('./cac:AccountingSupplierParty')
|
||||||
@ -415,7 +416,6 @@ class DIANInvoiceXML(fe.FeXML):
|
|||||||
return fexml._set_debit_note_document_reference(reference)
|
return fexml._set_debit_note_document_reference(reference)
|
||||||
if isinstance(reference, CreditNoteDocumentReference):
|
if isinstance(reference, CreditNoteDocumentReference):
|
||||||
return fexml._set_credit_note_document_reference(reference)
|
return fexml._set_credit_note_document_reference(reference)
|
||||||
|
|
||||||
if isinstance(reference, InvoiceDocumentReference):
|
if isinstance(reference, InvoiceDocumentReference):
|
||||||
return fexml._set_invoice_document_reference(reference)
|
return fexml._set_invoice_document_reference(reference)
|
||||||
|
|
||||||
@ -566,7 +566,11 @@ class DIANInvoiceXML(fe.FeXML):
|
|||||||
line.set_element('./cbc:MultiplierFactorNumeric', str(round(charge.multiplier_factor_numeric, 2)))
|
line.set_element('./cbc:MultiplierFactorNumeric', str(round(charge.multiplier_factor_numeric, 2)))
|
||||||
fexml.set_element_amount_for(line, './cbc:Amount', charge.amount)
|
fexml.set_element_amount_for(line, './cbc:Amount', charge.amount)
|
||||||
fexml.set_element_amount_for(line, './cbc:BaseAmount', charge.base_amount)
|
fexml.set_element_amount_for(line, './cbc:BaseAmount', charge.base_amount)
|
||||||
|
|
||||||
|
def post_attach_invoice(fexml, invoice):
|
||||||
|
#DIAN 1.8.-2021: FAD03
|
||||||
|
fexml.set_element('./cbc:ProfileID', 'DIAN 2.1: Factura Electrónica de Venta')
|
||||||
|
|
||||||
def attach_invoice(fexml, invoice):
|
def attach_invoice(fexml, invoice):
|
||||||
"""adiciona etiquetas a FEXML y retorna FEXML
|
"""adiciona etiquetas a FEXML y retorna FEXML
|
||||||
en caso de fallar validacion retorna None"""
|
en caso de fallar validacion retorna None"""
|
||||||
|
@ -33,7 +33,24 @@ def test_invoicesimple_build_with_cufe(simple_invoice):
|
|||||||
cufe = xml.get_element_text('/fe:Invoice/cbc:UUID')
|
cufe = xml.get_element_text('/fe:Invoice/cbc:UUID')
|
||||||
assert cufe != ''
|
assert cufe != ''
|
||||||
|
|
||||||
|
def test_invoice_profile_id(simple_invoice):
|
||||||
|
xml = DIANInvoiceXML(simple_invoice)
|
||||||
|
cufe_extension = fe.DianXMLExtensionCUFE(simple_invoice)
|
||||||
|
xml.add_extension(cufe_extension)
|
||||||
|
assert xml.get_element_text('/fe:Invoice/cbc:ProfileID') == 'DIAN 2.1: Factura Electrónica de Venta'
|
||||||
|
|
||||||
|
def test_debit_note_profile_id(simple_invoice):
|
||||||
|
xml = DIANDebitNoteXML(simple_invoice)
|
||||||
|
cufe_extension = fe.DianXMLExtensionCUFE(simple_invoice)
|
||||||
|
xml.add_extension(cufe_extension)
|
||||||
|
assert xml.get_element_text('/fe:DebitNote/cbc:ProfileID') == 'DIAN 2.1 Nota Débito de Factura Electrónica de Venta'
|
||||||
|
|
||||||
|
def test_credit_note_profile_id(simple_invoice):
|
||||||
|
xml = DIANCreditNoteXML(simple_invoice)
|
||||||
|
cufe_extension = fe.DianXMLExtensionCUFE(simple_invoice)
|
||||||
|
xml.add_extension(cufe_extension)
|
||||||
|
assert xml.get_element_text('/fe:CreditNote/cbc:ProfileID') == 'DIAN 2.1: Nota Crédito de Factura Electrónica de Venta'
|
||||||
|
|
||||||
def test_invoicesimple_xml_signed(monkeypatch, simple_invoice):
|
def test_invoicesimple_xml_signed(monkeypatch, simple_invoice):
|
||||||
xml = DIANInvoiceXML(simple_invoice)
|
xml = DIANInvoiceXML(simple_invoice)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user