Skip to main content
Entender el ciclo async es fundamental para integrar Factio correctamente.

Diagrama de estados

DRAFT → VALIDATED → NUMBER_RESERVED → XML_GENERATED → SIGNED
  → SUBMITTED_TO_SRI → RECEIVED_BY_SRI → AUTHORIZATION_PENDING
  → AUTHORIZED ✓
  → REJECTED ✗
  → MANUAL_REVIEW_REQUIRED ⚠

Estados y su significado

EstadoDescripción
DRAFTDocumento creado, pendiente de validación interna.
VALIDATEDPayload validado.
NUMBER_RESERVEDSecuencial fiscal reservado. No se reutiliza aunque falle lo siguiente.
XML_GENERATEDXML fiscal generado según schema SRI.
SIGNEDXML firmado con XAdES-BES usando el certificado .p12.
SUBMITTED_TO_SRIXML enviado al endpoint SOAP de Recepción del SRI.
RECEIVED_BY_SRISRI confirmó recepción (RECIBIDA).
AUTHORIZATION_PENDINGEsperando respuesta de autorización (polling activo).
AUTHORIZEDEstado terminal exitoso. XML autorizado disponible para descarga.
REJECTEDSRI rechazó el comprobante. Ver sri_messages para el motivo.
RECEPTION_RETRY_SCHEDULEDError transitorio en recepción. Reintentando con backoff.
AUTHORIZATION_UNKNOWNTimeout ambiguo. Factio reconciliará por access_key.
MANUAL_REVIEW_REQUIREDFalla permanente que requiere intervención.

Huecos fiscales

Los secuenciales se consumen al reservarse, incluso si la emisión falla. Esto es intencional: evita colisiones en sistemas distribuidos. Si un comprobante queda en estado REJECTED o MANUAL_REVIEW_REQUIRED, el secuencial utilizado genera un “hueco fiscal auditado”. El SRI permite esto siempre que el emisor pueda justificarlo con evidencia. Factio registra el motivo técnico, timestamps y correlación con el job fallido para cada hueco. Esto está disponible en el historial del documento.

Reconciliación automática

Cuando el SRI no responde de forma determinista (timeouts, errores de red), Factio reconcilia automáticamente usando la clave_acceso del comprobante antes de cualquier reenvío, para evitar emisión duplicada.