Utils - cfdi
Verificación de comprobantes fiscales digitales
Microservicio encargado de verificar el estado de un CFDI (México). Este microservicio recibe los parámetros necesarios para consultar el estado de un CFDI en el WebService del SAT, el cual, al ser procesado, retornar una respuesta de tipo JSON con la información de dicha consulta.
Funcionamiento
Para hacer uso de este microservicio es necesario acceder mediante una petición POST a la siguiente URL:
https://www.utils.productlivedemo.com.mx/api/cfdi/verificar/{versión}
Donde la versión puede ser una de estas opciones:
- 3.2
- 3.3
- re: RFC del emisor
- rr: RFC del receptor
- tt: Total en dinero del CFDI
- id: UUID del CFDI
- fe: Cadena del sello digital. Es necesario enviar los últimos 8 caracteres del sello, incluyendo los simbolos ==
$.ajax({
url: "https://www.utils.productlivedemo.com.mx/api/cfdi/verificar/3.3",
type: "POST",
dataType: "JSON"
data: {
re: "AAA010101AAA",
rc: "COSC8001137NA",
tt: "1,234.5678",
id: "CEE4BE01-ADFA-4DEB-8421-ADD60F0BEDAC",
fe: "... abcfe/1234=="
},
success:function(resp){
console.log(resp);
},
error:function(error){
console.log(error);
}
});
Respuesta del microservicio
La respuesta a este microservicio se presenta como en el siguiente ejemplo:
{
"codigo": "S - Comprobante obtenido satisfactoriamente.",
"estatus": "Vigente",
"cancelacion": "Cancelable sin aceptación",
"estatusCancelacion": ""
}
Código de la respuesta
El código de la respuesta está relacionado a la solicitud del WebService del SAT, no al CFDI. Las posibles respuestas se presentan a continuación:- S - Comprobante obtenido satisfactoriamente: Mensaje aceptado
- N - 601: La expresión impresa proporcionada no es válida: El formato no es el definido por el WebService
- N - 602: Comprobante no encontrado: El UUID no se encuentra registrado en el SAT
Estado de la respuesta
El estado de la respuesta está relacionado con el estado general del CFDI según el SAT, las posibles respuestas se presentan a continuación:- Vigente: El CFDI está vigente
- Cancelado: El CFDI está cancelado
- No encontrado: El CFDI no está registrado en el SAD
Estado de cancelación
El estado de cancelación está relacionado con la función de poder cancelar el CFDI en el momento en que se realiza la consulta, las posibles respuestas se presentan a continuación:- No cancelable: No se puede cancelar
- Cancelable sin aceptación: Se puede cancelar inmediatamente
- Cancelable con aceptación: Se puede cancelar pero se debe evaluar
Estado de cancelación
El Estado de cancelación está relacionado a la situación que tiene cada CFDI ante el SAT en el proceso de cancelación, las posibles respuestas se presentan a continuación:- (ninguno): No se solicitó cancelación
- Cancelado sin aceptación: Cancelada sin necesidad de autorización
- En proceso: En espera de que el receptor autorice
- Plazo vencido: Cancelada por vencimiento
- Cancelado con aceptación: Cancelada con autorización del receptor
- Solicitud rechazada: No cancelada
Estados mutuamente excluyentes
A continuación, se presenta una tabla con los estado mutuamente excluyentes con su correspondiente explicación según el SAT:
| CodigoEstatus | Estado | EsCancelable | EstatusCancelacion | Explicación |
|---|---|---|---|---|
| N - ... | * | * | * | El SAT no sabe del CFDI con los datos ofrecidos |
| S - ... | Cancelado | * | Plazo vencido | Cancelado por plazo vencido |
| S - ... | Cancelado | * | Cancelado con aceptación | Cancelado con aceptación del receptor |
| S - ... | Cancelado | * | Cancelado sin aceptación | No fue requerido preguntarle al receptor y se canceló |
| S - ... | Vigente | No cancelable | * | No se puede cancelar |
| S - ... | Vigente | Cancelable sin aceptación | * | Se puede cancelar pero no se ha realizado solicitud |
| S - ... | Vigente | Cancelable con aceptación | (ninguno) | Se puede cancelar pero no se ha realizado solicitud |
| S - ... | Vigente | Cancelable con aceptación | En proceso | Se hizo la solicitud y se está en espera |
| S - ... | Vigente | Cancelable con aceptación | Solicitud rechazada | Se hizo la solicitud y fue rechazada |