No se que PAC estén timbrando pero hace un par de semanas ya había hecho numerosas pruebas exitosas realizando complementos de pagos con numerosas complejidades como realizar un pago en pesos y abonar (distribuir) a diferentes facturas de crédito de cfdi 3.3 en DLLR y pesos sin problemas y ayer de repente que empiezo hacer unas pruebas finales resulta que Edicom me cambió la pichada y realizó cambios a su validador, especificamente el error crp226:
El campo ImpSaldoInsoluto debe ser mayor o igual a cero y calcularse con la suma de los campos ImpSaldoAnt menos el ImpPagado o el Monto.
Lo tonto del asunto es que el pago era de 40 pesos y estaba abonando a un documento en dllrs y en el abono se estaba convirtiendo al tipo de cambio correspondiente de la operación y a pesar de que aritmeticamente ImpSaldoInsoluto era igual a la diferencia entre ImpSaldoAnterior-ImpPagado sin diferencias en centavos de todos modos salía el error, pareciera como si los 40 pesos los considerara como si fueran dllrs pero resulta que por error en el atributo de
MetodoDePagoDR del PAGO DEL DOCUMENTO RELACIONADO lo tenía como PUE en vez de PPD y eso como que hacía locuras en el validador de
edicom, les paso el tip porque puede que muchos tengan ese error y por más que lo tengan bien sus resultados el problema yace en esa minucia.
Cambiar MetodoDePagoDR de PUE a PPD me dejo timbrarlo y evitar el error CRP226, se que si tienes PUE teóricamente no debes incluir el SaldoInsoluto pero en cambio marca otro error que nada tiene que ver.
Código: Seleccionar todo
<pago10:Pago MonedaP="MXN" FormaDePagoP="01" FechaPago="2017-11-08T00:00:00" Monto="40.00">
<pago10:DoctoRelacionado IdDocumento="UUID" Serie="A" Folio="13019" MonedaDR="USD" TipoCambioDR="19.000000" MetodoDePagoDR="PPD" NumParcialidad="1" ImpSaldoAnt="35.00" ImpPagado="2.11" ImpSaldoInsoluto="32.89" />
</pago10:Pago>