Ir al contenido

MhEmitirFactura

Emite una factura electrónica (DTE, Documento Tributario Electrónico) a El Salvador ante el Ministerio de Hacienda. A diferencia de la mayoría de los países de la región, el DTE salvadoreño se arma en JSON, no en XML. El nodo construye el documento, lo firma digitalmente con JWS (algoritmo RS512), obtiene el token de autenticación y realiza el POST de recepción contra los servicios de Hacienda.

La factura queda válida recién cuando Hacienda la PROCESA y devuelve el Sello de Recepción; hasta ese momento el DTE firmado no tiene validez tributaria. Los datos del emisor salen de la credencial; el IVA se calcula al 13%.

CampoTipoRequeridoDescripción
credentials_idcredentialsSíCredencial mh (clave, NIT y API de Hacienda)
dtejsonNoFactura en JSON: receptor (tipoDocumento, numDocumento, nombre), items (precioUnitario con IVA incluido, tipoItem 1 bien / 2 servicio). Secuencial opcional

El emisor (NIT, NRC, nombre comercial, establecimiento) se completa automáticamente desde la credencial cuando no viene en dte.

Este módulo requiere una credencial de tipo mh con los siguientes campos:

  • NIT / NRC del emisor: identificación tributaria del contribuyente
  • Usuario y clave API de Hacienda: credenciales para obtener el token de autenticación
  • Certificado de firma: material usado para firmar el DTE con JWS (RS512)
  • Entorno: pruebas u producción según el ambiente configurado en Hacienda
{
"success": true,
"codigoGeneracion": "A1B2C3D4-E5F6-1234-5678-9ABCDEF01234",
"numeroControl": "DTE-01-00000001-000000000000001",
"selloRecibido": "2026080512345678901234567890123456",
"estado": "PROCESADO",
"fhProcesamiento": "05/08/2026 10:15:32",
"dteFirmado": "eyJhbGciOiJSUzUxMiJ9...jwscompact"
}
{
"credentials_id": "cred-mh-prod",
"dte": {
"receptor": {
"tipoDocumento": "36",
"numDocumento": "06141804941035",
"nombre": "Cliente SA de CV"
},
"items": [
{
"descripcion": "Servicio de consultoría",
"cantidad": 1,
"precioUnitario": 113,
"tipoItem": 2
}
]
}
}
  • El DTE se arma y transmite en JSON, no en XML; la firma JWS (RS512) reemplaza al esquema XMLDSig usado en otros países.
  • La factura solo queda válida cuando Hacienda responde con estado PROCESADO y entrega el Sello de Recepción; un DTE firmado pero rechazado no tiene validez tributaria.
  • El precioUnitario de los ítems de factura va con IVA incluido (13%), a diferencia del Comprobante de Crédito Fiscal donde el IVA se discrimina como tributo aparte.
  • El codigoGeneracion devuelto es el identificador necesario para una eventual anulación con MhAnular.