Manual de instalación

Conectar una balanza Dibal al POS de Ágil Factura

La balanza imprime el ticket, el cajero lo escanea y la venta se carga sola en el punto de venta —con productos, pesos y precios—, lista para facturar y sin posibilidad de cobrar el mismo ticket dos veces.

Versión 1.0 Balanzas Dibal Gama 500 · Mistral y Wind Equipo Windows 10 u 11 Duración 1 a 2 horas
GUÍA DE LECTURA

Para quién es este manual

Cada parte está escrita para una persona distinta. Ubique la suya y vaya directo a sus secciones: no necesita leer las demás.

PartePara quiénQué encontraráSecciones
PreparaciónTodosCómo funciona la integración y qué se necesita antes de empezar0102
FacturadorAdministradorQuien administra la empresa en el FacturadorActivar la integración, generar el token y preparar los productos0304
InstalaciónTécnicoSoporte de Ágil Factura o técnico de DibalConfigurar la balanza, DibalCom, Python y el servicio; probar el envío y dejarlo siempre activo0512
Uso diarioCajeroY encargado de la tiendaQué abrir cada mañana, cómo cobrar un ticket de la balanza y qué hacer si algo falla13
SoporteSoporteY usuarios avanzadosDiagnóstico por síntoma, preguntas frecuentes y checklist de entrega de la instalación1416
¿Atiende la caja?

No necesita leer la instalación. Vaya directamente a la sección 13 · Uso diario en caja.

01

Cómo funciona

Para todos

La balanza no se conecta directamente al Facturador. Cada ticket recorre cuatro piezas: dos en un PC de la tienda y dos en la nube.

RED LOCAL DE LA TIENDA INTERNET Balanza Dibal imprime el ticket con código EAN-13 PC DE LA TIENDA DibalCom guarda un .txt por cada ticket Servicio de integración config.ini Facturador recibe y guarda el ticket red 3000/3001 lee HTTPS cada 5 s busca el ticket POS · el cajero escanea
DibalCom y el servicio de integración van en un PC de la tienda, en la misma red que la balanza. El Facturador está en internet y el POS carga el ticket cuando se escanea su código.
  1. La balanza cierra el ticket y lo envía por la red al PC de la tienda.
  2. DibalCom lo guarda como un archivo de texto en una carpeta del PC.
  3. El servicio de integración revisa esa carpeta cada 5 segundos y envía cada ticket al Facturador.
  4. En caja, al escanear el código del ticket, el POS carga todas sus líneas.
No lee el peso en vivo

La balanza calcula los importes e imprime el ticket; el POS lo recibe completo. Si la venta se modifica en la balanza, hay que imprimir un ticket nuevo.

02

Antes de empezar

Para todos

Reúna todo lo siguiente antes de ir a la tienda:

ElementoRequisitoQuién lo entrega
BalanzaDibal Gama 500 (serie Mistral o Wind) con impresora de tickets y puerto Ethernet, por ejemplo la Mistral 525El cliente
PC de la tiendaWindows 10 u 11, en la misma red que la balanza, con internet, IP fija y permisos de administradorEl cliente
DibalComInstalado en ese PC y comunicando con la balanzaDibal o su distribuidor
Servicio de integraciónLa carpeta del servicioÁgil Factura
Usuario administradorPara activar la integración y generar el token en el FacturadorEl cliente
Lector de código de barrasEl mismo que ya se usa en el POS; lee el EAN-13 del ticketEl cliente
El PC necesita IP fija

La balanza envía los tickets a una dirección IP concreta. Si el PC cambia de IP al reiniciarse el router, los tickets dejan de llegar sin ningún aviso en la balanza.

03

Activar la integración en el Facturador

Para: administrador del FacturadorFacturador · usuario administrador
  1. Ingrese con un usuario administrador y abra Configuración avanzada → pestaña Balanza DIBAL.
  2. Ponga Habilitar integración en . Mientras esté en No, el Facturador rechaza los tickets y el POS no muestra la opción de escanearlos.
  3. Pulse Generar token y cópielo en ese momento: se muestra una sola vez. Lo necesitará en la sección 09.
  4. Anote la dirección del servicio: el dominio con el que la empresa entra al Facturador seguido de /api/dibal/tickets.
https://suempresa.dominio.com/api/dibal/tickets
Si pierde el token

Genere uno nuevo con Regenerar. El anterior deja de funcionar en ese instante, así que también debe actualizarlo en el config.ini del PC de la tienda.

04

Preparar los productos

Para: administrador del FacturadorFacturador · Productos

El POS reconoce cada línea del ticket por el código de artículo que tiene en la balanza. Ese número debe ser igual al código interno del producto en el Facturador.

En la balanzaEn el FacturadorResultado en el POS
Código de artículo 97Código interno 97carga el producto con su nombre
Código de artículo 97No existeaviso “PLU faltantes: 97”
Código de artículo 97Código interno A-97no enlaza debe ser solo numérico
  • Use códigos solo numéricos, de hasta 6 dígitos.
  • Asigne a los productos pesados la unidad kilogramo: la cantidad llega en kg, por ejemplo 1,250.
  • Cree los productos antes de empezar a vender. Si un producto se crea después de recibido el ticket, su código interno debe coincidir exactamente con el de la balanza, sin ceros de más.
05

Configurar la balanza

Para: técnico que instalaTeclado de la balanza · se recomienda hacerlo con el técnico de Dibal

Para entrar a cada parámetro, mantenga pulsada MENU durante 2 segundos y escriba el código. Grabe con la tecla de validar y salga con MENU.

Red

CódigoParámetroQué poner
511IP de la balanzaUna IP libre de la red, p. ej. 192.168.1.20
517Máscara de subredLa de la red, normalmente 255.255.255.0
518GatewayLa IP del router
512IP del PCLa IP fija del PC donde está DibalCom
513Número de equipo00 a 99, distinto en cada balanza
514Puerto Tx3001 siempre
515Puerto Rx3000 siempre

Envío de ventas y ticket

CódigoParámetroQué poner
311Movimiento de díaSI: envía cada venta al momento. Con FIN DE DIA los tickets llegan solo al cierre.
332Número de ticket2: numeración consecutiva de tickets
361Código de barras en ticketCualquier opción excepto NO
PRINTModo de trabajoModo ticket: pulse PRINT hasta que desaparezca LABEL de la pantalla
Anote los decimales del precio

Verifique con cuántos decimales trabaja el precio en la balanza. Lo necesitará en la sección 09: si ese dato no coincide, los importes llegan multiplicados o divididos por 100.

06

Configurar DibalCom

Para: técnico que instalaPC de la tienda · archivo dibctrl.txt

DibalCom se configura con el archivo dibctrl.txt de su carpeta de instalación. Debe guardar un archivo por cada venta en una carpeta que el servicio pueda leer. Complete los datos y copie las líneas resultantes:

GENERADOR dibctrl.txt se actualiza al escribir
El mismo del menú 5 1 3.
Debe existir en el PC. Es la misma que irá en el config.ini.
LíneaPara qué sirve
-iCarpeta donde DibalCom deja un archivo .txt por venta
-FIP del PC que recibe las ventas
-jPuertos de comunicación con la balanza: 3001,3000
-dNúmero de equipo e IP de la balanza. Agregue una línea -d por cada balanza
-CFormato del archivo por venta: 4 para el 2.4, 1 para el 2.1
Por qué el formato 2.4

En el formato 2.1 los importes tienen solo 5 cifras: un producto o un ticket de más de $ 99.999 se trunca, algo frecuente en pesos colombianos. El 2.4 admite importes de hasta 8 cifras.

Conserve el resto del archivo

Mantenga las demás líneas que ya tenga su dibctrl.txt: solo agregue o ajuste estas. Si DibalCom lo instaló un técnico de Dibal, revise el archivo con él.

Compruébelo: haga una venta en la balanza en modo ticket. En la carpeta de ventas debe aparecer un archivo cuyo nombre son solo números, como 2000150204400.txt.

07

Instalar Python

Para: técnico que instalaPC de la tienda · 10 minutos

El servicio funciona con Python 3.8 o superior y no requiere paquetes adicionales. Abra CMD (tecla Windows → cmd → Enter) y compruebe si ya está instalado:

python --version

Si responde Python 3.x.x, continúe en la sección 08. Si no:

  1. Descargue el instalador desde python.org/downloads. No lo instale desde Microsoft Store.
  2. En la primera pantalla marque Add python.exe to PATH. Sin esta casilla, los comandos de este manual no funcionan.
  3. Elija Customize installationNext → marque Install Python for all usersInstall.
  4. Si al terminar aparece Disable path length limit, púlselo. Luego Close.
  5. Cierre CMD, abra uno nuevo y vuelva a escribir python --version.
Si python no se reconoce

Pruebe py --version. Si responde, use py en lugar de python en todos los comandos del manual.

