Cómo construir un tablero de metas de producción en tiempo real conectado a tu ERP
Del porcentaje que nadie entiende a una pantalla que dice si vas a tiempo: arquitectura, cálculos y decisiones de un dashboard de planta conectado a JD Edwards
A las 10 de la mañana, el tablero de la planta dice «35 %». ¿Vamos bien o vamos mal? Nadie lo sabe. Depende de a qué hora empezó el turno, de si ya pasó la pausa del almuerzo y de cuánto falta para cerrar. El número es correcto, pero no sirve para decidir.
Ese fue el punto de partida de un proyecto que desarrollamos para una planta manufacturera en Honduras: un tablero en la TV de cada área que consulta el ERP (JD Edwards sobre AS400) cada cinco minutos y responde tres preguntas que el porcentaje solo no contesta: ¿vamos a tiempo a esta hora?, ¿dónde vamos a cerrar el día a este ritmo? y ¿cómo va el mes?
En este artículo te contamos cómo lo construimos, paso a paso, con las decisiones técnicas que tomamos y los errores que conviene evitar. Si estás pensando en hacer algo parecido en tu empresa, te debería ahorrar varias semanas.
¿Prefieres ver el resultado primero? Revisa la ficha del proyecto, con capturas y funcionalidades, en nuestro portafolio: Dashboard Metas.
El problema no era la falta de datos
La planta ya tenía un tablero. Un script generaba una base de Access con consultas directas a JD Edwards y mostraba el porcentaje de la meta diaria por área. Técnicamente funcionaba. En la práctica tenía tres huecos:
Sin contexto de tiempo. «35 %» a las 10:00 puede ser excelente en un turno que empezó a las 9:00 o muy malo en uno que empezó a las 6:30.
Una sola área a la vez. Para ver cómo iba toda la planta había que pasar pantalla por pantalla.
Sin visión del mes. Un mal martes se olvida; cinco malos martes seguidos se convierten en una meta mensual perdida.
La lección: antes de pensar en gráficas, escribe las preguntas que la pantalla debe responder. Todo lo demás (qué consultas, qué cálculos, qué colores) sale de ahí.
Paso 1: define las preguntas antes que las gráficas
Para este proyecto las preguntas quedaron así, en orden de importancia para un supervisor parado frente a la TV:
¿Esta área va a tiempo en este momento del turno?
Si sigue a este ritmo, ¿llega a la meta del día?
¿Cómo va el acumulado del mes contra su meta mensual?
¿Cómo están todas las áreas, de un vistazo?
¿Cuánto trabajo hay en proceso ahora mismo (órdenes abiertas por estatus)?
Cada pantalla del tablero existe para responder una de esas preguntas. Si una gráfica no responde ninguna, no entra.
Paso 2: conéctate al ERP sin ponerlo en riesgo
El ERP es el corazón de la operación. Un tablero que lo vuelve lento o que expone credenciales es peor que no tener tablero. Estas son las reglas que seguimos:
Solo lectura y consultas parametrizadas. Planta, operación, tipo de precio y fechas viajan como parámetros, nunca concatenados en el SQL. Lo que no puede ser parámetro (por ejemplo, el nombre de una biblioteca del AS400) se valida contra una lista de caracteres permitidos antes de usarse.
Una conexión, pocas consultas. Cada actualización abre una sola conexión ODBC y ejecuta cuatro consultas, empezando por la que se está viendo en pantalla. Cinco minutos entre actualizaciones es más que suficiente para producción y no le pesa al servidor.
Si una consulta falla, las demás siguen. El área afectada conserva sus últimos datos y la pantalla dice en rojo desde qué hora son. Un error en embarques no debe apagar el tablero de ensamble.
Los últimos datos se guardan en disco. Al abrir la aplicación ya hay números en pantalla, aunque la red tarde en responder.
La contraseña nunca va en un archivo de configuración. Se pide una vez y se guarda cifrada con DPAPI de Windows, que solo puede leer ese mismo usuario en esa misma PC. Ni la contraseña ni la cadena de conexión se escriben en los logs.
Un detalle que nos costó tiempo y que te puede pasar con cualquier ERP antiguo: el driver ODBC de las PCs de planta era de 32 bits. Una aplicación de 64 bits simplemente no lo encuentra y el error no es nada claro. La solución fue compilar a propósito para x86 e incluir una pantalla de diagnóstico que dice si el proceso es de 32 bits, si el DSN existe y qué driver usa. Ese diagnóstico ha ahorrado más llamadas de soporte que cualquier otra función.
Paso 3: la matemática del ritmo (la parte que más valor aporta)
Aquí está lo que convierte un porcentaje en una decisión. La idea es simple: compara lo producido contra lo que deberías llevar a esta hora, no contra la meta del día completo.
Esperado a esta hora = Meta del día × (minutos trabajados ÷ minutos del turno)
Con una condición importante: la pausa no cuenta ni en los minutos trabajados ni en los del turno. Si no la excluyes, el tablero marca «atrasado» a todo el mundo justo después del almuerzo.
Un ejemplo con números:
Meta del día: $150,000. Turno de 06:30 a 16:10 con pausa de 12:00 a 12:30: 550 minutos de trabajo.
Son las 10:00: van 210 minutos trabajados, el 38.2 % del turno.
Esperado a esta hora: 150,000 × 0.382 = $57,273.
Producido real: $52,500. La etiqueta dice ATRASADO $4.8K.
Con el mismo dato sale la proyección al cierre:
Proyección = Producido hasta ahora ÷ avance del turno
52,500 ÷ 0.382 = $137,500. Si nada cambia, el área cierra el día 8 % debajo de la meta. A las 10 de la mañana todavía hay tiempo de corregir; a las 4 de la tarde ya no.
Detalle de un área: la etiqueta «A TIEMPO» compara contra lo esperado a esta hora y la barra punteada proyecta el cierre del día (modo demo, datos inventados)
Tres reglas que aprendimos a golpes:
No proyectes demasiado pronto. A los 5 minutos de turno, un par de piezas proyectan cifras absurdas. La proyección del día aparece después de 30 minutos trabajados, y la del mes desde el tercer día laborable.
Cuidado con los turnos que cruzan la medianoche. Un turno de 22:00 a 06:00 pertenece a dos fechas calendario. El ERP registra por fecha, así que ese turno se divide: 22:00–24:00 aporta al día que empieza y 00:00–06:00 al siguiente.
Nunca redondees hacia arriba al 100 %. Un 99.6 % redondeado se ve como «meta cumplida». En el tablero, cualquier valor bajo la meta se trunca: 99.6 % se muestra como 99 %. Parece un detalle, pero es la diferencia entre que el equipo celebre o empuje los últimos minutos.
Para el mes aplicamos la misma lógica: meta acumulada a la fecha (proporcional a los días laborables transcurridos) contra el acumulado real, con la proyección a fin de mes al ritmo actual. Y una decisión de diseño: esa gráfica tiene un solo eje. Mezclar en la misma gráfica valores diarios y acumulados con dos escalas distintas confunde más de lo que informa.
Acumulado del mes: real contra meta acumulada en un solo eje, con la proyección a fin de mes al ritmo actual (modo demo, datos inventados)
Paso 4: diseña para una TV, no para un escritorio
Un tablero de planta se lee a cuatro metros de distancia, por alguien que camina y que no va a tocar el teclado. Eso cambia todo:
Pantalla completa, escala automática y puntero oculto. Debe verse igual en una TV de 32" que en una de 65".
El color dice el estado. Verde a tiempo, naranja atrasado, gris fuera de turno. Y esos colores no se reutilizan para nada más: si el naranja significa «atrasado», ninguna serie de la gráfica puede ser naranja.
Rotación automática. Pasa por cada área y por el trabajo en proceso sin que nadie intervenga. Existe además una vista en mosaico con todas las áreas a la vez, ideal para reuniones.
Cero ventanas emergentes. Una TV sin nadie enfrente no puede quedarse congelada en un cuadro de diálogo «¿Desea continuar?». Si falta la contraseña, aparece un botón Conectar en el tablero; nunca un diálogo.
Bilingüe. Español e inglés, algo frecuente en las plantas de la región que reportan a casas matrices extranjeras.
Las gráficas las dibujamos con controles propios en lugar de una librería de terceros. Fue más trabajo al principio, pero nos dio control total sobre lo que importa en una TV: tamaños de letra grandes, la línea de meta siempre visible y la proyección como una extensión punteada de la barra de hoy.
Paso 5: opera las pantallas sin caminar a cada una
Este es el paso que casi todos los proyectos olvidan, y el que más dolores de cabeza evita. Cuando tienes seis TVs repartidas en una planta, actualizar la aplicación o avisar algo no puede depender de ir PC por PC. Por eso construimos un panel web que permite:
Publicar anuncios en las pantallas («Inventario físico este sábado», «Mantenimiento de JDE a las 14:00»), por fechas y por pantalla o planta. Llegan en segundos.
Ver el estado de cada TV desde el celular: si está encendida, qué está mostrando, si el ERP responde y qué versión tiene. «Visto en 5 de 6 pantallas» deja de ser una suposición.
Cambiar metas y turnos para todas las pantallas a la vez.
Enviar comandos: actualizar datos, reiniciar la aplicación o «mostrar esta área durante 30 minutos» para una reunión.
Actualizar la aplicación de forma automática, fuera de turno, con vuelta atrás si la versión nueva no abre en dos minutos.
La seguridad aquí no es opcional, porque un panel que controla pantallas es un blanco atractivo. Cada anuncio, comando y actualización va firmado digitalmente (ECDSA P-256) con una clave privada que solo tiene quien publica. La aplicación trae la clave pública dentro del código y descarta cualquier archivo que no esté firmado por ella. Además, rechaza versiones más viejas que la última recibida, para que nadie pueda «revivir» un anuncio retirado. Con la contraseña del panel sola no se puede publicar nada.
Anuncio publicado desde el panel web: aparece como tarjeta sobre el tablero y un aviso de mantenimiento como franja (modo demo, datos inventados)
Las pantallas no envían nunca datos de producción ni contraseñas al panel: solo su estado. Es un principio que recomendamos siempre: lo que sale de la planta debe ser lo mínimo indispensable.
Paso 6: que se pueda probar sin la fábrica
Desarrollamos todo el proyecto en una PC sin acceso al AS400. Eso nos obligó a algo que hoy consideramos imprescindible: un modo demo con datos inventados que tienen exactamente la misma forma que los del ERP.
La lógica de negocio no sabe de dónde vienen los datos. El repositorio ODBC y el de demostración cumplen la misma interfaz.
En demo se puede simular la hora («son las 11:20 del martes») para revisar el ritmo y las proyecciones en cualquier momento del turno.
Se puede simular la falla de una consulta para ver cómo se comporta la pantalla cuando el ERP no responde.
Más de 180 pruebas automatizadas cubren los cálculos de ritmo, turnos nocturnos, mes, anuncios y actualizaciones.
El modo demo también resultó ser la mejor herramienta comercial: permite mostrar el tablero funcionando antes de tocar un solo dato real del cliente.
Errores comunes que conviene evitar
Si vas a construir tu propio tablero de metas, revisa esta lista antes de empezar:
Mostrar porcentajes del día sin contexto de hora. Es el error más frecuente y el que hace que nadie mire la pantalla después de la primera semana.
No validar contra los reportes actuales. Antes de reemplazar el tablero viejo, compara día por día las cifras del nuevo contra el reporte oficial. Si no cuadran, nadie va a confiar en él.
Dejar credenciales en archivos de texto. Ni en la configuración, ni en los logs, ni en el repositorio.
Suponer que la red siempre funciona. El tablero debe mostrar los últimos datos y decir claramente desde qué hora son.
Olvidar la operación. Instalar es el día uno; actualizar, avisar y diagnosticar es todo lo demás. Si no lo planificas, terminas yendo a cada PC con una memoria USB.
Llenar la pantalla de gráficas. Una TV de planta no es un informe de Power BI. Pocas cifras, grandes y con color de estado.
¿Construirlo o encargarlo?
Si tu equipo tiene experiencia con el ERP, con desarrollo de escritorio y con seguridad, este artículo te da el mapa. Es un proyecto que se puede hacer en casa.
Si prefieres llegar más rápido, en BrandSofts lo hacemos como servicio. Diseñamos e implementamos tableros de producción y metas conectados a tu ERP o base de datos (JD Edwards, SAP, ERPNext, SQL Server u hojas de cálculo), con este proceso:
Diagnóstico. Definimos contigo las preguntas que debe responder cada pantalla, las fuentes de datos y las metas por área.
Prototipo en modo demo. En pocos días ves el tablero funcionando con datos de ejemplo, en tu TV, antes de conectarnos a nada.
Conexión y validación. Conectamos al ERP en solo lectura y validamos las cifras contra tus reportes actuales hasta que cuadren.
Despliegue y operación remota. Instalamos en las pantallas y te entregamos el panel para anuncios, metas, estado de las TVs y actualizaciones automáticas.
Acompañamiento. Ajustamos metas, turnos y vistas con tu equipo durante las primeras semanas de uso.