diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 7d498dd07..4024c71e6 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1107,7 +1107,7 @@ Public Class Timbrado Dim VentaFolioFiscal, VentaSerie, VentaFolio, VentaAbreviaturaSAT, VentaMetodoPago, ObjetoImpuesto As String - Dim VentaImportePago, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal + Dim VentaImportePago, VentaImportePagoMN, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal Dim VentaNumParcialidad As Integer If dttpagos IsNot Nothing AndAlso dttpagos.Rows.Count > 0 Then @@ -1126,6 +1126,7 @@ Public Class Timbrado PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal PorcentajeIEPS = dr("PorcentajeIEPS").ToString.ToDecimal ObjetoImpuesto = dr("ObjetoImpuesto").ToString + VentaImportePagoMN = dr("VentasTotalPagado").ToString.ToDecimal '' si la moneda es igual, se omite el tipo de cambio de la venta If MonedaPago = VentaAbreviaturaSAT Then @@ -1134,7 +1135,7 @@ Public Class Timbrado 'condiciones especiales para el pago en pesos, facturas en moneda extranjera ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then VentaTipoCambioMN = VentaTipoCambio - VentaTipoCambio = 1 / VentaTipoCambio + VentaTipoCambio = (1 / VentaTipoCambio).RoundSQL(6) End If ' For Each drr As Data.DataRow In DtFacturasPagadas.Rows @@ -1144,9 +1145,10 @@ Public Class Timbrado .MonedaDR = VentaAbreviaturaSAT, .MetodoDePagoDR = VentaMetodoPago, .ImpPagado = VentaImportePago, + .ImpPagadoMN = (VentaImportePago / VentaTipoCambio).RoundSQL, .ImpSaldoInsoluto = VentaImporteSaldoInsoluto, .ImpSaldoAnt = VentaImporteSaldoAnterior, - .TipoCambioDR = VentaTipoCambioMN, + .TipoCambioDR = VentaTipoCambio, .EquivalenciaDR = VentaTipoCambio, .NumParcialidad = VentaNumParcialidad, .ObjetoImpuesto = ObjetoImpuesto} 'If(drr("MetodoPago").ToString = "PUE", 0, drr("NumParcialidad").ToString.ToEntero)} @@ -1158,8 +1160,8 @@ Public Class Timbrado .TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal, .Impuesto = drp("TipoImpuesto").ToString, .Importe = drp("Importe").ToString().ToDecimal.RoundSQL, - .BaseMN = (drp("Base").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL, - .ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL + .BaseMN = (drp("Base").ToString.ToDecimal / VentaTipoCambio).RoundSQL(6), + .ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambio).RoundSQL(6) } ) @@ -4186,9 +4188,9 @@ Public Class Timbrado If docimp.TrasladooRetencion = "T" Then Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR - Tra.BaseDR = docimp.BaseMN.RoundSQL(2) + Tra.BaseDR = docimp.Base.RoundSQL(2) Tra.ImporteDRSpecified = True - Tra.ImporteDR = docimp.ImporteMN.RoundSQL(2) + Tra.ImporteDR = docimp.Importe.RoundSQL(2) Tra.ImpuestoDR = docimp.Impuesto Tra.TipoFactorDR = docimp.TipoFactor Tra.TasaOCuotaDRSpecified = True @@ -4225,8 +4227,8 @@ Public Class Timbrado ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6) - ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.Importe.RoundSQL(6) - ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.Base.RoundSQL(2) + ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.ImporteMN.RoundSQL(6) + ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.BaseMN.RoundSQL(2) x += 1 Next End If @@ -5100,7 +5102,7 @@ Public Class Timbrado doc.Serie, doc.Folio, doc.MonedaDR, - doc.TipoCambioDR, + doc.EquivalenciaDR, doc.NumParcialidad, doc.ImpSaldoAnt, doc.ImpPagado, @@ -5135,7 +5137,7 @@ Public Class Timbrado If (ObjCFDITimbre.ComplementoPagos.Retenciones).Count > 0 Then For Each Ret As CFDIRetenciones In ObjCFDITimbre.ComplementoPagos.Retenciones - cfdi.Pago20RetencionP(Ret.Impuesto, Ret.Importe) + cfdi.Pago20RetencionP(Ret.Impuesto, Ret.ImporteMN) Next End If