¿Por qué algunas veces el CFDI tiene una diferencia de centavos?
Cuando se genera un CFDI a partir de un precio con impuesto incluido el sistema determina cual era el subtotal antes de IVA, después calcula el IVA y lo vuelve a sumar.
Anteriormente el SAT permitía especificar cantidades con seis decimales (diezmilésimas de centavo), pero a partir de la especificación para CFDI v3.3 obliga a redondear todas las cantidades con solo dos decimales (centavos).
Al aplicar el redondeo a dos decimales se puede introducir una diferencia en el total del CFDI, de hasta un centavo a favor o en contra por cada línea de la factura. Aunque hemos tomado todas las medidas posibles para reducir estas diferencias, hay situaciones en las que son inevitables.
Como parte de la migración hacia CFDI v3.3, que debe completarse antes del 1 de diciembre de 2017, a partir de septiembre todas las cantidades se redondean a dos decimales, aun para CFDI v3.2.
Ejemplo de diferencia en contra
Si usted solicita un CFDI por $99.00 con impuesto incluido:
- SUBTOTAL = 99/1.16 = 85.3448276, se redondea a 85.34
- IVA = 85.34 * 0.16 = 13.6544, se redondea a 13.65
- TOTAL = 89.34 + 13.65 = 98.99
Ejemplo de diferencia a favor
Si usted solicita un CFDI por $104.00 con impuesto incluido:
- SUBTOTAL = 104/1.16 = 89.6551724, se redondea a 89.66
- IVA = 89.66 * 0.16 = 14.3456, se redondea a 14.35
- TOTAL = 89.66 + 14.35 = 104.01
Fundamento
Anexo 20 de la Resolución Miscelanea Fiscal para 2017, publicado en el diario oficial el 28 de julio de 2017.
http://sat.gob.mx/informacion_fiscal/factura_electronica/Paginas/Anexo_20_version3.3.aspx
"Tomar del catálogo de monedas la cantidad de decimales que acepta la divisa y los atributos con tipo de dato importe deben ser redondeados hasta esa cantidad de decimales (cero y hasta cuatro decimales)"
Catálogos para facturación electrónica
http://sat.gob.mx/informacion_fiscal/factura_electronica/Documents/catCFDI.xls
"c_Moneda: MXN, Descripción: Peso Mexicano, Decimales: 2; Fecha inicio de vigencia: 14/08/2017 "
Matriz de validaciones para el Comprobante fiscal digital por Internet versión 3.3
CFDI33106 El valor del campo SubTotal excede la cantidad de decimales que soporta la moneda.
CFDI33111 El valor del campo Descuento excede la cantidad de decimales que soporta la moneda.
CFDI33146 El valor del campo ValorUnitario debe tener hasta la cantidad de decimales que soporte la moneda.
CFDI33148 El valor del campo Importe debe tener hasta la cantidad de decimales que soporte la moneda.
CFDI33150 El valor del campo Descuento debe tener hasta la cantidad de decimales que tenga registrado el atributo importe del concepto.
CFDI33153 El valor del campo Base que corresponde a Traslado debe tener hasta la cantidad de decimales que soporte la moneda.
CFDI33160 El valor del campo Importe que corresponde a Traslado debe tener hasta la cantidad de decimales que soporte la moneda.etc.