Política de Reintentos DTE: Cómo Evitar Perder Correlativos

Constantemente leo y escucho quejas de usuarios que pierden los correlativos al facturar. Los reportes indican que algunos sistemas de facturación electrónica, el de Hacienda incluido, se saltan las numeraciones secuenciales, omitiendo algunos correlativos intermedios; por ejemplo, podría ir en el 105 y pasar al 107 sin generar el 106 primeramente.

Para entender el error, primero debo explicarte qué es el número de control, el cual da su característica de correlatividad a la factura.

El correlativo de la factura electrónica se almacena en el campo número de control, el cual debe conformarse de la siguiente forma:

SecciónEjemplo
Palabra DTEDTE
Tipo de DTE
Ejemplo
01=Factura, 03=Crédito Fiscal
05=Nota de Crédito
01
Sucursal(S) o Matriz(M)S001
Punto de venta dentro de la sucursal o matrizP001
Correlativo secuencial del documento000000000000001

Quedando así: DTE-01-S001P001-000000000000001

Recuerda que el número consecutivo deberá reiniciarse cada año desde uno.

Los sistemas de facturación deben garantizar que estos correlativos se generen ordenadamente y tener la capacidad de recuperarse en caso de fallos o cortes en la comunicación.

Video 1: Para que quede más claro cómo se generan estos dos campos dentro del sistema de facturación, te dejo el fragmento del webinar donde lo explico.

Micro Fallos

Cuando el sistema de transmisión falla, lo correcto es activar contingencia; la contingencia sirve para poder emitir DTE’s cuando el sistema de transmisión no responde.

Eventualmente pasa que el sistema de transmisión sufre lo que yo llamo “Micro Fallos”; cuando esto sucede, el sistema de hacienda no se detiene por completo, sino solo por unos cuantos segundos. Si durante cualquiera de esos micro fallos justo te encuentras transmitiendo una factura, es probable que se presente el problema de pérdida de correlativos.

El mensaje que devuelve el sistema de transmisión cuando esto ocurre es el siguiente: [identificacion.numeroControl] YA EXISTE UN REGISTRO CON ESE VALOR SIN OBSERVACIONES

¿Cómo resolverlo?

Para resolver el problema del salto de correlativo, se debe aplicar lo que la normativa 2.0 llama “política de reintentos”; esta permite reintentar transmitir el DTE en caso de fallos.

La idea central es que los sistemas de facturación puedan manejar cualquier error que se presente durante el proceso de transmisión, recuperándose exitosamente del incidente de micro fallo.

Para lograr resolver cualquier falla por falta de respuesta del servidor, el sistema que emite el DTE debe conservar el estado en todo momento.

Conservar el estado significa que, por cada documento generado, se asigna un código que sirva como identificador único e irrevocable para cada número de control asignado; de acuerdo a la normativa 2.0 este campo se llama: «codigoGeneracion” y debe cumplir el estándar UUID v4.

La clave para entender la política de reintento es que, por cada número correlativo generado, el campo «codigoGeneracion» no debe cambiar en cada intento de transmisión.

Fig1. Cada DTE posee un código de generación y un número de control

Si algo falla, el facturador puede consultar el código de generación, obtener el estado del DTE, RECIBIDO o RECHAZADO y proseguir en consecuencia según el estado:

  1. RECIBIDO: El sistema debe obtener el sello de recepción y guardar el DTE como efectivamente transmitido.
  2. RECHAZADO: El sistema debe intentar retransmitirlo para superar los errores notificados y una vez superados, obtener el sello de recepción.

La política de reintentos se convierte en pieza clave para evitar el error de pérdida de correlativos y que en un futuro no existan diferencias en los montos de ventas registrados entre el sistema de transmisión y tu sistema de facturación.

Hasta 2 intentos antes de entrar en contingencia

Cuando el sistema de transmisión falle, se debe intentar dos veces más antes de entrar en contingencia. El sistema de facturación debe ser capaz de consultar el estado del DTE desde la API correspondiente y si el DTE ya existe, solo obtener el sello para colocárselo al DTE generado.

Fig2. Flujograma de generación del DTE (para fines ilustrativos, no exhaustivo)

La API de consulta para conocer el estado del DTE es la siguiente:

https://api.dtes.mh.gob.sv/fesv/recepcion/consultadte/
API para consulta de DTE’s

El resultado de la consulta a esta API devuelve lo siguiente:

Ejemplo de respuesta API de consulta DTE

La API de consulta es útil para saber si un DTE fue procesado o no y así evitar posibles mensajes de error al transmitir, tales como el de «Número de control ya existe»; la idea central es que cuando hacienda falla por unos segundos, es probable que el DTE, sí haya sido procesado; en ese caso, lo correcto es ir a traer el sello consultando la API.


Fig3. Obtener el sello de Hacienda para colocárselo al DTE
Fig 4. Al obtener el sello de Hacienda se debe colocar al DTE para dejarlo como
transmitido

