Anulación
Este documento describe el proceso de cambio de estado para documentos electrónicos. Nota importante: Este proceso solo actualiza el estado del documento en el sistema internamente, NO envía una solicitud de anulación directamente al SRI.
Endpoints API
| Método | Endpoint | Descripción |
| -------- | ---------- | ------------- |
POST | /api/document/{accessKey}/annulment | Anular documento |
GET | /api/document/{accessKey}/annulment | Ver estado de anulación |
GET | /api/document/{accessKey}/annulment/list | Listar anulaciones |
> Autenticación: Todas las rutas requieren Authorization: Bearer {token}
Solicitar Anulación
curl -X POST "{{ url('/api/document/2104202601179214876600120010010000001041234567890/annulment') }}" \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reason": "ERROR_IN_ISSUANCE",
"justification": "Factura emitida por error"
}'
Parámetros
| Campo | Tipo | Requerido | Descripción |
| ------- | ------ | ----------- | ------------- |
reason | string | Sí | Motivo de anulación |
justification | string | No | Descripción adicional (máx 1000 caracteres) |
| Código | Descripción | ||
| -------- | ------------- | ||
ERROR_IN_ISSUANCE | Error en los datos del documento | ||
OPERATION_NOT_REALIZED | La operación no se concretó | ||
OTHERS | Otro motivo justificado |
Validación
Solo se valida que el documento tenga estado AUTHORIZED. Si el documento no está autorizado, retornará un error.
Consultar Estado de Anulación
curl -X GET "{{ url('/api/document/2104202601179214876600120010010000001041234567890/annulment') }}" \
-H "Authorization: Bearer TOKEN"
Listar Anulaciones del Documento
curl -X GET "{{ url('/api/document/2104202601179214876600120010010000001041234567890/annulment/list') }}" \
-H "Authorization: Bearer TOKEN"
Respuesta Exitosa
{
"status": "ok",
"code": 200,
"message": "Documento anulado exitosamente",
"data": {
"document": {
"access_key": "2104202601179214876600120010010000001041234567890",
"status": "ANNULLED"
},
"annulment": {
"id": 1,
"verification_code": "ANUL-A1B2C3D4E5F6",
"annulment_type": "ONLINE",
"reason": "Error en emisión",
"status": "Completada",
"annulled_at": "21/04/2026 10:30"
}
}
}
Respuestas de Error
Documento no encontrado
{
"status": "error",
"code": 404,
"message": "Documento no encontrado"
}
Documento no autorizado
{
"status": "error",
"code": 400,
"message": "Solo pueden anularse documentos autorizados."
}
Estados del Documento
| Estado | Descripción |
| -------- | ------------- |
AUTHORIZED | Documento autorizado - puede ser anulado |
ANNULLED | Documento anulado |
| Estado | Descripción |
| -------- | ------------- |
COMPLETED | Anulación completada |