> ## Documentation Index
> Fetch the complete documentation index at: https://docs.factioapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ciclo de vida de un comprobante

> Cómo el SRI procesa los documentos electrónicos y qué significa cada estado

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

| Estado                      | Descripción                                                                 |
| --------------------------- | --------------------------------------------------------------------------- |
| `DRAFT`                     | Documento creado, pendiente de validación interna.                          |
| `VALIDATED`                 | Payload validado.                                                           |
| `NUMBER_RESERVED`           | Secuencial fiscal reservado. **No se reutiliza aunque falle lo siguiente.** |
| `XML_GENERATED`             | XML fiscal generado según schema SRI.                                       |
| `SIGNED`                    | XML firmado con XAdES-BES usando el certificado `.p12`.                     |
| `SUBMITTED_TO_SRI`          | XML enviado al endpoint SOAP de Recepción del SRI.                          |
| `RECEIVED_BY_SRI`           | SRI confirmó recepción (`RECIBIDA`).                                        |
| `AUTHORIZATION_PENDING`     | Esperando respuesta de autorización (polling activo).                       |
| `AUTHORIZED`                | **Estado terminal exitoso.** XML autorizado disponible para descarga.       |
| `REJECTED`                  | SRI rechazó el comprobante. Ver `sri_messages` para el motivo.              |
| `RECEPTION_RETRY_SCHEDULED` | Error transitorio en recepción. Reintentando con backoff.                   |
| `AUTHORIZATION_UNKNOWN`     | Timeout ambiguo. Factio reconciliará por `access_key`.                      |
| `MANUAL_REVIEW_REQUIRED`    | Falla 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.