08

Copiar el servicio de integración

Para: técnico que instalaPC de la tienda · C:\DibalPOSintegration
  1. Solicite la carpeta del servicio al soporte de Ágil Factura.
  2. Cópiela directamente en C:\ con el nombre DibalPOSintegration, de modo que quede C:\DibalPOSintegration.
  3. Verifique que dentro estén run_service.py, iniciar_servicio.bat y las carpetas src y config.
Dónde no ponerla

Evite el Escritorio, Documentos y “Archivos de programa”. En C:\ la ruta no tiene espacios y el servicio puede leerla aunque arranque antes de que alguien inicie sesión.

09

Crear el config.ini

Para: técnico que instalaC:\DibalPOSintegration\config\config.ini

El config.ini indica al servicio dónde están los archivos, en qué formato vienen y a qué empresa enviarlos. Cree el archivo a partir del ejemplo:

cd C:\DibalPOSintegration
copy config\config.ini.example config\config.ini
notepad config\config.ini

Complete los datos, copie el resultado y reemplace todo el contenido del Bloc de notas:

GENERADOR config.ini el token no se guarda en esta página
El mismo con el que la empresa ingresa al Facturador. La dirección del servicio se completa sola.
El mismo que -C en DibalCom.
Los mismos que la balanza.
Se confirma en la sección 11.
La misma línea -i del dibctrl.txt.
CampoQué es
formatoFormato del archivo de DibalCom. Si no coincide con -C, los tickets no se leen
decimales_importeDecimales del precio en la balanza. Si no coinciden, los importes salen ×100 o ÷100
barcodeCómo está armado el código de barras impreso en el ticket
entradaCarpeta donde DibalCom deja los .txt. Debe existir
archivoCarpeta donde el servicio archiva lo enviado y lo que falló
url · tokenDirección y llave de la empresa en el Facturador
verificar_sslComprueba que los tickets se entreguen al Facturador auténtico. Déjelo en true
Seguridad

El token es la llave de la empresa: no lo envíe por chat ni lo deje en capturas de pantalla. Mantenga verificar_ssl = true; desactivarlo permite que un tercero en la red intercepte el token. Si sospecha que se expuso, regenérelo desde el Facturador.

10

Probar el envío

Para: técnico que instalaPC de la tienda · CMD

Primero, una simulación

Haga una venta de prueba en la balanza y ejecute la simulación. No envía nada ni mueve archivos: solo muestra lo que enviaría.

cd C:\DibalPOSintegration
python run_service.py --dry-run

Compare con el ticket impreso los importes, pesos y códigos. Si ve importes 100 veces mayores o menores, corrija los decimales en el config.ini.

Después, el envío real

python run_service.py
2026-09-14 10:42:08 [INFO] Enviado 2013950155407.txt (...) -> HTTP 201
RespuestaSignificadoQué hace el servicio
201El ticket llegó al FacturadorLo mueve a data\procesados\
200
duplicate
Ese ticket ya se había enviado; no se duplicaLo mueve a data\procesados\
401 · 403Token incorrecto o integración desactivadaLo deja en la carpeta y reintenta
422Datos del ticket inválidosLo mueve a data\errores\ con el motivo
5xx · redFacturador o internet no disponiblesLo deja en la carpeta y reintenta
11

Verificar el código de barras

Para: técnico que instalaTicket impreso · obligatorio en cada instalación

El servicio no lee el código de barras del ticket: lo reconstruye con la opción barcode del config.ini. Si no coincide con el que imprime la balanza, el POS no encontrará el ticket al escanearlo, aunque sí al escribir su número.

Copie del ticket de prueba los 13 dígitos bajo el código, el número de ticket y el total:

VERIFICADOR ¿Qué valor va en barcode? datos de ejemplo cargados
Si no lo conoce, deje 1.
Tal como sale impreso.
Resultado

La prueba definitiva es escanear el ticket en el POS: si lo carga, quedó bien. Cada vez que cambie barcode, reinicie el servicio.

12

Dejarlo siempre activo

Para: técnico que instalaPC de la tienda · CMD como administrador

Instale el servicio como servicio de Windows: arranca solo al encender el PC, sigue funcionando aunque nadie inicie sesión y se reinicia si se detiene.

  1. Descargue NSSM desde nssm.cc/download y copie nssm.exe (versión win64) a C:\DibalPOSintegration.
  2. Obtenga la ruta de Python con where python y anótela.
  3. Abra CMD como administrador y ejecute los comandos de abajo.
  4. En la ventana de NSSM complete los tres campos de la tabla y pulse Install service.
  5. Inicie el servicio y compruebe en services.msc que figura En ejecución.
# instalar
cd C:\DibalPOSintegration
nssm install DibalPOSIntegration

# iniciar
nssm start DibalPOSIntegration
Campo de NSSMValor
Application PathLa ruta de python.exe obtenida en el paso 2
Startup directoryC:\DibalPOSintegration
Argumentsrun_service.py --intervalo 5
ParaComando
Reiniciar tras cambiar el config.ininssm restart DibalPOSIntegration
Detenernssm stop DibalPOSIntegration
Desinstalarnssm remove DibalPOSIntegration confirm
Sin NSSM

Haga doble clic en iniciar_servicio.bat. Funciona igual, pero se detiene si alguien cierra la ventana negra o cierra la sesión.

Con NSSM, sin acceso directo

Si instaló el servicio de Windows, no cree el acceso directo Servicio Balanza en el escritorio: así nadie abre una segunda copia del servicio. El cajero sabrá que no debe abrirlo porque el icono no existe (sección 13).

Instalación terminada

Los registros quedan en logs\servicio.log, lo enviado en data\procesados\ y lo que falló en data\errores\, organizado por fecha.

13

Uso diario en caja

Para: cajero y cliente finalCada día · no requiere conocimientos técnicos

La integración funciona sola cuando la balanza, DibalCom y el servicio están encendidos. Esto es lo único que hay que hacer en la tienda.

Al encender el PC cada mañana

  1. Encienda la balanza y verifique que trabaje en modo ticket: la palabra LABEL no debe aparecer en su pantalla.
  2. Abra DibalCom con doble clic en su icono y déjelo abierto; puede minimizarlo. Es el programa que recibe las ventas de la balanza, así que debe estar siempre abierto.
  3. Solo si en el escritorio existe el icono “Servicio Balanza”: haga doble clic. Se abre una ventana negra con el mensaje Servicio iniciado en modo continuo. Déjela abierta; puede minimizarla. Si el icono no existe, el servicio ya arranca solo con el PC.
No cierre la ventana negra

Mientras esté abierta, el servicio envía los tickets al Facturador. Si la cierra por error, vuelva a abrir Servicio Balanza: los tickets pendientes se envían solos y no se pierden.

Cobrar un ticket de la balanza

  1. En el POS active el interruptor Escanear ticket balanza. Aparece la barra Escanear ticket de balanza (DIBAL).
  2. Escanee el código del ticket. Si el lector no lo lee, escriba el número de ticket en la misma barra.
  3. Revise que se hayan cargado los productos y cobre como siempre. Puede escanear varios tickets en una misma venta.
  4. Al facturar, los tickets quedan marcados y no pueden volver a cobrarse.
Mensaje en el POSEstadoQué significa
Ticket DIBAL #139 cargado (2 productos)correctoRevise y cobre.
El ticket aún no llegó al sistema. Reintenta en unos segundos.esperaEl ticket todavía no se ha enviado. Espere unos segundos y vuelva a escanear.
Ticket DIBAL #139: ningún producto pudo cargarse (PLU faltantes: 97)revisarEse producto no está creado en el Facturador. Avise al administrador.
Este ticket ya fue facturado el 2026-09-13 17:48:24bloqueadoEl ticket ya se cobró y no puede cargarse de nuevo.

Si algo no funciona

Qué veQué hacer
El POS insiste en que el ticket aún no llegóRevise que DibalCom esté abierto y, si usa la ventana negra, que siga abierta. Si todo está abierto, avise a soporte.
La ventana negra muestra mensajes ReintentableNo hay conexión con el Facturador, normalmente por internet. El servicio reintenta solo y los tickets no se pierden. Si dura mucho, avise a soporte.
Mensajes en rojo o con la palabra “Error”Tome una foto de la ventana y envíela a soporte.
Cerró la ventana negra sin quererAbra de nuevo Servicio Balanza.
Reinició el PCRepita los pasos de Al encender el PC cada mañana.
El lector no lee el código del ticketEscriba el número de ticket en la barra de escaneo del POS.
Resumen para pegar junto a la caja

1. Encender la balanza · 2. Abrir DibalCom y dejarlo minimizado · 3. Si existe el icono Servicio Balanza, abrirlo y no cerrar la ventana negra · 4. En el POS, activar Escanear ticket balanza y escanear cada ticket.

