This commit is contained in:
2022-06-14 20:09:16 -07:00
parent 7a2b7b3ee7
commit 498c26877d

View File

@@ -344,13 +344,9 @@ Public Class CFDIConceptosImpuestos
Public Property TipoFactor As String = "Tasa" Public Property TipoFactor As String = "Tasa"
Public Property TasaOCuota As Decimal = 0.00D Public Property TasaOCuota As Decimal = 0.00D
Public Property Importe As Decimal = 0.00D ' propiedad utilizada solo para hacer ajustes, por default toma la multiplicación de base * tasa Public Property Importe As Decimal = 0.00D ' propiedad utilizada solo para hacer ajustes, por default toma la multiplicación de base * tasa
Public Property BaseMN As Decimal = 0.00D Public Property BaseMN As Decimal = 0.000000D
Public Property ImporteMN As Decimal = 0.00D Public Property ImporteMN As Decimal = 0.000000D
'Public ReadOnly Property Importe As Decimal
' Get
' If ImporteT = 0.00 Then Return Base * TasaOCuota Else Return ImporteT
' End Get
'End Property
End Class End Class
@@ -401,6 +397,7 @@ Public Class CFDIRetenciones
Public Property Impuesto As String Public Property Impuesto As String
Public Property Importe As Decimal = 0.000000D Public Property Importe As Decimal = 0.000000D
Public Property TasaOCuota As String Public Property TasaOCuota As String
Public Property ImporteMN As Decimal = 0.000000D
End Class End Class
@@ -428,7 +425,6 @@ Public Class CFDITraslados
Public Property Base As Decimal = 0.000000D Public Property Base As Decimal = 0.000000D
Public Property ImporteMN As Decimal = 0.000000D Public Property ImporteMN As Decimal = 0.000000D
Public Property BaseMN As Decimal = 0.000000D Public Property BaseMN As Decimal = 0.000000D
Public Property EquivalenciaDR As Decimal = 0.000000D
End Class End Class
@@ -463,17 +459,17 @@ Public Class CFDIComplementoPagos
Public ReadOnly Property Totales As CFDIComplementoPagosTotales Public ReadOnly Property Totales As CFDIComplementoPagosTotales
Get Get
Dim tRetorno As New CFDIComplementoPagosTotales Dim tRetorno As New CFDIComplementoPagosTotales
tRetorno.MontoTotalPagos = (From c In DocumentosRelacionados Select c.ImpPagado * TipoCambioP).Sum() tRetorno.MontoTotalPagos = (From c In DocumentosRelacionados Select c.ImpPagadoMN).Sum()
tRetorno.TotalTrasladosBaseIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.BaseMN * c.EquivalenciaDR).Sum() tRetorno.TotalTrasladosBaseIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.BaseMN).Sum()
tRetorno.TotalTrasladosBaseIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.BaseMN * c.EquivalenciaDR).Sum() tRetorno.TotalTrasladosBaseIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.BaseMN).Sum()
tRetorno.TotalTrasladosBaseIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.BaseMN * c.EquivalenciaDR).Sum() tRetorno.TotalTrasladosBaseIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.BaseMN).Sum()
tRetorno.TotalTrasladosImpuestoIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.Importe * c.EquivalenciaDR).Sum() tRetorno.TotalTrasladosImpuestoIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.Importe).Sum()
tRetorno.TotalTrasladosImpuestoIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.ImporteMN * c.EquivalenciaDR).Sum() tRetorno.TotalTrasladosImpuestoIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.ImporteMN).Sum()
tRetorno.TotalTrasladosImpuestoIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.ImporteMN * c.EquivalenciaDR).Sum() tRetorno.TotalTrasladosImpuestoIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.ImporteMN).Sum()
tRetorno.TotalRetencionesIEPS = (From c In Retenciones Where c.Impuesto = "003" Select c.Importe).Sum() tRetorno.TotalRetencionesIEPS = (From c In Retenciones Where c.Impuesto = "003" Select c.ImporteMN).Sum()
Return tRetorno Return tRetorno
End Get End Get
@@ -510,15 +506,15 @@ Public Class CFDIComplementoPagos
For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados
For Each imp As CFDIConceptosImpuestos In c.Impuestos For Each imp As CFDIConceptosImpuestos In c.Impuestos
If imp.TrasladooRetencion = "R" Then If imp.TrasladooRetencion = "R" Then
tRetorno.Add(New CFDIRetenciones With {.Impuesto = imp.Impuesto, .Importe = imp.Importe * (1 / c.TipoCambioDR)}) tRetorno.Add(New CFDIRetenciones With {.Impuesto = imp.Impuesto, .Importe = imp.Importe, .ImporteMN = imp.ImporteMN})
End If End If
Next Next
Next Next
If tRetorno.Count > 0 Then If tRetorno.Count > 0 Then
TRetenciones = tRetorno.GroupBy(Function(t) New With {Key t.Impuesto}) _ TRetenciones = tRetorno.GroupBy(Function(t) New With {Key t.Impuesto}) _
.Select(Function(t) New CFDIRetenciones With {.Impuesto = t.Key.Impuesto, .Select(Function(t) New CFDIRetenciones With {.Impuesto = t.Key.Impuesto,
.Importe = t.Sum(Function(tt) tt.Importe)}) _ .Importe = t.Sum(Function(tt) tt.Importe),
.ImporteMN = t.Sum(Function(tt) tt.ImporteMN)}) _
.OrderBy(Function(x) x.Impuesto).ToList .OrderBy(Function(x) x.Impuesto).ToList
End If End If
@@ -535,7 +531,7 @@ Public Class CFDIComplementoPagos
For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados
For Each imp As CFDIConceptosImpuestos In c.Impuestos For Each imp As CFDIConceptosImpuestos In c.Impuestos
If imp.TrasladooRetencion = "T" Then If imp.TrasladooRetencion = "T" Then
tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Base = imp.Base, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor, .BaseMN = imp.BaseMN, .ImporteMN = imp.ImporteMN, .EquivalenciaDR = c.TipoCambioDR}) tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Base = imp.Base, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor, .BaseMN = imp.BaseMN, .ImporteMN = imp.ImporteMN})
End If End If
Next Next
Next Next
@@ -572,6 +568,7 @@ Public Class CFDIComplementoPagosDocsRelacionados
Public Property NumParcialidad As Integer = 1 Public Property NumParcialidad As Integer = 1
Public Property ImpSaldoAnt As Decimal Public Property ImpSaldoAnt As Decimal
Public Property ImpPagado As Decimal Public Property ImpPagado As Decimal
Public Property ImpPagadoMN As Decimal
Public Property ImpSaldoInsoluto As Decimal Public Property ImpSaldoInsoluto As Decimal
Public Property ObjetoImpuesto As String = "01" Public Property ObjetoImpuesto As String = "01"
Public Property Impuestos As List(Of CFDIConceptosImpuestos) Public Property Impuestos As List(Of CFDIConceptosImpuestos)