Skip to content

El Salvador

In El Salvador, Floogos connects directly to the Ministry of Finance (Hacienda) to issue Documentos Tributarios Electronicos (DTE). There is no mandatory intermediate provider: the engine itself builds the document, digitally signs it and talks directly to Hacienda’s web services.

  • Direct, no mandatory PAC: the Floogos engine builds and transmits the DTE against Hacienda’s services without depending on an authorized intermediate provider.
  • JSON format, not XML: unlike most countries in the region, the Salvadoran DTE is built as a JSON document, not XML.
  • JWS digital signature: the JSON DTE is signed with JWS (JSON Web Signature), using the RS512 algorithm, instead of the XMLDSig scheme used in other countries.
  • Token-based authentication: before transmitting, the node obtains an authentication token from Hacienda’s API using the taxpayer’s credentials.
  • Reception via POST: the signed DTE is sent through a reception POST to Hacienda’s services.
  • Reception Seal: once Hacienda processes the document, it returns a Reception Seal that certifies its validity.
  • 13% VAT as a tribute: Value Added Tax is calculated at 13%. In the consumer invoice it is included in the price; in the Tax Credit Voucher it is broken out as a separate tribute.

A DTE is not valid just by being sent signed: it is only considered valid once Hacienda responds with PROCESADO status and delivers the Reception Seal. If Hacienda rejects the submission, the document has no tax validity and must be corrected and resubmitted.

NodeDescription
MhEmitirFacturaIssues a consumer electronic invoice: JSON DTE, JWS signature, token and reception
MhEmitirComprobanteIssues a Tax Credit Voucher (03), Credit Note (05) or Debit Note (06), with VAT as a separate tribute
MhAnularInvalidates an already issued DTE through a signed invalidation event
  1. MhEmitirFactura or MhEmitirComprobante — the corresponding tax document is issued depending on the recipient (end consumer or taxpayer), and the Reception Seal is awaited.
  2. MhAnular — if the document has an error, it is invalidated by stating the reason; the other data is automatically retrieved from the Generation Code.
  • The mh credential type stores the issuer’s NIT/NRC, the Hacienda API user and password, the signing certificate and the environment (test or production).
  • The codigoGeneracion returned when issuing is the identifier later needed to cancel the document with MhAnular.