Skip to main content
El SRI realiza múltiples validaciones a nivel de datos y estructura de los comprobantes electrónicos (cálculo de impuestos, RUC válido, sumas de líneas, decimales incorrectos). Si el SRI decide rechazar el documento que enviaste a través de Factio, el estado del comprobante cambiará a REJECTED.

1. Identificar el Error

Cuando el comprobante es rechazado, la respuesta de /documents/{id} o del webhook contendrá un listado de mensajes (propiedad sri_messages) reportados directamente por el SRI.

Consulta del documento

curl -X GET https://api.staging.factioapp.com/documents/doc_01HZ... \
  -H "X-API-Key: fct_test_TU_API_KEY_AQUI"

Respuesta de Rechazo

{
  "id": "doc_01HZ...",
  "status": "REJECTED",
  "document_type": "01",
  "sri_messages": [
    {
      "identificador": "43",
      "mensaje": "CLAVE DE ACCESO EN USO",
      "informacionAdicional": "Ya existe un comprobante en estado RECIBIDA o AUTORIZADO con esta clave",
      "tipo": "ERROR"
    }
  ]
}
Puedes usar estos mensajes (como el identificador 43 y la descripción) para entender el problema exacto y depurar el error en tus payloads. Revisa la Ficha Técnica del SRI para la lista completa de errores.

2. El hueco fiscal (Sequencial consumido)

Es importante recordar que Factio reserva y consume un secuencial fiscal desde el instante en que haces el request POST inicial (cuando pasas a estado DRAFT/ACCEPTED). Si el SRI rechaza el comprobante (ej: factura 001-001-000000005), ese secuencial no se reutilizará ni se “deshará”. El SRI te permite mantener este “hueco fiscal”. Como evidencia legal de que no estás evadiendo impuestos y el comprobante falló por un error de validación, Factio guarda el historial del documento junto con los mensajes del SRI. Puedes usar esta evidencia si el SRI llega a solicitar explicaciones.

3. Solución (Emitir un nuevo documento)

Para resolver el problema, simplemente debes corregir el payload (los datos financieros o identificaciones) y crear un comprobante completamente nuevo. Factio asignará automáticamente el siguiente secuencial disponible (ej: 000000006).
# Se corrigió el problema en el payload y se emite de nuevo
curl -X POST https://api.staging.factioapp.com/documents \
  ...
No tienes que preocuparte por “anular” o “deshacer” el fallido. Un comprobante REJECTED simplemente queda como un registro muerto auditable en tu panel.