Fix - impuestos locales
This commit is contained in:
parent
964d53dbae
commit
b70fac7872
|
@ -89,6 +89,8 @@ class CFDI(object):
|
||||||
return xml
|
return xml
|
||||||
|
|
||||||
def _validate(self, datos):
|
def _validate(self, datos):
|
||||||
|
print (datos['impuestos']['total_locales_trasladados'])
|
||||||
|
print (datos['impuestos']['total_locales_retenciones'])
|
||||||
if datos['impuestos']['total_locales_trasladados'] or \
|
if datos['impuestos']['total_locales_trasladados'] or \
|
||||||
datos['impuestos']['total_locales_retenciones']:
|
datos['impuestos']['total_locales_retenciones']:
|
||||||
self._impuestos_locales = True
|
self._impuestos_locales = True
|
||||||
|
|
|
@ -2197,8 +2197,6 @@ class Facturas(BaseModel):
|
||||||
'UsoCFDI': invoice.uso_cfdi,
|
'UsoCFDI': invoice.uso_cfdi,
|
||||||
}
|
}
|
||||||
|
|
||||||
#~ descuento = 0
|
|
||||||
#~ tax_locales = False
|
|
||||||
conceptos = []
|
conceptos = []
|
||||||
rows = FacturasDetalle.select().where(FacturasDetalle.factura==invoice)
|
rows = FacturasDetalle.select().where(FacturasDetalle.factura==invoice)
|
||||||
for row in rows:
|
for row in rows:
|
||||||
|
@ -2214,7 +2212,6 @@ class Facturas(BaseModel):
|
||||||
}
|
}
|
||||||
if row.descuento:
|
if row.descuento:
|
||||||
concepto['Descuento'] = FORMAT.format(row.descuento)
|
concepto['Descuento'] = FORMAT.format(row.descuento)
|
||||||
#~ descuento += row.descuento
|
|
||||||
|
|
||||||
taxes = {}
|
taxes = {}
|
||||||
traslados = []
|
traslados = []
|
||||||
|
@ -2225,7 +2222,6 @@ class Facturas(BaseModel):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if impuesto.key == '000':
|
if impuesto.key == '000':
|
||||||
#~ tax_locales = True
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
base = row.importe - row.descuento
|
base = row.importe - row.descuento
|
||||||
|
@ -2271,19 +2267,21 @@ class Facturas(BaseModel):
|
||||||
.where(FacturasImpuestos.factura==invoice))
|
.where(FacturasImpuestos.factura==invoice))
|
||||||
for tax in taxes:
|
for tax in taxes:
|
||||||
if tax.impuesto.key == '000':
|
if tax.impuesto.key == '000':
|
||||||
|
tasa = str(round(tax.impuesto.tasa * 100, 2))
|
||||||
|
simporte = FORMAT.format(tax.importe)
|
||||||
if tax.impuesto.tipo == 'T':
|
if tax.impuesto.tipo == 'T':
|
||||||
traslado = {
|
traslado = {
|
||||||
'ImpLocTrasladado': tax.impuesto.name,
|
'ImpLocTrasladado': tax.impuesto.name,
|
||||||
'TasadeTraslado': str(round(tax.impuesto.tasa, 2)),
|
'TasadeTraslado': tasa,
|
||||||
'Importe': FORMAT.format(tax.importe),
|
'Importe': simporte,
|
||||||
}
|
}
|
||||||
locales_trasladados.append(traslado)
|
locales_trasladados.append(traslado)
|
||||||
total_locales_trasladados += tax.importe
|
total_locales_trasladados += tax.importe
|
||||||
else:
|
else:
|
||||||
retencion = {
|
retencion = {
|
||||||
'ImpLocRetenido': tax.impuesto.name,
|
'ImpLocRetenido': tax.impuesto.name,
|
||||||
'TasadeRetencion': str(round(tax.impuesto.tasa, 2)),
|
'TasadeRetencion': tasa,
|
||||||
'Importe': FORMAT.format(tax.importe),
|
'Importe': simporte,
|
||||||
}
|
}
|
||||||
locales_retenciones.append(retencion)
|
locales_retenciones.append(retencion)
|
||||||
total_locales_retenciones += tax.importe
|
total_locales_retenciones += tax.importe
|
||||||
|
@ -2309,8 +2307,12 @@ class Facturas(BaseModel):
|
||||||
|
|
||||||
impuestos['traslados'] = traslados
|
impuestos['traslados'] = traslados
|
||||||
impuestos['retenciones'] = retenciones
|
impuestos['retenciones'] = retenciones
|
||||||
|
impuestos['total_locales_trasladados'] = ''
|
||||||
|
if total_locales_trasladados:
|
||||||
impuestos['total_locales_trasladados'] = \
|
impuestos['total_locales_trasladados'] = \
|
||||||
FORMAT.format(total_locales_trasladados)
|
FORMAT.format(total_locales_trasladados)
|
||||||
|
impuestos['total_locales_retenciones'] = ''
|
||||||
|
if total_locales_retenciones:
|
||||||
impuestos['total_locales_retenciones'] = \
|
impuestos['total_locales_retenciones'] = \
|
||||||
FORMAT.format(total_locales_retenciones)
|
FORMAT.format(total_locales_retenciones)
|
||||||
impuestos['locales_trasladados'] = locales_trasladados
|
impuestos['locales_trasladados'] = locales_trasladados
|
||||||
|
|
|
@ -298,7 +298,7 @@ function get_config_values(opt){
|
||||||
},
|
},
|
||||||
success: function(text, data, xhr) {
|
success: function(text, data, xhr) {
|
||||||
var values = data.json()
|
var values = data.json()
|
||||||
showvar(values)
|
//~ showvar(values)
|
||||||
Object.keys(values).forEach(function(key){
|
Object.keys(values).forEach(function(key){
|
||||||
$$(key).setValue(values[key])
|
$$(key).setValue(values[key])
|
||||||
})
|
})
|
||||||
|
|
|
@ -280,6 +280,19 @@ function validate_invoice(values){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
donativo = $$('chk_cfdi_donativo').getValue()
|
||||||
|
if(donativo){
|
||||||
|
query = table_totals.chain().data()
|
||||||
|
for(var t of query){
|
||||||
|
tax = table_taxes.findOne({'id': t.tax})
|
||||||
|
if(tax.tipo != 'E'){
|
||||||
|
msg = 'Los donativos deben de ser exentos'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue