Validacion CFDI

Valida un CFDI versión 3.3 o 4.0: integridad, sello digital y estructura conforme al estándar del SAT. Incluye las reglas y la matriz de errores del SAT, la validación de complementos aplicables, la confirmación de existencia en la base de datos del SAT y la consulta de estatus fiscal (vigente, cancelado o no encontrado).

✓Antes de empezar
1Obtén un Bearer Token con tu usuario y contraseña de SW. Se recomienda usar un token infinito.
2Ten a la mano el XML del CFDI (versión 3.3 o 4.0) que quieres validar.
❗ Importante: las facturas de retenciones e información de pagos y sus complementos no se validan.
💡 Nota: si validas un XML real en el ambiente de Pruebas, el estatus en el SAT regresará como no encontrado, porque la consulta se hace contra ese ambiente. Para evitarlo, usa el parámetro validatestatus=false.

URL´s

Elige el ambiente: los ejemplos de esta página se actualizan con tu selección.

🔗 Endpoint

Copiar

Ejemplo Request


    
💡 Nota: estos ejemplos son la llamada REST directa. Puedes armar tus propias peticiones.

Respuesta

Si omites la consulta de estatus, los campos statusSat, statusCodeSat, isCancelable y statusCancelation regresan No Aplica. Las cadenas originales se recortan con … en los ejemplos.


    

📋 Valores posibles de la respuesta

En la respuesta exitosa (200), los campos de detail pueden regresar los siguientes valores.

Campo
Valores posibles
detail[].section
CFDI40 - Validacion de Estructura Validaciones correspondientes a la estructura.
CFDI40 - Validaciones Proveedor Comprobante ( CFDI40 ) Validaciones correspondientes al CFDI.
CFDI40 - Validaciones Proveedor ComplementoConcepto Validaciones correspondientes a los complementos concepto.
CFDI40 - Validaciones Proveedor Complemento pago20:Pagos Opcional: solo aparece si el XML tiene complemento. En este caso, un CFDI con complemento de pagos, y aquí van las validaciones de ese complemento.
detail[].detail[].type
0 Error.
1 Information.
2 Warning.
detail[].detail[].typeValue
Information Todo está correcto.
Error Existe un error de estructura o de alguna validación.
Warning Existe una observación que no invalida el CFDI. Por ejemplo, un XML timbrado con un CSD que estaba vigente al momento del timbrado, pero que hoy ya no lo está.
detail[].detail[].message
OK Todo está correcto.
Si hay un error, regresa la clave de la validación.
detail[].detail[].messageDetail
Si la validación de la sección es correcta, lo indica. Si hay un error, regresa una descripción más detallada.

Los campos del estatus SAT se obtienen del servicio de Consulta Estatus del SAT, y sus valores se regresan tal cual en esta respuesta.

Campo
Valores posibles
statusCodeSat
S - Comprobante obtenido satisfactoriamente
N - 602 Comprobante no encontrado. Este código de respuesta se presentará cuando el UUID del comprobante no se encuentre en la Base de Datos del SAT.
statusSat
VigenteCanceladoNo Encontrado
isCancelable
Cancelable con aceptaciónCancelable sin aceptaciónNo cancelable
statusCancelation
(null)En procesoPlazo vencidoSolicitud rechazadaCancelado sin aceptaciónCancelado con aceptación

En SW® somos mejores para TI, es por ello que tu opinión es muy importante, por favor ayúdanos calificando este articulo y dejando tus comentarios.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Updated on noviembre 3, 2026

Related Articles