Integración con el cliente de LibreDTE

El cliente de escritorio de LibreDTE permite integrar tu sistema con los servicios web de LibreDTE desde cualquier aplicación y en cualquier lenguaje, siempre que puedas generar un archivo JSON o XML con los datos del documento a emitir.

Antes de usar cualquier comando:

  1. Descarga e instala el cliente de escritorio de LibreDTE. El instalador incluye Python y todas las dependencias necesarias.
  2. Obtén el hash de tu usuario desde tu perfil.
  3. Agrega el hash al archivo de configuración config.yml del cliente.

Emisión con dte_generar

Usa este comando cuando tu sistema genera un archivo (JSON, XML u otro formato) por cada documento a emitir y quiere enviarlo en ese momento. El cliente lo envía al servicio web de LibreDTE y guarda los resultados en el directorio que indiques.

Archivos de salida

Tras cada ejecución exitosa encontrarás estos archivos en el directorio de salida:

Archivo Contenido
temporal.json Respuesta del servicio web al crear el DTE temporal.
emitido.json Respuesta al crear el DTE real; incluye el track_id si fue enviado al SII.
emitido.csv Los mismos datos de emitido.json separados por punto y coma.
emitido.xml XML del documento real (solo si se pasa --getXML).
emitido.pdf PDF del documento real, con copia cedible por defecto.

Ejemplos

Generar a partir de un archivo JSON:

libredte-cliente.py dte_generar --json=dte.json --dir=resultado

Generar a partir de un archivo XML:

libredte-cliente.py dte_generar --xml=dte.xml --dir=resultado

Si tu archivo usa una codificación distinta a UTF-8, agrega --encoding:

libredte-cliente.py dte_generar --json=dte.json --dir=resultado --encoding=ISO-8859-1
Más opciones de `dte_generar`

Consulta el README del repositorio para ver todas las opciones: otros formatos de entrada (YAML, etc.), formato del PDF, envío automático por correo, entre otras.

Emisión en modo monitor

Usa este comando cuando prefieras una integración desacoplada: tu sistema deposita archivos en un directorio de entrada y el cliente los procesa automáticamente. El monitor se ejecuta de forma continua y revisa el directorio de entrada cada 1 segundo; cuando detecta un archivo nuevo genera el DTE y deja los resultados en el directorio de salida.

Ejemplos

Monitorear con archivos en formato JSON (por defecto):

libredte-cliente.py monitor --emisor=76192083-9 --dir_entrada=/ruta/entrada --dir_salida=/ruta/salida

Monitorear con archivos en formato XML:

libredte-cliente.py monitor --emisor=76192083-9 --formato=xml --dir_entrada=/ruta/entrada --dir_salida=/ruta/salida

Enviar el DTE automáticamente por correo al receptor (si tiene correo asociado en LibreDTE):

libredte-cliente.py monitor --emisor=76192083-9 --dir_entrada=/ruta/entrada --dir_salida=/ruta/salida --email

Imprimir el PDF automáticamente en la impresora por defecto del equipo:

libredte-cliente.py monitor --emisor=76192083-9 --dir_entrada=/ruta/entrada --dir_salida=/ruta/salida --imprimir

Si los archivos de entrada usan una codificación distinta a UTF-8:

libredte-cliente.py monitor --emisor=76192083-9 --dir_entrada=/ruta/entrada --dir_salida=/ruta/salida --encoding=ISO-8859-1
Más opciones de `monitor`

Consulta el README del repositorio para ver todas las opciones e información sobre otros comandos disponibles (estado de DTE, descarga de PDF, emisión masiva desde CSV, impresión directa, etc.).

En esta página

Última actualización el 23/10/2026 por Anonymous