¿Qué es un Archivo Json?
El Salvador seleccionó el formato Javascript Object Notation (JSON) como estructura de datos para la factura electrónica.
La importancia de tal selección no es menor, el archivo JSON facilita la lectura de datos de manera automática, de esta forma no tienes que escribir manualmente todos los datos de la factura en un teclado.
Puedes contabilizar, generar impuestos, elaborar libros del IVA, crear informes y generar todo tipo de reportería, sin teclear nada; simplemente utilizando los DTE’s para ello.
Para aprovechar mejor los archivos de la factura electrónica déjame explicarte que es que no es un archivo JSON.
Lo que el archivo JSON no es (y por qué importa la diferencia)
No es código de programación
Lo primero, un archivo Json no es código de programación, no necesitas ser programador para entenderlo.
Es un simple texto formateado y estructurado de tal forma que permita almacenar todo el contenido de una factura en él.
Significa que puedes leerlo o cargarlo en un programa especial para convertir en información útil de tu ciclo contable.
No es el archivo PDF de la representación gráfica
Cuando realizas una compra, recibes un documento en PDF, el cual contiene la representación gráfica de la factura electrónica, esto es solo una forma visual y fácil de entender del archivo original: El DTE (Documento Tributario electrónico)
El DTE es el archivo de texto con extensión .json que contiene la verdadera factura electrónica.
Este archivo contiene los datos del receptor (Cliente), emisor (Proveedor), contenido de la factura (cuerpo de documento ) y otros datos, cada tipo de documento contiene su propia estructura, también contiene la firma electrónica, garantía legal sobre la autenticidad de quien emite el documento.
El archivo PDF no es el Json, solo es una representación del mismo.
No es un archivo de Excel o Word
Un archivo de Excel es una organización de información en formato tabular, un archivo que está dispuesto en forma de filas y columnas.
Resulta fácil pensar el archivo JSON como un archivo similar a las plantillas CSV que utilizamos para declarar impuestos, pero no es igual.
El CSV que utilizamos para crear anexos del IVA, es editable con Excel. Los archivos JSON los debe producir un programa especial, sistemas informáticos emisores de factura electrónica.
El archivo JSON tampoco es un archivo de Microsoft Word, ser electrónico no significa que tengas que hacer la factura en un documento .docx, tal cual lo harías con una carta o un documento con firma digital (los archivos de Word pueden firmarse digitalmente).
Sí se puede usar para todo tipo de información
Quizá tu primer contacto con los archivos JSON, es por la factura electrónica, no obstante estos los ocupan todo tipo de aplicaciones.
Son el formato predilecto para el intercambio de información entre sistemas.
Cada vez que inicias sesión en alguna plataforma como Gmail, o Facebook, el medio para enviar tu contraseña, nombre de usuario, tipo de navegador que utilizas y otra información es un archivo JSON.
Cuando revisas tus mensajes en WhatsApp, detrás de eso hay un archivo JSON y un sinfín más de aplicaciones que lo utilizan para intercambiar información.
¿Qué problema resuelve el archivo JSON?
El uso de este tipo de archivos responde a su conveniencia en el intercambio de datos entre sistemas, especialmente para que los datos viajen por internet.
Los JSON empaquetan información de manera eficiente, su estructura permite almacenar números textos fechas, listas y objetos, explicaré cada uno de ellos a continuación.
Textos: se usa cuando deseas almacenar un valor como el nombre del cliente, estos datos pueden contener letras o números, para almacenar un texto debes encerrarlo entre comillas.
Ejemplos:
“nombre”: “Ernesto Calderón”
No necesariamente tienen que ser letras; el número de NIT se almacena como texto, aunque solo posee números.
“nit”:”06140504821089”
Números: Valores monetarios o cantidades; el total o sub total de la factura, la cantidad de productos, el descuento, todos se representan con números. Estos no se encierran entre comillas.
“subTotal”:5.70
“total”:100.13
“cantidad”:100
Fechas: la fecha de emisión de la factura, debe registrarse en el formato año, mes y día ; en los DTE’s al campo de la fecha en la que se emitió la factura se llama “fecEmi”
Ejemplo:
“fecEmi”: “2026-06-01”
Listas: son listados de cosas; las gasolineras utilizan este tipo de dato para incluir los impuestos en cada ítem de la factura.
«tributos»: [«D1″,»C8″,»20»]
Los impuestos se identifican con un código especial, 20 es para el IVA, este es el que llevarán la mayoría de las facturas.
C8 y D1 corresponden a COTRANS y FOVIAL respectivamente.
Dependiendo de la industria, el producto, el servicio, el receptor, y otros parámetros, deben colocarse el código de cada impuesto usando listas; existen más de 50 impuestos que puedes aplicar al facturar. El sistema tributario de nuestro país es bastante complejo.
Si quieres conocer cuales son los impuestos debes consultar el CAT-015 (Catálogo de tributos), contiene todos los impuestos posibles que se pueden calcular en una factura
Objetos: Los debes entender como conjunto de atributos de un dato.
Hay datos que no pueden ser representados fácilmente, uno de ellos es la dirección.
¿Qué se necesita para describir plenamente la dirección de un contribuyente?: departamento, municipio, distrito y complemento.
No puedes describir la dirección en un solo campo, necesitas todos los atributos de una dirección perfectamente definidos (departamento, municipio, distrito y complemento)
Es por esto que se usan los objetos.
Un objeto se ve así:
«direccion»: {«departamento»: «05»,“municipio»: «26»,»complemento»: «CALLE LLAMA DEL BOSQUE OTE. AV. EL PEPETO SUR, URB. MADRE SELVA”}
Todos los atributos de la dirección se encierran dentro de llaves y se adjudican a un solo campo: DIRECCIÓN.
Algo que puedes notar a simple vista, es que los nombres de los campos siempre se encierran entre comillas: “nombre”, “nit”, “fecEmi”, “direccion”.
Esto es característico de la notación JSON, la cual pide que los datos se almacenen en pares: campo-valor.
por ejemplo :
“fecEmi”: “2026-06-01”
“fecEmi” es el campo y “2026-06-01” es el valor. Como dije antes, el nombre del campo siempre debe ir entre comillas.
En otros países se ha utilizado el formato XML para transmitir la facturas electrónicas, el cual usa los caracteres de < > para definir los campos y los valores.
La desventaja de este formato es que es más “verboso”, muy redundante, dicho en términos simples almacena mucha información innecesaria.
El formato JSON es menos pesado e ideal para transmitir datos entre sistemas, mucho más simplificado si me lo preguntas.
Desventajas
No todo son beneficios con el uso del formato JSON, en toda tecnología siempre hay desventajas.
No es eficiente para consultas y reportes
Su mayor flaqueza radica en que no es eficiente para consultas y reportes, por su naturaleza jerárquica- estructurada.
Déjame explicarte un poco mejor:
En un formato tabular como el CSV es sencillo hacer una suma de todas las columnas del campo IVA.

