Skip to content

Evento de Retorno (DTE 18)

El Evento de Retorno (DTE tipo 18) se utiliza para registrar devoluciones, retornos o reversiones parciales o totales de bienes o servicios asociados a documentos previamente emitidos y procesados.

  • Tipos de Documento Permitidos: Únicamente se puede aplicar un Evento de Retorno sobre Facturas de Consumidor Final (DTE-01) y Facturas de Sujeto Excluido (DTE-14).
  • Estado del Documento: El DTE original de origen debe encontrarse en estado PROCESSED (aceptado por el Ministerio de Hacienda).
  • Control de Cantidades (Sobre-retorno): El sistema valida que la cantidad a devolver, sumada a cualquier devolución previa del mismo ítem, no supere la cantidad original registrada en el DTE de origen.

POST /dte/retorno

(Consulta la guía de Endpoints y Entornos para obtener la URL base según el ambiente).


Para realizar una solicitud de Evento de Retorno, debes enviar la identificación del documento de origen, los ítems a devolver con sus cantidades correspondientes y el motivo de la devolución.

{
"documentoOrigen": "0F0169B1-2813-4A0E-9E9D-FADBE39F641F",
"items": [
{
"numItem": 1,
"cantidadRetorno": 1
}
],
"motivo": "Devolución parcial de corte de cabello",
"apendice": null
}
CampoTipoRequeridoDescripción
documentoOrigenstringCódigo de Generación (UUID) del DTE original (DTE-01 o DTE-14) que se va a afectar.
itemsarrayLista de ítems que se están retornando. Debe contener al menos un elemento.
items[].numItemnumberNúmero correlativo del ítem (numItem) tal y como aparece en el cuerpo del DTE original.
items[].cantidadRetornonumberCantidad de unidades a retornar (debe ser mayor a 0 y menor o igual a la cantidad disponible).
motivostringDescripción o justificación de la devolución o retorno.
apendicearrayNoDatos o metadatos adicionales opcionales adjuntos al DTE.

El endpoint retorna el detalle completo del documento de retorno creado y firmado junto con el resultado del Ministerio de Hacienda.

{
"status": "success",
"data": {
"id": 1007,
"tipo": "RETORNO",
"codigoGeneracion": "E7B2C3D4-E5F6-7A8B-9C0D-1E2F3A4B5C6D",
"numeroControl": "DTE-18-M001P001-000000000000030",
"estado": "PROCESSED",
"ambiente": "TEST",
"total": "20.00",
"dteJson": {
// Estructura interna del DTE de retorno enviado a Hacienda
},
"dteFirmado": "eyJhbGciOiJSUzUxMiJ9.eyJpZGVudGlmaWNhY2lvbiI6ey...",
"selloRecibido": "20261A2B3C4D5E6F7G8H9I0J1K2L3M4N5O6P",
"respuestaMh": {
"estado": "PROCESSED",
"version": 2,
"ambiente": "00",
"codigoMsg": "001",
"versionApp": 2,
"clasificaMsg": "10",
"observaciones": [],
"selloRecibido": "20261A2B3C4D5E6F7G8H9I0J1K2L3M4N5O6P",
"descripcionMsg": "RECIBIDO",
"fhProcesamiento": "08/06/2026 23:05:12",
"codigoGeneracion": "E7B2C3D4-E5F6-7A8B-9C0D-1E2F3A4B5C6D"
},
"dteJsonUrl": "emisores/empresa-pruebas/DTES/TEST/2026/06/08/DTE18/json/E7B2C3D4-E5F6-7A8B-9C0D-1E2F3A4B5C6D.json",
"dtePdfUrl": "emisores/empresa-pruebas/DTES/TEST/2026/06/08/DTE18/pdf/E7B2C3D4-E5F6-7A8B-9C0D-1E2F3A4B5C6D.pdf",
"sequenceNumber": "30",
"sequenceId": 45,
"serie": "P001",
"emisorId": 2,
"branchId": 3,
"pointOfSaleId": 10,
"tokenId": 22,
"errorTecnico": null,
"createdAt": "2026-06-08T23:05:11.000Z",
"analisisHacienda": {
"estadoDocumento": "PROCESSED",
"aceptadoPorMH": true,
"tieneObservaciones": false,
"observaciones": [],
"erroresValidacion": [],
"mensaje": "Documento procesado exitosamente"
}
}
}

Código de Error (type)HTTP StatusCausa Común
VALIDATION_ERROR400Campos faltantes en el payload (documentoOrigen, items, motivo) o tipo de datos incorrecto.
DOCUMENT_NOT_FOUND404El documentoOrigen especificado no existe en la base de datos local.
INVALID_ORIGIN_TYPE400El DTE original no es del tipo FACTURA_CONSUMIDOR_FINAL ni SUJETO_EXCLUIDO.
INVALID_ORIGIN_STATUS400El DTE original no está en estado PROCESSED.
PERMISSION_DENIED403El token del emisor no posee permisos para operar sobre este tipo de documento.
ITEM_NOT_FOUND400Uno de los valores de numItem provistos en el arreglo items no existe en el DTE original.
OVER_RETURN_ERROR400La cantidad solicitada a retornar excede la cantidad total disponible del ítem original (restando devoluciones previas).