Fix with tax exento

This commit is contained in:
el Mau 2023-02-16 23:38:03 -06:00
commit 933c9820e6
2 changed files with 23 additions and 2 deletions

View File

@ -1939,11 +1939,14 @@ def _totales(doc, cfdi, version):
for n in list(node):
tmp = CaseInsensitiveDict(n.attrib.copy())
if version in CFDI_VERSIONS:
tasa = round(float(tmp['tasaocuota']), DECIMALES)
tasa = ''
if 'tasaocuota' in tmp:
tasa = round(float(tmp['tasaocuota']), DECIMALES)
title = 'Traslado {} {}'.format(tn.get(tmp['impuesto']), tasa)
else:
title = 'Traslado {} {}'.format(tmp['impuesto'], tmp['tasa'])
traslados.append((title, float(tmp['importe'])))
if 'importe' in tmp:
traslados.append((title, float(tmp['importe'])))
node = imp.find('{}Retenciones'.format(PRE[version]))
if node is not None:

View File

@ -4335,6 +4335,14 @@ class Productos(BaseModel):
if count:
return False
count = (TicketsDetalle
.select(fn.COUNT(TicketsDetalle.id)).join(Productos)
.where(Productos.id==id)
.count()
)
if count:
return False
with database_proxy.transaction():
obj = Productos.get(Productos.id==id)
obj.impuestos.clear()
@ -5676,6 +5684,7 @@ class Facturas(BaseModel):
decimales_precios = Configuracion.get_bool('chk_config_decimales_precios')
invoice_by_ticket = Configuracion.get_bool('chk_config_invoice_by_ticket')
is_global = bool(invoice.periodicidad)
base_iva_exento = 0.0
data_global = {}
if is_global:
@ -5834,6 +5843,7 @@ class Facturas(BaseModel):
'TipoFactor': 'Exento',
}
traslados.append(tax)
base_iva_exento += base
continue
if impuesto.key == '000':
@ -5949,6 +5959,14 @@ class Facturas(BaseModel):
}
retenciones.append(retencion)
if base_iva_exento:
traslado = {
'Base': FORMAT.format(base_iva_exento),
'Impuesto': '002',
'TipoFactor': 'Exento',
}
traslados.append(traslado)
impuestos['traslados'] = traslados
impuestos['retenciones'] = retenciones
impuestos['total_locales_trasladados'] = ''