Precisión de decimales en partidas
Por defecto, el importe y los impuestos de las partidas se redondean a la cantidad de decimales de la moneda seleccionada (dos decimales para la mayoría incluyendo MXN, USD, EUR entre otras). Esto funciona bien en la mayoría de los casos; sin embargo, puede tener algunos efectos que vale la pena tener en cuenta.
Considera el siguiente ejemplo de una factura con doce partidas con retención ISR del 1.25%:
Factura - Ret. ISR 1.25% |
||
---|---|---|
Base |
Importe (6 decimales) |
Importe (2 decimales) |
38.00 |
0.475000 |
0.48 |
152.00 |
1.900000 |
1.90 |
76.00 |
0.950000 |
0.95 |
152.00 |
1.900000 |
1.90 |
38.00 |
0.475000 |
0.48 |
38.00 |
0.475000 |
0.48 |
39.00 |
0.487500 |
0.49 |
38.00 |
0.475000 |
0.48 |
114.00 |
1.425000 |
1.43 |
190.00 |
2.375000 |
2.38 |
190.00 |
2.375000 |
2.38 |
76.00 |
0.950000 |
0.95 |
1,141.00 |
14.262500 |
14.30 |
En la tabla se muestra el importe del impuesto calculado a seis y dos decimales. Observa que la suma total de los importes a dos decimales tiene una diferencia acumulada de 4 centavos respecto a la suma total con seis decimales. Esto se debe a que en cada redondeo estamos añadiendo (o quitando) una pequeña cantidad, la cual se va haciendo más grande conforme agregamos más partidas.
Por lo anterior, el importe total será diferente al que resulte de multiplicar la base total por la tasa, que en este caso es igual a los $14.2625. Para la factura es correcto utilizar cualquiera de las dos formas, siempre y cuando el importe total corresponda a la sumatoria de los importes en las partidas (1).
Diferencias con el cálculo de impuestos en REP 2.0
Si emitimos la factura del ejemplo anterior con dos decimales y método de pago PPD (Pago en Parcialidades o Diferido), y después generamos un Recibo Electrónico de Pagos por el total de la factura, al relacionar dicha factura notáremos que la Ret. ISR 1.25% calculada es de $14.26 y no de $14.30 como en la factura original:
Conoce más sobre Recibo Electrónico de Pagos 2.0.
Según el estándar técnico para el Recibo Electrónico de Pagos (2), el ImporteDR de los impuestos del documento relacionado debe cumplir con la siguiente regla:
ImporteDR = BaseDR * TasaOCutaDR ± E
*E representa los límites superior e inferior dentro de los cuales debe encontrarse el importe. Esta tolerancia es en realidad muy pequeña, y la diferencia de 4 centavos introducida en los redondeos de las partidas sobrepasa estos límites.
De acuerdo a la regla anterior debemos calcular el importe como BaseDR * TasaOCuotaDR. Esto resulta en un importe menor, debido a la diferencia acumulada que mencionamos anteriormente. Si utilizamos seis decimales al calcular los importes de las partidas, el importe total será igual al calculado en el REP:
¿Necesito aumentar la precisión de los cálculos en las partidas a 6 decimales?
Por defecto el sistema está configurado para redondear a los decimales que permite la moneda según las reglas del SAT, que en su mayoría son a 2 decimales que son los mismos con los que se muestran los totales. Si en tus facturas es común que captures más de una partida y la cantidad o el valor unitario contengan decimales diferentes a cero entonces te recomendamos aumentar la precisión de los cálculos del comprobante.
Si deseas aumentar la precisión con la que se hacen los cálculos en partidas puedes consultar cómo cambiar esta configuración aquí:
https://soporte.enlacefiscal.com/article/236-configuracion-comprobantes-cfdi
Referencias