Lo mismo sucede cuando quieres aplicar un filtro.

Un formato estructurado no puede agrupar los campos en una sola columna.
Un formato jerárquico no puede filtrar, porque la información se guarda como si fuese el texto dentro de la página de un libro; de corrido y en vertical.
No es práctico hacer sumas y filtros con los archivos JSON.
Para poder crear reportes y consultas necesitas convertirlos a un formato tabular (filas y columnas).
Pasarlo a un formato tabular significa que debes contar con una herramienta que lea los archivos .json, interprete su contenido y luego agrupe la información parecida en filas y columnas.
Hay que pasar de esto:

A esto :

Herramientas de gestión del JSON
Existen muchas herramientas para conseguir este objetivo, te recomiendo la mejor forma que conozco de poder hacerlo.
PyConta
PyConta es un software que se encarga de obtener y gestionar los DTES que tus proveedores envían al correo electrónico de tu empresa.
Una vez que los ha obtenido, los clasifica y ordena, separándolos de acuerdo a las siguientes categorías:
- Compras
- Ventas a contribuyentes
- Ventas a consumidores

También puede procesar los DTES que tú mismo has emitido.
Clasifica tus ventas en consumidores y contribuyentes como lo pide la ley del IVA.
Además los ordena por año y mes así no tienes que preocuparte por andar clasificando en carpetas.
La genialidad de este software consiste en que puede generar los libros del IVA una vez que los ha descargado y organizado.
Es como si tuvieras a un auxiliar contable ordenando y catalogando los papeles de tus clientes o empresa.
Como el DTE es electrónico ya no necesitas hacer este proceso en físico, es más ni siquiera debes imprimirlo, la ley no obliga a hacerlo.
Por si fuera poco este software es capaz de generar automáticamente los anexos CSV para declarar impuestos, una aplicación práctica de conversión JSON a formato tabular.
Puedes usar estas herramientas sin costo y de manera gratuita para una empresa hasta 100 DTE’s por mes.
Intenta utilizarlo para una empresa que no procese muchos DTEs, si necesitas más empresas o más DTEs puedes solicitar una licencia de pago para ello.
Descarga aquí la versión demo de PyConta
Estado de las versiones
Ahora que sabes que es un archivo JSON, sus ventajas y desventajas, pasemos a hablar de las diferentes versiones del archivo DTE y cual es la última versión vigente.
El Ministerio de Hacienda ha ido cambiando y ajustando los campos que debe llevar un DTE a lo largo los últimos 5 años, te dejo un comparativo a continuación:
| Versión 1 | Versión 2 | Versión 3 | Versión 4 |
|---|---|---|---|
| evento_invalidacion-v2 | evento_invalidacionv3 | ||
| evento-contingencia-v3 | evento-contingenciav4 | ||
| credito-fiscal—v3 | credito-fiscal-v4 | ||
| nota-credito-v3 | nota-credito-v4 | ||
| nota-debito-v3 | nota-debito-v4 | ||
| nota-rremision-v3 | nota-remision-v4 | ||
| documento-contable-v1 | Documento-contablev2 | ||
| comprobante-retencion-v1 | comprobanteretencion-v2 | ||
| comprobante-liquidacionl-v1 | comprobante-liquidacionl-v2 | ||
| factura-consumidor-v1 | factura-consumidorv2 | ||
| factura-exportacion-v1 | factura-exportacion-v2 | factura-exportacionv3 | |
| factura-sujeto-excluidov1 | Factura-sujetoexcluido-v2 | ||
| comprobantedonacion-v1 | comprobantedonacion-v2 | ||
| operacionesespeciales-v1 | |||
| evento-retorno-v1 | |||
| Estado de las versiones de los DTES, actualizado con la normativa 2.0 | |||
La tabla te dice el estado de cada uno de los 15 DTES y Eventos disponibles, los he agrupado progresivamente por versión para que entiendas cual es la última y como ha evolucionado.
Los marcados en negrita representan la versión vigente de acuerdo a la normativa 2.0.
A continuación iré explicando cada DTE y que es lo que cambia.
¿Qué es lo que cambia con los nuevos DTE’s según la nueva Normativa 2.0?
Agrupó los cambios en tres categorías :
- Eventos
- Documentos para operar con Contribuyentes
- Documentos para operaciones con no Contribuyentes
Eventos
Los eventos son sucesos, acontecimientos, hechos ocurridos previa o posterior a la emisión de un DTE.
El Evento de invalidación es un hecho que ocurre cuando se detecta algún error formal en el contenido del DTE: La fecha no era la correcta, el nombre del cliente estaba malo, la dirección no era precisa, etc.
Un Evento de contingencia sucede previo a la obtención del sello, se utiliza cuando algún evento de fuerza mayor impide la transmisión de la factura al Ministerio de Hacienda.
Los DTES transmitidos en contingencia se reportan en el evento, luego se transmiten al MH para obtener el sello de recepción, legalmente solo se convierten en DTEs hasta que el sello es otorgado.
El cambio más importante en relación a los eventos es su estructura, ya no deben llevar los campos siguientes:
codPuntoVentaMH y codEstableMH
Ya no son necesarios, MH ha establecido los campos: codPuntoVenta y codEstable para determinar la codificación de las sucursales y puntos de venta. En cierta manera estaban duplicados.
Nuevos Eventos
Los nuevos eventos que trae la normativa 2.0 son el evento de retorno y el evento de operaciones especiales, he cubierto ambos eventos en los artículos que te dejo a continuación
Evento de Operaciones Especiales
Estos eventos son totalmente nuevos por lo que no podemos hablar de cambios aquí, los que trae la normativa 2.0 son los primeros en su género.
Operaciones con contribuyentes
Los créditos fiscales, las notas de crédito y otros documentos que usan los contribuyentes, ahora deben reportar el código de distrito en el objeto dirección.
Recuerda que a partir del 22 de junio de 2023, entró en vigor la Ley Especial para la Reestructuración Municipal, lo que antes eran 262 municipios, pasaron a ser los distritos, distribuidos en 44 municipios nuevos.
El objeto dirección lleva un nuevo campo:

Eliminación de campos
Se elimina los siguientes campos:
retRenta : anteriormente se usaba para calcular renta retenida, en octubre de 2025 hacienda exigió que ya no se calculará la renta dentro de los DTES sino que se extienda el comprobante de retención de renta correspondiente que exige la ley en el artículo 156 del código tributario, el cual no es un DTE.
También se elimina el objeto extensión, aquí se colocaba el nombre, documento de identidad y firma de la persona que recibe y entrega la factura; en un mundo electrónico esto no tiene sentido dado que la factura electrónica no se imprime.
tipoEstablecimiento: también es eliminado, se usaba para definir si el establecimiento era una bodega, una sucursal o la matriz de la empresa.
Al igual que con los eventos también se eliminaron los campos de codPuntoVentaMH y codEstableMH .
Estandarización del campo ivaRete1 como ivaRete y el campo ivaPerci1 como ivaPerci.
El 1 que poseían estos campos en los esquemas anteriores venía del porcentaje de 1% que se realiza en transacciones iguales o mayores a $100 dls, siempre que la transacción se de entre un gran contribuyente y un pequeño o mediano.
Si necesitas saber dónde encontrar la base legal te la dejo aquí: Art 162 del Código Tributario.
| Artículo 162.- Todos los sujetos pasivos que conforme a la clasificación efectuada por la Administración Tributaria ostenten la categoría de Grandes Contribuyentes y que adquieran bienes muebles corporales o sean prestatarios o beneficiarios de servicios de otros contribuyentes que no pertenezcan a esa clasificación, deberán retener en concepto de anticipo del Impuesto a la Transferencia de Bienes Muebles y a la Prestación de Servicios el uno por ciento sobre el precio de venta de los bienes transferidos o de la remuneración de los servicios prestados, la cual deberá ser enterada sin deducción alguna en el mismo periodo tributario en el que se efectúe la adquisición de bienes o de servicios, dentro del plazo que establece el artículo 94 de la ley que regula dicho impuesto. (2) |
| Art 162 Código Tributario |
Operaciones con no contribuyentes
Factura de sujeto excluido, Factura de exportación, comprobante de donación y por supuesto, factura de consumidor final, son los documentos que usamos cuando realizamos operaciones con NO CONTRIBUYENTES.
Como sucede con el crédito fiscal, la factura de consumidor final y todos los demás esquemas que llevan el objeto dirección ahora deben incluir el distrito.
ivaRete1 pasa a llamarse ivaRete, desaparece el campo retRenta, extensión, codEstableMh, codPuntoVentaMH y tipoEstablecimiento.
El campo motivoContin ahora aumenta su tamaño a 500 caracteres, antes solo permitía 150, aquí es donde reportas el motivo por el que se transmitió en contingencia un DTE.
En Factura de exportación se agrega un nuevo campo llamado tipoRegimen, se usa en conjunto con el catálogo “tipo de régimen” ( CAT-33). Este catálogo es totalmente nuevo.
Se eliminan los siguientes campos retRenta, extension codEstableMH,codPuntoVentaMH y tipoEstablecimiento.
Para la factura de sujeto excluido el cambio más importante es que ahora la sección donde se detallan todos los datos del sujeto excluido pasará a llamarse receptor, antes este objeto recibía el nombre de sujetoExcluido.
Lo mismo sucede con el comprobante de donación, antes de la normativa 2.0 la sección donde se detallaban los datos del emisor, se llamaba donatario y la sección donde se incluían los datos del receptor se llamaba donante.
Con la versión 2 de este esquema se estandarizan a lo mismo que todos los DTES, es decir receptor y emisor.
Conclusión:
Está claro que el Ministerio de Hacienda va a mantener una política de constante renovación en su sistema de factura electrónica, por lo que debemos mantenernos atentos a los cambios y manejar todas las versiones de los esquemas.
Recuerda que los cambios descritos en este documento aplican a partir de diciembre de 2026 por lo que si tu sistema no cumple con estos cambios no podrás emitir factura.
Si necesitas un sistema de facturación electrónica que ya posea estos cambios te recomiendo Contaportable Factura electrónica, puedes encontrar más información en el siguiente enlace.
Glosario:
- DTE: Documento Tributario Electrónico
- IVA: Impuesto al Valor Agregado
- XML: Extensible Markup Language
- JSON: Javascript Object Notation
- CSV: Archivos delimitados por comas
- COTRANS: Contribución Especial para la Estabilización de las Tarifas del Servicio Público de Transporte Colectivo de Pasajeros
- FOVIAL: Fondo de Conservación Vial
Referencias:
ContaPortable. (s. f.). PyConta: Procesamiento de factura electrónica, descarga automatizada de DTE e independencia de la nube. Recuperado el 25 de agosto de 2026, de https:// www.pyconta.com/
Ministerio de Hacienda de El Salvador. (s. f.). Facturación electrónica El Salvador. Recuperado el 25 de agosto de 2026, de https://factura.gob.sv/
Ministerio de Hacienda de El Salvador. (s. f.). JSON Schemas: Anexo al manual técnico para la integración tecnológica del sistema de transmisión [Esquemas JSON]. https://factura.gob.sv/ download/3-json-schemas-anexo-al-manual-tecnico-para-la-integracion-tecnologica-del-sistemade-transmision-contiene-los-json-schemas-por-cada-tipo-de-dte-y-cada-tipo-de-evento-para-sudesarrollo-informatic/?wpdmdl=4399
Ministerio de Hacienda de El Salvador. (s. f.). Normativa de cumplimiento de los documentos tributarios electrónicos: Lineamientos generales para la implementación de la facturación electrónica [Documento normativo]. https://factura.gob.sv/download/6-normativa-decumplimiento-de-los-documentos-tributarios-electronicos-contiene-los-lineamientos-generalespara-la-implementacion-de-facturacion-electronica/?wpdmdl=4728