14

Solución de problemas

Para: soporte
SíntomaDóndeQué hacer
Al escanear no aparece el ticket, pero escribiendo el número síPOSbarcode no coincide con el código impreso. Use el verificador de la sección 11, corrija y reinicie el servicio.
“El ticket aún no llegó al sistema”POSConfirme que el servicio esté en ejecución, que el PC tenga internet y que exista el .txt en la carpeta. Si no hay .txt, el problema está en la balanza o en DibalCom.
“PLU faltantes” o un número en lugar del nombre del productoPOSEl código de artículo no coincide con el código interno de ningún producto. Créelo o corríjalo y envíe un ticket nuevo.
“Este ticket ya fue facturado”POSEs el bloqueo contra la doble facturación. Aunque la venta se anule, el ticket sigue marcado: imprima uno nuevo.
No aparece el interruptor “Escanear ticket balanza”POSLa integración está desactivada. Actívela en Configuración avanzada → Balanza DIBAL.
Reintentable (HTTP 401)ServicioEl token del config.ini no es el vigente. Si alguien pulsó Regenerar, copie el nuevo y reinicie el servicio.
Reintentable (HTTP 403)ServicioHabilitar integración está en No. Actívela; el servicio reenvía solo los tickets pendientes.
Reintentable (HTTP 404, 5xx) o error de redServicioRevise la url (dominio + /api/dibal/tickets) y la conexión. Los tickets no se pierden: se reintentan en cada ciclo.
Rechazado (HTTP 422) o archivos en data\erroresServicioAbra el .error.log junto al archivo para ver el motivo. Tras corregirlo, copie el .txt de vuelta a la carpeta de ventas para reenviarlo.
Importes 100 veces mayores o menoresServiciodecimales_importe no coincide con la balanza. Corríjalo y reinicie el servicio.
Productos o tickets de más de $ 99.999 salen malServicioSe está usando el formato 2.1. Cambie al 2.4: -C 4 en DibalCom y formato = 2.4 en el config.ini.
“La carpeta de entrada no existe”ServicioLa carpeta entrada no es la real de DibalCom. Cópiela desde el Explorador de Windows.
“No se encontró el archivo de configuración”ServicioFalta el config.ini o quedó como config.ini.txt. Active “Extensiones de nombre de archivo” en el Explorador y renómbrelo.
Error de certificado o SSL al enviarServicioRevise que la url use el dominio exacto y que la fecha y hora del PC sean correctas. Si persiste, contacte a soporte antes de desactivar la verificación.
“python” no se reconoce como comandoPCNo se marcó Add python.exe to PATH. Use py o reinstale Python marcando la casilla.
No aparecen archivos .txt en la carpeta de ventasBalanza · DibalComCompruebe el modo ticket, Movimiento de día = SI, la IP del PC en la balanza (5 1 2) y que DibalCom esté abierto con la línea -C.
15

Preguntas frecuentes

Para todos
¿Qué pasa si se cae internet en la tienda?

La balanza sigue imprimiendo y DibalCom sigue guardando archivos. El servicio reintenta cada pocos segundos y envía todo en cuanto vuelve la conexión. Mientras tanto, esos tickets no se pueden escanear en el POS.

¿Funciona con varias balanzas?

Sí. Cada balanza necesita su propio número de equipo y su línea -d en el dibctrl.txt. Todas envían al mismo PC y un solo servicio procesa sus tickets.

¿Qué es el botón “Conectar balanza” del POS?

Es otra función: lee el peso en vivo de una balanza conectada por cable al computador de la caja. No se usa con esta integración, que trabaja con tickets impresos.

¿Se registran las devoluciones hechas en la balanza?

Sí. Llegan con peso o importe negativo y se cargan así en el POS.

Anulé una venta: ¿puedo volver a cobrar el mismo ticket?

No. El ticket queda marcado como facturado aunque la venta se anule. Para cobrar de nuevo, imprima un ticket nuevo en la balanza.

¿Qué debo hacer si cambio de PC?

Repita las secciones 06 a 12 en el PC nuevo y cambie en la balanza la IP del PC (menú 5 1 2). Puede reutilizar el mismo token.

¿Dónde veo qué tickets se enviaron?

En C:\DibalPOSintegration\data\procesados\, organizados por fecha, y en el registro logs\servicio.log.

16

Checklist de instalación

Para: técnico que instala

Marque cada punto a medida que lo complete. El avance se guarda en este navegador.

Avance 0 / 12