Volver a TPV

Imprimir tickets con GestioERP en la nube: app, agente y puente local

Cuando GestioERP está en la nube, el servidor no puede llegar a la impresora de tickets de tu tienda (está en una red local privada). Esta guía explica quién imprime en cada caso y cómo dejar la impresión funcionando: con la app Android, con una tableta como agente, o con el puente de impresión para PC (incluido un .exe que no necesita instalar nada).

Por qué pasa esto

Una impresora de tickets de red se imprime abriendo una conexión a su IP en el puerto 9100. La pregunta clave es quién abre esa conexión:

  • Si GestioERP está en tu local (misma red que la impresora): lo abre el servidor directamente. No necesitas nada más.
  • Si GestioERP está en la nube: el servidor está en internet y no alcanza la red de tu tienda. Lo tiene que abrir un dispositivo que esté dentro de tu local (una tableta o un PC). Para eso existe la cola de impresión y los agentes que la consumen.

El navegador no puede abrir conexiones a impresoras por sí mismo (lo bloquea por seguridad). Por eso, en la nube, imprime siempre un dispositivo del local, no la página web.

Cómo funciona la cola de impresión

Cada venta o comanda genera un ticket en GestioERP. Según el tipo de conexión de la impresora, el ticket:

  • Red (IP): lo imprime el servidor al momento (solo sirve en instalación local/LAN).
  • Agente / Compartida / USB / Bluetooth / Integrada: queda en una cola (/TpvPrintQueue) que recoge un dispositivo del local (la app o el puente), lo imprime y lo confirma.
POS web (nube) → servidor GestioERP (nube) ──cola──> dispositivo del local ──> impresora

Las 3 maneras de imprimir en la nube

1) App Android (lo más simple) — sin instalar nada en PC

La app de GestioERP (tableta/comandera) lleva un agente de impresión integrado: cada pocos segundos recoge los tickets de la cola y los imprime con su puente nativo (red, USB, Bluetooth o integrada Sunmi/iMin). Si ya tienes una tableta en el local, no necesitas nada más.

  • Configura la impresora del terminal con su conexión (red por IP, USB, Bluetooth…).
  • La tableta debe estar en la misma red que la impresora (para IP) o conectada a ella (USB/BT).

2) Una tableta Android como “servidor de impresión”

Como la app ya consume la cola, una tableta puede imprimir los tickets de otro terminal (por ejemplo, los del POS web). Solo tiene que estar configurada con el token del terminal cuya impresora hay que servir.

Recomendación: un solo agente por terminal. Si dos dispositivos usan el mismo token, podrían imprimir el mismo ticket dos veces.

3) Puente de impresión para PC (GestioERP Print Bridge)

Si en el local hay un PC con Windows (y no quieres usar una tableta de agente), instala el puente: un programa pequeño que recoge la cola y manda los tickets a la impresora de red (IP) o a una impresora USB instalada en Windows.

  • Se entrega como un único .exe ligero (≈22 KB), sin instalar nada (ni Node, ni Electron, ni QZ Tray).

📥 Descargar el puente para Windows (.exe) — un solo archivo (≈22 KB, no instala nada). Al abrirlo la primera vez se abre una ventana que pide el negocio, la URL, el token y la impresora (un desplegable con las de Windows). Luego queda como icono de impresora en la bandeja (junto al reloj), imprime solo y arranca con Windows.

  • No usa QZ Tray ni certificados ni configuración del navegador: el puente pregunta al servidor por los tickets (modelo pull), así que funciona a través de internet sin abrir puertos.

Varias tabletas o cajas: ¿quién imprime la cocina? (sin duplicados)

Con varios dispositivos, cada uno imprime sus propios recibos sin problema (cada uno es su terminal). El cuidado está en las impresoras compartidas (cocina/barra): si todos los dispositivos las recogen, una comanda saldría varias veces.

Para evitarlo, eliges tú qué dispositivo imprime la cocina:

  • En TPV → Terminales e impresoras, edita el terminal que quieras que haga de servidor de cocina (una tableta fija, o el terminal del PC con el puente) y marca «Imprime cocina/compartidas (agente)» (pestaña Tiquet, KDS i dispositius).
  • A partir de ahí, solo ese terminal recibe e imprime las comandas de cocina/zonas; el resto siguen imprimiendo únicamente sus tickets de venta.
  • Si no marcas ninguno, se mantiene el comportamiento anterior (las imprimen todos) — cómodo cuando solo hay un dispositivo.

Regla de oro: un solo «agente de cocina» por local. Lo mismo si usas el puente de PC: que solo uno tenga ese rol.

Configurar el puente (PC Windows), paso a paso

Paso 1 — La impresora en GestioERP

En TPV → Terminales e impresoras, edita la impresora del terminal y elige la conexión:

  • Impresora de red (IP): conexión agente, con su IP y puerto 9100.
  • Impresora USB (instalada en Windows): conexión compartida. Instala antes la impresora en Windows (su driver, o «Generic / Text Only»).

agente y compartida dejan el ticket en la cola para que lo imprima el puente (el servidor no lo intenta, porque está en la nube).

Paso 2 — Preparar el puente

  1. Copia la carpeta GestioERP Print Bridge al PC de la tienda.
  2. Duplica config.example.json como config.json y rellena:
    • server: la URL de tu GestioERP en la nube (p. ej. https://tu.gestioerp.com).
    • token: el token del terminal (ficha del terminal o QR de la tableta).
    • windowsPrinter: solo para impresoras USB, el nombre exacto de la impresora de Windows (ejecuta list-printers.bat para verlo). Déjalo vacío si solo usas IP.

Paso 3 — Arrancar

  • Doble clic en start.bat (detecta el .exe o Node y se reinicia solo si se corta).
  • Verás líneas como: imprès #12 -> 192.168.0.23:9100 (240 bytes, xarxa).

Paso 4 — Que arranque con Windows (opcional)

  • Acceso directo de start.bat en la carpeta Inicio (shell:startup), o
  • una tarea en el Programador de tareas al iniciar sesión, o
  • como servicio con NSSM.

Cómo comprobar que todo funciona

  1. Prueba directa de la impresora (sin vender nada): desde la carpeta del puente,
    • red: test.bat --ip 192.168.0.23
    • USB: test.bat --win "EPSON TM-T20" Debe salir un ticket de prueba. Si no, te dirá el error concreto.
  2. Prueba real: deja el puente abierto, haz una venta de prueba en el POS web y cóbrala. El ticket debe salir en unos segundos y el puente mostrará imprès #....
  3. Solo red (IP): comprueba que el puerto 9100 está abierto (el ping NO basta). En la app, el botón «Provar connexió (IP:port)» lo verifica desde el propio dispositivo.

Problemas habituales

  • No imprime nada: revisa que la impresora esté en agente (red) o compartida (USB), y que server y token del config.json sean correctos.
  • timeout TCP: el dispositivo no llega a la impresora en el 9100. Revisa IP, red y que el 9100 esté abierto.
  • USB: el windowsPrinter debe ser el nombre exacto (usa list-printers.bat); la impresora debe estar instalada en Windows.
  • Se imprime dos veces: hay dos agentes con el mismo token. Deja uno solo por terminal.

Preguntas frecuentes

  • ¿Necesito QZ Tray? No. Para la nube, la app Android o el puente son más simples (no requieren certificados ni tocar el navegador).
  • ¿Y si GestioERP es local (no nube)? Pon la impresora en red: imprime el servidor directamente, sin agente ni puente.
  • ¿mc2printer/MC20? Es una app de impresión específica para el terminal de mano MC20 (por WebSocket). Hoy lo habitual es la app GestioERP (que ya consume la cola) o este puente para PC.

En resumen

SituaciónQué usar
Tableta Android en el localLa app ya imprime (impresora con su conexión)
Solo PC Windows + impresora de redPuente, impresora agente
Solo PC Windows + impresora USBPuente, impresora compartida + windowsPrinter
GestioERP local (misma LAN)Impresora red (imprime el servidor)

Más artículos de esta categoría