FAD06 CUFE
FossilOrigin-Name: 071ebfbf760379b795e8b8938b289afdfd6b2acba94d4396759d973550e85460
This commit is contained in:
parent
4aeebc9c05
commit
643191a615
@ -83,7 +83,8 @@ class DianXMLExtensionCUFE(FachoXMLExtension):
|
||||
NumFac = invoice.invoice_ident
|
||||
FecFac = self.issue_date(invoice.invoice_issue)
|
||||
HoraFac = self.issue_time(invoice.invoice_issue)
|
||||
ValorBruto = invoice.invoice_legal_monetary_total.tax_exclusive_amount
|
||||
# PAG 601
|
||||
ValorBruto = invoice.invoice_legal_monetary_total.line_extension_amount
|
||||
ValorTotalPagar = invoice.invoice_legal_monetary_total.payable_amount
|
||||
ValorImpuestoPara = {}
|
||||
ValorImpuesto1 = 0.0
|
||||
|
@ -6,6 +6,7 @@ from functools import reduce
|
||||
import copy
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
from collections import defaultdict
|
||||
|
||||
from .data.dian import codelist
|
||||
from . import fe
|
||||
@ -396,21 +397,47 @@ class DIANInvoiceXML(fe.FeXML):
|
||||
|
||||
def set_legal_monetary(fexml, invoice):
|
||||
fexml.set_element('/fe:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount',
|
||||
invoice.invoice_legal_monetary_total.line_extension_amount,
|
||||
#MACHETE redondeo en valor
|
||||
'%.02f' % (invoice.invoice_legal_monetary_total.line_extension_amount),
|
||||
currencyID='COP')
|
||||
fexml.set_element('/fe:Invoice/cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount',
|
||||
invoice.invoice_legal_monetary_total.tax_exclusive_amount,
|
||||
#MACHETE redondeo en valor
|
||||
'%.02f' % (invoice.invoice_legal_monetary_total.tax_exclusive_amount),
|
||||
currencyID='COP')
|
||||
fexml.set_element('/fe:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount',
|
||||
invoice.invoice_legal_monetary_total.tax_inclusive_amount,
|
||||
#MACHETE ...
|
||||
'%.02f' % (invoice.invoice_legal_monetary_total.tax_inclusive_amount),
|
||||
currencyID='COP')
|
||||
fexml.set_element('/fe:Invoice/cac:LegalMonetaryTotal/cbc:ChargeTotalAmount',
|
||||
invoice.invoice_legal_monetary_total.charge_total_amount,
|
||||
#MACHETE ...
|
||||
'%.02f' % (invoice.invoice_legal_monetary_total.charge_total_amount),
|
||||
currencyID='COP')
|
||||
fexml.set_element('/fe:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount',
|
||||
invoice.invoice_legal_monetary_total.payable_amount,
|
||||
#MACHETE ...
|
||||
'%.02f' % (invoice.invoice_legal_monetary_total.payable_amount),
|
||||
currencyID='COP')
|
||||
|
||||
def set_invoice_totals(fexml, invoice):
|
||||
tax_amount_for = defaultdict(lambda: 0)
|
||||
|
||||
#requeridos para CUFE
|
||||
tax_amount_for['01'] = 0.0
|
||||
tax_amount_for['04'] = 0.0
|
||||
tax_amount_for['03'] = 0.0
|
||||
|
||||
for index, invoice_line in enumerate(invoice.invoice_lines):
|
||||
tax_amount_for[invoice_line.price.type_code] += invoice_line.tax_amount
|
||||
|
||||
next_append = False
|
||||
for cod_impuesto, tax_amount in tax_amount_for.items():
|
||||
next_append = True
|
||||
line = fexml.fragment('/fe:Invoice/cac:TaxTotal', append=next_append)
|
||||
line.set_element('/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID',
|
||||
cod_impuesto)
|
||||
line.set_element('/cac:TaxTotal/cbc:TaxAmount',
|
||||
# MACHETE
|
||||
'%.02f' % (tax_amount))
|
||||
|
||||
def set_invoice_lines(fexml, invoice):
|
||||
next_append = False
|
||||
for index, invoice_line in enumerate(invoice.invoice_lines):
|
||||
@ -464,6 +491,7 @@ class DIANInvoiceXML(fe.FeXML):
|
||||
fexml.set_supplier(invoice)
|
||||
fexml.set_customer(invoice)
|
||||
fexml.set_legal_monetary(invoice)
|
||||
fexml.set_invoice_totals(invoice)
|
||||
fexml.set_invoice_lines(invoice)
|
||||
fexml.set_payment_mean(invoice)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user