Estados
El ciclo de vida de un DTE en la API de Simplo — los 9 estados públicos, desde borrador hasta el veredicto del SII.
El campo estado de un DTE avanza por este pipeline (los valores se
serializan exactamente como se muestran):
borrador → generado → firmado → enviando → procesando → aceptado │ ↘ rechazado │ ↘ con_reparos ↘ error_envioLos 9 estados
Sección titulada «Los 9 estados»estado |
Significado |
|---|---|
borrador |
Creado pero aún no firmado |
generado |
Documento construido, previo a la firma |
firmado |
Firmado digitalmente; lo que retorna emit. Pendiente de envío |
enviando |
Aceptado por la plataforma, esperando procesamiento del SII |
procesando |
El SII recibió el envío; el veredicto final está pendiente |
aceptado |
Aceptado por el SII — el documento es tributariamente válido |
rechazado |
Rechazado por el SII — corrige la causa y emite un documento nuevo |
con_reparos |
Aceptado por el SII con observaciones |
error_envio |
El envío al SII falló de forma definitiva (no es un reintento pendiente) |
Los estados terminales son aceptado, rechazado, con_reparos y
error_envio.
Un DTE rechazado nunca se muta en el lugar: emites un documento nuevo (y normalmente una nota de crédito si hay que corregir uno ya aceptado — ver Tipos de DTE).
Cómo seguir el veredicto
Sección titulada «Cómo seguir el veredicto»const current = await simplo.dtes.retrieve(dte.id);current.estado; // 'procesando' | 'aceptado' | 'rechazado' | 'error_envio' | ...current.tracking?.track_id; // track ID del envío al SIISigue el veredicto del SII vía dte.tracking (track ID del envío y
contadores) y dte.sii_status (respuesta fina del SII), con polling de
GET /api/v1/billing/dte/{id}. (La entrega de
webhooks aún no está activa.)
Regla práctica: emit retorna con firmado — trata ese estado como “en
vuelo”, persiste dte.id, y resuelve el estado final de forma asíncrona por
polling. No bloquees el flujo de tu usuario esperando la aceptación del SII.