diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 6fec6159d..bdc8f9635 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1757,9 +1757,10 @@ Public Class Timbrado If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E") Then #Region "Impuestos" - - cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados) - + 'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS + If Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then + cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados) + End If #End Region #Region " Traslados y Retenciones" @@ -2367,7 +2368,8 @@ Public Class Timbrado j = 0 k = 0 - If Not ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("P", "N") Then + 'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS + If Not ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("P", "N") AndAlso (Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0)) Then comprobante.Conceptos(i).Impuestos = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestos() comprobante.Conceptos(i).Impuestos.Traslados = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosTraslado(concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion = "T").Count - 1) {} If concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion <> "T").Count > 0 Then @@ -2409,43 +2411,42 @@ Public Class Timbrado If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E") Then #Region "Impuestos" + 'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS + If Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then + comprobante.Impuestos = New Profact.TimbraCFDI33.ComprobanteImpuestos() + comprobante.Impuestos.Traslados = New Profact.TimbraCFDI33.ComprobanteImpuestosTraslado(ObjCFDITimbre.Traslados.Count - 1) {} + Dim y As Integer = 0 - comprobante.Impuestos = New Profact.TimbraCFDI33.ComprobanteImpuestos() - comprobante.Impuestos.Traslados = New Profact.TimbraCFDI33.ComprobanteImpuestosTraslado(ObjCFDITimbre.Traslados.Count - 1) {} - - Dim y As Integer = 0 - - For Each Tras In ObjCFDITimbre.Traslados - comprobante.Impuestos.Traslados(y) = New Profact.TimbraCFDI33.ComprobanteImpuestosTraslado() - comprobante.Impuestos.Traslados(y).Impuesto = Tras.Impuesto - comprobante.Impuestos.Traslados(y).TipoFactor = Tras.TipoFactor - comprobante.Impuestos.Traslados(y).TasaOCuota = Tras.TasaOCuota.FormatoNumero(6) - comprobante.Impuestos.Traslados(y).Importe = Tras.Importe - y += 1 - Next - - comprobante.Impuestos.TotalImpuestosTrasladados = ObjCFDITimbre.TotalImpuestosTrasladados - comprobante.Impuestos.TotalImpuestosTrasladadosSpecified = True - - If ObjCFDITimbre.TotalImpuestosRetenidos > 0 Then - comprobante.Impuestos.Retenciones = New Profact.TimbraCFDI33.ComprobanteImpuestosRetencion(ObjCFDITimbre.Retenciones.Count - 1) {} - - Dim w As Integer = 0 - - For Each Ret In ObjCFDITimbre.Retenciones - comprobante.Impuestos.Retenciones(w) = New Profact.TimbraCFDI33.ComprobanteImpuestosRetencion() - comprobante.Impuestos.Retenciones(w).Impuesto = Ret.Impuesto - comprobante.Impuestos.Retenciones(w).Importe = Ret.Importe.ToDecimal - w += 1 + For Each Tras In ObjCFDITimbre.Traslados + comprobante.Impuestos.Traslados(y) = New Profact.TimbraCFDI33.ComprobanteImpuestosTraslado() + comprobante.Impuestos.Traslados(y).Impuesto = Tras.Impuesto + comprobante.Impuestos.Traslados(y).TipoFactor = Tras.TipoFactor + comprobante.Impuestos.Traslados(y).TasaOCuota = Tras.TasaOCuota.FormatoNumero(6) + comprobante.Impuestos.Traslados(y).Importe = Tras.Importe + y += 1 Next - comprobante.Impuestos.TotalImpuestosRetenidos = ObjCFDITimbre.TotalImpuestosRetenidos - comprobante.Impuestos.TotalImpuestosRetenidosSpecified = True + comprobante.Impuestos.TotalImpuestosTrasladados = ObjCFDITimbre.TotalImpuestosTrasladados + comprobante.Impuestos.TotalImpuestosTrasladadosSpecified = True + + If ObjCFDITimbre.TotalImpuestosRetenidos > 0 Then + comprobante.Impuestos.Retenciones = New Profact.TimbraCFDI33.ComprobanteImpuestosRetencion(ObjCFDITimbre.Retenciones.Count - 1) {} + + Dim w As Integer = 0 + + For Each Ret In ObjCFDITimbre.Retenciones + comprobante.Impuestos.Retenciones(w) = New Profact.TimbraCFDI33.ComprobanteImpuestosRetencion() + comprobante.Impuestos.Retenciones(w).Impuesto = Ret.Impuesto + comprobante.Impuestos.Retenciones(w).Importe = Ret.Importe.ToDecimal + w += 1 + Next + + comprobante.Impuestos.TotalImpuestosRetenidos = ObjCFDITimbre.TotalImpuestosRetenidos + comprobante.Impuestos.TotalImpuestosRetenidosSpecified = True + End If End If - - #End Region