diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb index a9469f6b0..111ecd684 100644 --- a/App_Code/CFDITimbre.vb +++ b/App_Code/CFDITimbre.vb @@ -344,13 +344,9 @@ Public Class CFDIConceptosImpuestos Public Property TipoFactor As String = "Tasa" 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 BaseMN As Decimal = 0.00D - Public Property ImporteMN As Decimal = 0.00D - 'Public ReadOnly Property Importe As Decimal - ' Get - ' If ImporteT = 0.00 Then Return Base * TasaOCuota Else Return ImporteT - ' End Get - 'End Property + Public Property BaseMN As Decimal = 0.000000D + Public Property ImporteMN As Decimal = 0.000000D + End Class @@ -401,6 +397,7 @@ Public Class CFDIRetenciones Public Property Impuesto As String Public Property Importe As Decimal = 0.000000D Public Property TasaOCuota As String + Public Property ImporteMN As Decimal = 0.000000D End Class @@ -428,7 +425,6 @@ Public Class CFDITraslados Public Property Base As Decimal = 0.000000D Public Property ImporteMN As Decimal = 0.000000D Public Property BaseMN As Decimal = 0.000000D - Public Property EquivalenciaDR As Decimal = 0.000000D End Class @@ -463,17 +459,17 @@ Public Class CFDIComplementoPagos Public ReadOnly Property Totales As CFDIComplementoPagosTotales Get 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.TotalTrasladosBaseIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.BaseMN * c.EquivalenciaDR).Sum() - tRetorno.TotalTrasladosBaseIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 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).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.TotalTrasladosImpuestoIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.ImporteMN * c.EquivalenciaDR).Sum() - tRetorno.TotalTrasladosImpuestoIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.ImporteMN * 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).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 End Get @@ -510,15 +506,15 @@ Public Class CFDIComplementoPagos For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados For Each imp As CFDIConceptosImpuestos In c.Impuestos 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 Next Next If tRetorno.Count > 0 Then TRetenciones = tRetorno.GroupBy(Function(t) New With {Key t.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 End If @@ -535,7 +531,7 @@ Public Class CFDIComplementoPagos For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados For Each imp As CFDIConceptosImpuestos In c.Impuestos 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 Next Next @@ -572,6 +568,7 @@ Public Class CFDIComplementoPagosDocsRelacionados Public Property NumParcialidad As Integer = 1 Public Property ImpSaldoAnt As Decimal Public Property ImpPagado As Decimal + Public Property ImpPagadoMN As Decimal Public Property ImpSaldoInsoluto As Decimal Public Property ObjetoImpuesto As String = "01" Public Property Impuestos As List(Of CFDIConceptosImpuestos)