Ciclo de Vida
Gestión de eventos posteriores a la emisión. Incluye la Invalidación (Anulación) de documentos y el procesamiento de Contingencias ante fallos de comunicación con Hacienda.
1. Invalidación (Event Code 02)
Permite anular un DTE procesado. Este evento debe emitirse dentro de los plazos legales establecidos por el Ministerio de Hacienda (generalmente antes del cierre del periodo o 24h según el tipo).
/external/sales/invalidate Motivos de Invalidación
- • 01: Error en la información del DTE (ej. datos del cliente incorrectos).
- • 02: Rescindir de la operación realizada (ej. devolución total inmediata).
| Campo | Tipo | Descripción |
|---|---|---|
| branch_id | UUID | ID de la sucursal. |
| document_number | String | Código de generación del DTE original. |
| nullified_reason | Integer | Código del motivo (1 o 2). |
| nullified_reason_description | String | Explicación textual del motivo. |
| requested_by_name | String | Nombre de quien solicita la anulación. |
| requested_by_document | String | Número de documento del solicitante. |
| requested_by_tDocument | String | Tipo de doc. del solicitante (ej. 13). |
2. Procesamiento de Contingencia
Cuando el sistema entra en modo fuera de línea por fallos masivos o mantenimiento de Hacienda, los DTEs se quedan en cola. Una vez restablecido el servicio, se utiliza este endpoint para procesar el lote pendiente.
/external/sales/contingency | Campo (report) | Tipo | Descripción |
|---|---|---|
| id | UUID | ID del evento de contingencia abierto. |
| processed_by_name | String | Nombre del responsable de procesar. |
| start_at | DateTime | Fecha/Hora inicio de contingencia. |
| end_at | DateTime | Fecha/Hora fin de contingencia. |
Payload Invalidate
{ "document_type": "annul", "document_number": "GENERATION-CODE-ORIGINAL", "nullified_reason": 1, "nullified_reason_description": "Error en NIT del cliente", "requested_by_name": "Nombre Responsable", "requested_by_document": "00000000-0", "requested_by_tDocument": "13", "processed_by_name": "Nombre Cajero", "processed_by_document": "00000000-0", "processed_by_tDocument": "13", "branch_id": "uuid-sucursal" }
Payload Contingency
{
"document_type": "contingency",
"branch_id": "uuid-sucursal",
"report": {
"id": "uuid-evento-contingencia",
"processed_by_name": "Admin",
"start_at": "2024-03-20 08:00:00",
"end_at": "2024-03-20 10:30:00"
},
"dtes": [
{ "id": "uuid-venta-1", "selected": true },
{ "id": "uuid-venta-2", "selected": true }
]
} HTTP 401
{ "error": "Unathorized" }
HTTP 500
{ "error": "Server error" }
Nota de Preparación: Estos endpoints utilizan la lógica interna de procesamiento por lotes para garantizar la integridad de los datos reportados al Ministerio de Hacienda.