Ciclo de vida de un e-CF
Un comprobante fiscal electrónico (e-CF) atraviesa siete estados desde la solicitud del cliente hasta el archivo de 10 años exigido por DGII.
Estados
| Estado | Visible en API | Descripción |
|---|---|---|
received | pending | El payload fue aceptado y persistido en DynamoDB. |
validated | pending | Pasó las validaciones Pydantic y de matemática. |
signed | pending | XAdES-BES generado por la Lambda firmadora (US-EP-05). |
submitted | pending | RecepcionECF al servidor DGII; tenemos trackId. |
accepted | accepted | DGII confirmó vía TrackStatus. |
rejected_local | rejected | ERPly Pro rechazó antes de DGII (validación, mathematical-discrepancy). |
rejected_dgii | rejected | DGII rechazó tras recibir el e-CF. |
archived | n/a | Movido a S3 Glacier IR con Object Lock COMPLIANCE (US-EP-08). |
Idempotencia
Cada POST /v1/invoices requiere Idempotency-Key único por cliente. ERPly Pro persiste el resultado de la primera invocación durante 24 h en una tabla DynamoDB; cualquier reenvío con la misma clave devuelve el mismo docId/trackId con HTTP 200 (en lugar de 202).
Garantías SLA
| Operación | Objetivo p99 |
|---|---|
POST /v1/invoices (validación + persistencia) | 1.5 s |
| Firma XAdES-BES + envío DGII | 4 s |
| Webhook tras ACK DGII | < 1 s |