ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

E-invoicing in El Salvador: the JSON-based DTE

El Salvador made a choice that sets it apart from almost all of its Latin American neighbours: its Documento Tributario Electrónico (DTE) is built in JSON, not XML. Each document is generated as JSON conforming to the esquemas published by the Dirección General de Impuestos Internos (DGII), digitally signed, then transmitted in real time to the Ministerio de Hacienda (Ministry of Finance), which returns a sello de recepción (receipt stamp) — without that stamp, the document has no fiscal validity. It is a classic clearance model, but with a distinctive technical grammar.

Context & legal framework

El Salvador's electronic invoicing system is built on the Documento Tributario Electrónico (DTE), run by the Ministerio de Hacienda through the Dirección General de Impuestos Internos (DGII) — the Internal Revenue Directorate.

The legal foundation is Legislative Decree No. 487, approved on 30 August 2022, which amended 14 articles of the Código Tributario (Tax Code) to govern the issuance, transmission, receipt and invalidation of DTEs. On top of this sit the technical guides and JSON schemas published by the DGII, plus a mandate calendar notified taxpayer by taxpayer.

  • Regulator: Ministerio de Hacienda — DGII.
  • Scope: every VAT-liable transaction (IVA) must produce a DTE — B2B, B2C and to the public sector.
  • Fiscal validity: a DTE is valid only once it carries the sello de recepción applied by the tax authority; paper disappears in favour of a graphic representation (PDF/QR) that merely represents the authoritative JSON version.
  • Digital identity: every issuer must hold a firma electrónica certificate and register in the MH system before issuing.

El Salvador passed the one-billion-DTE-processed mark in 2024–2025, a sign that the rollout is now structural rather than a pilot.

Regulatory timeline

The obligation did not come into force all at once: the MH proceeded in waves (grupos), starting with the largest taxpayers and notifying each company individually of its switch-over date.

DateMilestone
30 Aug 2022Legislative Decree No. 487 — DTE legal basis in the Tax Code.
1 Jul 2023Group 1 — first large taxpayers mandated.
1 Oct 2023Group 2.
1 Jan 2024Group 3 — broader rollout.
1 Apr 2024Group 4.
1 Jun 2024Group 5.
1 Jul 2024Group 6.
2025Extension to notified medium and small taxpayers; switch to exclusively electronic documents for notified companies.

Note: the dates above reflect the published waves; the MH has at times deferred or added grupos. The practical rule is that a company becomes mandated on the date stated in its individual notification, viewable on the Ministry of Finance portal. Dates from 2025 onward are indicative and subject to adjustment.

Format & technical schema

The DTE is a JSON object — the Salvadoran singularity against the XML/UBL models dominant across Latin America. The DGII publishes a distinct JSON Schema per document type; using the wrong schema version triggers immediate rejection.

The 11 DTE types (tipoDte):

CodeDocument
01Factura Electrónica — invoice to a final consumer (no NRC)
03Comprobante de Crédito Fiscal — tax-credit voucher (client with NRC, VAT credit)
04Nota de Remisión — remittance note
05Nota de Crédito — credit note
06Nota de Débito — debit note
07Comprobante de Retención — withholding voucher
08Comprobante de Liquidación — settlement voucher
09Documento Contable de Liquidación — accounting settlement
11Factura de Exportación — export invoice
14Factura de Sujeto Excluido — excluded-subject invoice
15Comprobante de Donación — donation voucher

Common structure — every DTE shares the same blocks: identificacion (metadata), emisor (issuer), receptor (recipient), cuerpoDocumento (line items), resumen (totals), plus optional blocks (documentoRelacionado, extension, apendice).

Key identificacion fields: ambiente (00 = test, 01 = production), tipoModelo (1 = previo/normal, 2 = deferred/contingency), tipoOperacion, numeroControl and codigoGeneracion (UUID v4).

{
  "identificacion": {
    "version": 3,
    "ambiente": "01",
    "tipoDte": "01",
    "numeroControl": "DTE-01-00000001-000000000000001",
    "codigoGeneracion": "A1B2C3D4-E5F6-4789-A0B1-C2D3E4F5A6B7",
    "tipoModelo": 1,
    "tipoOperacion": 1,
    "tipoContingencia": null,
    "fecEmi": "2026-06-23",
    "horEmi": "14:32:05",
    "tipoMoneda": "USD"
  },
  "emisor": {
    "nit": "06140101901011",
    "nrc": "123456",
    "nombre": "Comercial Cuscatlan, S.A. de C.V.",
    "codActividad": "46900"
  },
  "receptor": {
    "tipoDocumento": "36",
    "numDocumento": "06142803901012",
    "nombre": "Distribuidora Pacifico, S.A. de C.V."
  },
  "cuerpoDocumento": [
    {
      "numItem": 1,
      "descripcion": "Consulting service",
      "cantidad": 1,
      "precioUni": 100.00,
      "ventaGravada": 100.00
    }
  ],
  "resumen": {
    "totalGravada": 100.00,
    "totalIva": 13.00,
    "totalPagar": 113.00,
    "totalLetras": "ONE HUNDRED THIRTEEN 00/100"
  },
  "selloRecibido": "2025AB12CD34EF56..."
}

