Ir al contenido

Documentación de la API de sudte

La API de sudte te permite emitir, consultar e invalidar Documentos Tributarios Electrónicos (DTE) ante el Ministerio de Hacienda (MH) de El Salvador con llamadas REST. Tú envías los datos de negocio de una venta; sudte calcula los totales, arma el JSON oficial, lo valida contra el esquema del MH, lo firma con el certificado del emisor, lo transmite y te devuelve el sello de recepción, el JSON firmado y el PDF.

https://api.sudte.com/v1
  • JSON en solicitudes y respuestas, codificado en UTF-8.
  • Montos como texto decimal ("113.00"), nunca como número de punto flotante, para no perder precisión.
  • Fechas en ISO 8601 con zona horaria de El Salvador (2026-10-12T10:15:02-06:00).
  • Errores con el estándar RFC 9457 (application/problem+json) y mensajes en español. Ver errores.
  • Idempotencia: todo POST lleva la cabecera Idempotency-Key. Ver idempotencia.
  • Paginación por cursor con limit (1 a 100, por defecto 20) y starting_after; las listas responden { "data": [...], "has_more": true }.
Concepto Qué es
Cuenta Tu organización en sudte. Paga el plan, tiene usuarios del panel y API keys.
Emisor Una empresa (un NIT) que emite DTE. Una cuenta puede tener varios.
Establecimiento Sucursal, casa matriz o bodega, con el código que asigna el MH (M001, S001, B001…).
Punto de venta Caja o sistema que emite dentro de un establecimiento (P001…).
Documento Un DTE: factura (01), crédito fiscal (03), nota de crédito (05), nota de débito (06) y demás tipos del catálogo CAT-002.
Ambiente 00 pruebas (sin valor legal) o 01 producción. Lo determina tu API key.

El número de control (DTE-01-M001P001-000000000000042) combina tipo, establecimiento, punto de venta y un correlativo que sudte lleva por NIT, centralizado o por establecimiento según configures el emisor, y que reinicia cada 1 de enero.

  1. Valida tus datos y calcula ítems y resumen con aritmética decimal (8 decimales por ítem, 2 en el resumen).
  2. Asigna el código de generación (UUID v4 en mayúsculas) y el número de control.
  3. Valida el JSON contra el esquema oficial vigente; si algo falla, responde 422 sin consumir número de control.
  4. Firma el JSON (JWS RS512) y lo guarda antes de transmitirlo.
  5. Transmite al MH, aplica la política de reintentos y consulta el estado antes de reenviar.
  6. Guarda el sello, genera el PDF con QR y, si lo pides, envía el JSON y el PDF por correo al receptor.

Autentícate

Crea una API key de pruebas y aprende a usarla. Autenticación

Prueba sin riesgo

El sandbox emite contra el ambiente de pruebas del MH. Sandbox

Emite

Campos, respuestas y estados de un documento. Cómo emitir

Escucha eventos

Recibe sellos, rechazos e invalidaciones. Webhooks

¿Usas Odoo? El módulo de Odoo hace todo esto al confirmar tus facturas. El contrato completo se descarga en openapi.yaml.