Conservar el estado significa que, no importa lo que pase, dentro del sistema de facturación, el DTE debe conservar el código de generación unido al número de control (correlativo) en todo momento. Si esos dos campos se separan y un código de generación es asociado a un mismo correlativo, el mensaje: “[identificacion.numeroControl] YA EXISTE UN REGISTRO CON ESE VALOR SIN OBSERVACIONES” aparecerá.

El problema de no cumplir con la Política de Reintentos

Si bien la política de reintentos es un asunto técnico propio de sistemas informáticos, las consecuencias de no implementarla son legales y tributarias. A continuación, te compartiré solo algunas situaciones hipotéticas que se podrían presentar si no cumples con la normativa 2.0

Ventas duplicadas

El problema de la pérdida de correlativos es que te puede llevar a duplicar ventas, esto sin que te percates de ello; por razón de que, al no definir el estado de un DTE fallido, podrías emitirlo nuevamente, pensando que no ha sido procesado.

El sistema de facturación no debe perder el estado; como expliqué, esto se logra que, por cada DTE generado, el código de generación y el número de control no cambien.

Preocúpate porque tu sistema cumpla con la política de reintentos, para que, en caso de micro fallos de la plataforma, pueda reintentar transmitir y evitar la duplicación involuntaria.

Diferencias entre los registros de hacienda y mi sistema de
facturación

Es probable que los correlativos que crees perdidos, en realidad estén vivos y contando como ventas en la base de datos del Ministerio de Hacienda. Si en algún momento el monto de ventas registrado en tu sistema de facturación, contabilidad y sistema de impuestos discrepa totalmente del que posee MH, las de este último prevalecen; siempre que abone a los intereses del fisco.

En este punto es importante recordar lo que dice el artículo 199 del Código Tributario.


“ Se presume que los documentos legales establecidos en los artículo 107 y 110
de este Código que no se encontraren en poder del sujeto pasivo, no hayan sido
registrados en los libros del Impuesto a la Transferencia de Bienes Muebles y a
la Prestación de Servicios, y no se hubiere comunicado su pérdida y extravío;
han sido emitidos para documentar transferencias de bienes o prestación de
servicios gravados.”

Se presumirá que los documentos legales establecidos en la Subsección
Primera de la Sección Quinta, del Capítulo I del Título III de este Código, que no
fueron transmitidos a la Administración Tributaria, han sido generados para
documentar ingresos por las transferencias de bienes o prestación de servicios
gravadas.

Extracto Art. 199 Código Tributario (Actualización 2024)


Video 2: El siguiente fragmento resume por qué este tema, aunque es técnico, termina siendo responsabilidad del contador y no solo del programador.

Problemas en caso de una auditoría fiscal

En algún punto tendremos la declaración de IVA sugerida; esto, según ha sido mencionado en diversos webinars de divulgación que la administración tributaria ha brindado. Cuando esto ocurra, es posible que tengas diferencias entre los valores a declarar en IVA sugerido y tus libros contables.

Luego, al sincronizar el sistema de declaraciones de ISR (Impuesto Sobre la Renta) y el sistema de transmisión (Factura Electrónica), esas diferencias se trasladarán a los ingresos de renta, con lo cual tendrás que justificarlas por el problema de pérdida de correlativo.

Te dejo lo que dice el Art. 206 del Código Tributario.


Los Documentos Tributarios Electrónicos recibidos por la Administración
Tributaria prevalecerán sobre los conservados por los contribuyentes y éstos
sobre las representaciones gráficas que expidan, siempre que no se lesione el
interés fiscal. Lo anterior, sin perjuicio de las informaciones que hubieren sido
desvirtuadas por otros medios de prueba

Extracto Art. 206 Código Tributario (Actualización 2024)


Lo anterior son solo algunos problemas que podrían darse; si bien el problema de pérdida de correlativos es algo de los sistemas, es algo que finalmente repercutirá en la administración de los tributos para los contribuyentes que no cumplan la llamada Política de Reintentos.

La política de Reintento aparece en el Manual Técnico para la Integración Tecnológica del Sistema de Transmisión v2 en la sección 3.3 y es de obligatorio cumplimiento para los emisores de Factura Electrónica.


Glosario

ISR (Impuesto Sobre la Renta )
IVA (Impuesto al Valor Agregado)
API (Application Programming Interface, Interfaz de Aplicación de Programaciones)
UUID (Universal Unique Identifier, Identificador Único Universal)

Referencias

Ministerio de Hacienda de El Salvador. (2026, mayo). Manual funcional del sistema de
transmisión: Amplía la aplicación de las estructuras de los DTE y los eventos, así como contiene
las pruebas mínimas requeridas (Versión 2.0).
https://factura.gob.sv/download/3-manualfuncional-del-sistema-de-transmision-amplia-la-aplicacion-de-las-estructuras-de-los-dte-y-loseventos-asi-como-contiene-las-pruebas-minimas-requeridas/

Deja una respuesta