The selloRecibido is not produced by the issuer: it is returned by the MH after acceptance (see next section). Note: the currency is the US dollar (USD), El Salvador's legal tender.

Transmission flow

The DTE follows a real-time clearance model. The canonical flow (modelo previo, tipoModelo = 1):

  1. Generation of the JSON in the issuer's billing system, conforming to the schema of the target tipoDte, with a codigoGeneracion (UUID v4) and a numeroControl (format DTE-NN-XXXXXXXX-NNNNNNNNNNNNNNN: type, establishment/point-of-issue code, then a correlative).
  2. Digital signature of the document with the issuer's firma certificate — guarantees authenticity and integrity.
  3. Transmission to the Ministry of Finance reception service.
  4. Validation and stamp: the MH validates structure and business rules, then returns the selloRecibido (sello de recepción). The DTE only becomes fiscally valid at this moment.
  5. Delivery to the recipient (JSON + a graphic representation with a QR code enabling public lookup of the DTE).

Contingencia (degraded mode) — if the connection to the MH drops, the issuer can generate DTEs in contingency (tipoModelo = 2, with a tipoContingencia reason) and keep invoicing offline. Once the connection is restored:

  • the issuer must transmit the “Evento de Contingencia” within a maximum of 24 hours;
  • then transmit the accumulated DTEs to the tax administration within a maximum of 72 hours.

This mechanism prevents commercial activity from halting during an outage while ensuring after-the-fact regularisation.

Validation & compliance

A DTE's compliance is checked by the MH automatically on receipt, across several layers:

  • Schema validation: the JSON must match the exact JSON Schema of the document's type and version. A stale schema version or a mistyped field means rejection.
  • Valid signature: the firma electrónica certificate must be active and match the registered issuer.
  • Business consistency: totals (resumen) consistent with line items (cuerpoDocumento), VAT (IVA 13%) correctly computed, valid NIT/NRC identifiers, non-duplicated numeroControl.
  • Sello de recepción: proof of acceptance. Public DTE lookup (by codigoGeneracion + issuer NIT) lets a recipient verify that a document was actually stamped by the MH.

Cancellation: a stamped DTE is not “deleted” — it is invalidated via an evento de invalidación sent to the MH, or corrected with a credit/debit note as appropriate. Businesses must retain DTEs (signed JSON) for the statutory retention periods of the Tax Code.

Common pitfalls

  • Assuming it's XML. The LATAM reflex (UBL/XML) does not apply here: everything is JSON, with bespoke JSON Schemas. Reusing an XML connector from a neighbouring country will not work.
  • Wrong schema version. Each tipoDte has its own schema version, and the DGII evolves them. Issuing against an obsolete version means instant rejection. Watch for schema-update announcements (schema changes are expected for 2026).
  • Confusing codigoGeneracion and numeroControl. The first is a unique, random UUID v4; the second is a structured, sequential correlative per point of issue. Both are mandatory and distinct.
  • Forgetting the sello. A DTE that is generated and signed but not stamped by the MH has no fiscal value, even if the customer received a PDF. The PDF/QR is only a representation; the source of truth is the stamped JSON.
  • Missing contingency deadlines. During an outage, failing to transmit the contingency event (24 h) and then the DTEs (72 h) within the deadlines exposes you to penalties.
  • Expired or unregistered certificate. Without a valid firma certificate and a duly registered issuer with the MH, no issuance is possible.
  • Ignoring your mandate date. The obligation is notified individually; relying on a “general” date instead of checking your notification on the MH portal can lead to issuing late.

Because El Salvador's DTE is natively JSON, it diverges from the most widespread standard families — useful to know in order to place the model:

  • El Salvador's JSON format contrasts with UBL, the XML language underpinning most of the world's e-invoicing models.
  • It does not use the Peppol network, nor EDIFACT or ISO 20022 profiles; transmission goes directly to the Ministry of Finance API.
  • To compare with other jurisdictions and their clearance models, see the countries index.
  • For terminology (clearance, sello, NRC, NIT…), see the glossary.

Official source: Ministerio de Hacienda — Facturación Electrónica and the factura.gob.sv portal (JSON schemas, integration guides, public DTE lookup).