Otros

Automatización de órdenes de producción: 7 pasos clave

Automatización de órdenes de producción: 7 pasos clave

Era un martes a las 6:47 de la mañana y el encargado del primer turno llevaba 40 minutos parado frente a la fresadora, con el teléfono en la mano, esperando que alguien de planificación confirmara si la orden que tenía delante era la correcta o si la habían cambiado por WhatsApp la noche anterior.

En esta fábrica de componentes metálicos del Vallès, ese momento no era una excepción: el 35% de los turnos se tragaban entre 45 y 90 minutos en clarificaciones que nadie debería tener que hacer. Doce mil euros al mes en horas de producción que simplemente desaparecían, más 3 o 4 entregas retrasadas cada semana que iban erosionando la confianza de sus clientes.

Catorce días después de empezar a trabajar juntos, ese tiempo de clarificación había caído de 52 minutos a 8. Los errores en órdenes pasaron del 18% al 2%.

Esto es exactamente lo que hicimos, paso a paso.

El cliente

Nuestro cliente es el Responsable de Producción de una fábrica de componentes metálicos de mediano tamaño situada en el Vallès (Barcelona). La empresa factura aproximadamente €850.000 al año y cuenta con 28 empleados repartidos en dos turnos. Antes de trabajar con nosotros, cualquier cambio en las órdenes de producción se gestionaba mediante una mezcla de correos electrónicos, mensajes de WhatsApp y notas escritas a mano pegadas directamente en las máquinas. Los registros de lo que se había fabricado cada turno se anotaban en papel y se volcaban manualmente a Odoo cada noche, cuando el encargado de administración tenía tiempo. Era un sistema que había funcionado cuando la empresa tenía quince personas; con veintiocho y una cartera de clientes más exigente, estaba roto.

Qué les dolía (en números)

Cuando llegamos a su planta por primera vez, el responsable de producción nos dijo algo que resumía perfectamente el problema: "Pierdo más tiempo intentando que la gente sepa qué tiene que hacer que supervisando que lo hagan bien." No era una queja vaga. Teníamos datos.

  • Tiempo promedio de clarificación de una orden: 52 minutos. Cada vez que llegaba un cambio de prioridad o una especificación nueva, el operario tenía que localizar al encargado, el encargado buscaba el correo o el WhatsApp correcto, y entre idas y venidas se perdía casi una hora de producción efectiva.
  • Tasa de error en registros: 18% de las órdenes presentaban algún error al digitalizarse en Odoo. Cantidades incorrectas, referencias equivocadas, fechas mal introducidas. Esos errores se descubrían al día siguiente, cuando ya era tarde para corregirlos sin coste.
  • Entregas retrasadas por semana: 3,2 de media. En una empresa que trabaja con clientes del sector automoción y equipamiento industrial, un retraso no es solo una molestia: es una penalización contractual.
  • Utilización efectiva de máquinas: 68%. El 32% restante era tiempo muerto: esperas, confusión, retrabajos por órdenes mal interpretadas.

En términos económicos, estimamos que esta fricción operativa les costaba €12.000 al mes entre horas de producción improductiva, retrabajos y las tensiones constantes entre el equipo de planificación y el taller.

Lo que elegimos — nuestro stack

Para una fábrica de 28 personas en España, sin departamento IT dedicado, el stack tiene que ser potente pero mantenible. No tiene sentido construir una arquitectura que nadie pueda tocar cuando algo falla un martes por la tarde. Por eso elegimos tres herramientas concretas:

Odoo

Odoo es el ERP de referencia para fabricantes de mediano tamaño en España. Nuestro cliente ya lo usaba para gestionar órdenes, inventario y trazabilidad, así que no añadimos una herramienta nueva: aprovechamos lo que ya tenían. El módulo mrp.production contiene todos los campos que necesitábamos: nombre de la orden, producto, cantidad, fecha planificada de inicio, centro de trabajo y responsable. La autenticación vía API key (disponible desde Odoo 14) nos permitió conectarlo sin tocar el código fuente.

Slack

Los operarios ya usaban sus teléfonos en planta, principalmente para WhatsApp. Slack resolvía el mismo problema —comunicación instantánea— pero con una ventaja crítica: los canales estructurados por turno y por centro de trabajo. En lugar de un grupo de WhatsApp donde todo el mundo recibe todo, cada operario recibe solo lo que le afecta. Usamos Block Kit para que los mensajes sean visualmente claros incluso en una pantalla pequeña con las manos sucias.

n8n

n8n es el orquestador que une Odoo con Slack. Elegimos n8n sobre otras opciones porque permite despliegue local (importante para una empresa con datos de producción sensibles), tiene nodo nativo para Odoo, y su interfaz visual permite que el propio responsable de producción entienda qué está pasando en cada flujo sin necesidad de leer código. Para un equipo sin IT dedicado, eso no es un lujo: es una necesidad operativa.

Cómo lo implementamos — lista de verificación en 7 pasos

Completamos la implementación en 14 días naturales. A continuación detallamos los siete pasos reales, con la distribución temporal exacta que seguimos.

✅ Paso 1 — Auditoría de flujos y mapeo de campos (Días 1-3)

Antes de tocar ninguna herramienta, pasamos dos días en planta observando cómo viajaba realmente una orden desde que se creaba en Odoo hasta que el operario la ejecutaba. Identificamos cuatro puntos de ruptura: creación de la orden, cambio de prioridad, cambio de especificación técnica y cierre de orden. Mapeamos los campos mínimos necesarios en mrp.production: name, product_id, qty_production, date_planned_start, workcenter_id, state y responsible_id. Sin este mapeo previo, cualquier automatización habría notificado datos incompletos o irrelevantes.

✅ Paso 2 — Configuración de credenciales y entorno n8n (Días 1-3)

Desplegamos n8n en un servidor VPS propio del cliente (Ubuntu 22.04, 2 vCPU, 4 GB RAM — suficiente para este volumen). Configuramos las credenciales de Odoo con URL de instancia, base de datos, usuario y API key. Configuramos el Bot Token de Slack (xoxb-) con los scopes mínimos necesarios: chat:write, channels:read y groups:write. Verificamos la conexión con una llamada de prueba a chat.postMessage antes de construir ningún flujo.

✅ Paso 3 — Flujo de polling sobre órdenes nuevas y modificadas (Días 4-7)

Dado que Odoo no tiene webhook nativo en mrp.production, implementamos un Schedule Trigger en n8n que ejecuta un search_read cada dos minutos con el dominio [('write_date', '>', last_check)]. Esto detecta tanto órdenes nuevas como modificaciones en órdenes existentes. Almacenamos el timestamp del último chequeo en una variable de entorno del flujo para evitar duplicados. Respetamos el límite de ≤1 solicitud por segundo en la instancia SaaS compartida del cliente.

✅ Paso 4 — Lógica de enrutamiento por centro de trabajo (Días 4-7)

No todas las órdenes son relevantes para todos los operarios. Configuramos un nodo IF que lee el campo workcenter_id y enruta cada notificación al canal de Slack correspondiente: #taller-soldadura, #taller-mecanizado y #taller-acabados. Un cambio de prioridad en una orden de soldadura llega únicamente al canal de soldadura, no a los veintiocho empleados. Esta segmentación fue, según el responsable de producción, "el cambio que más notaron los operarios en el primer día."

✅ Paso 5 — Diseño de mensajes con Block Kit (Días 8-10)

Diseñamos las notificaciones con Block Kit de Slack para que fueran legibles de un vistazo: número de orden en negrita, producto, cantidad, centro de trabajo, fecha de entrega y —cuando aplica— una etiqueta de urgencia en rojo. Añadimos un botón de confirmación de recepción que, al pulsarlo, actualiza un campo personalizado en Odoo vía webhook de retorno. Esto cerró el círculo: planificación sabe cuándo el operario ha visto la orden, sin necesidad de llamar ni escribir.

✅ Paso 6 — Automatización del cierre de órdenes y registro en Odoo (Días 8-10)

Creamos un segundo flujo en n8n que escucha los eventos de cierre desde Slack (cuando el operario pulsa "Orden completada") y actualiza el campo state en Odoo a done, registrando la cantidad producida real. Esto eliminó el volcado manual nocturno que generaba el 18% de errores. Los registros ahora se hacen en tiempo real, desde el móvil del operario, en menos de 20 segundos.

✅ Paso 7 — Pruebas, formación y puesta en producción (Días 11-14)

Realizamos tres días de pruebas en paralelo: el sistema antiguo y el nuevo corriendo simultáneamente. Comparamos los registros para verificar coherencia. El día 12 hicimos una sesión de formación de 45 minutos con los operarios —no más, porque la interfaz de Slack no requiere más. El día 14, el sistema antiguo se apagó. No hubo marcha atrás porque no fue necesaria.

Los resultados en números

Indicador Antes Después Mejora
Tiempo promedio de clarificación de orden 52 minutos 8 minutos −85%
Tasa de error en registros de producción 18% 2% −89%
Entregas retrasadas por semana 3,2 0,6 −82%
Utilización efectiva de máquinas 68% 79% +11 pp
Productividad recuperada (€/mes) +€8.500

La implementación completa duró 14 días. A un coste de proyecto dentro del rango habitual para este tipo de integración, el retorno se materializó en el primer mes de operación. El responsable de producción lo resumió así: "Antes llegaba al trabajo ya con un problema encima. Ahora llego y las órdenes ya están donde tienen que estar."

Comparativa de enfoques: manual vs. automatizado

Aspecto Gestión manual (correo + WhatsApp + papel) Automatización Odoo + Slack + n8n
Tiempo de notificación de cambio 15-90 minutos (depende de que alguien lo vea) <2 minutos (automático al guardar en Odoo)
Segmentación por operario / turno No (todos reciben todo o nadie recibe nada) Sí, por canal y centro de trabajo
Confirmación de recepción Llamada telefónica o presencia física Botón en Slack, registro automático en Odoo
Registro de producción Papel → volcado manual nocturno Tiempo real desde móvil del operario
Trazabilidad de cambios Nula o en hilos de WhatsApp imposibles de auditar Log completo en Odoo con timestamp
Coste de mantenimiento Alto en tiempo humano Bajo; flujos visuales editables sin código

Qué haríamos diferente

1. Involucrar a los operarios en el diseño de los mensajes desde el día uno. Diseñamos el primer prototipo de notificación Block Kit sin consultar a los operarios de planta. Cuando lo vieron, nos pidieron tres cambios: más grande el número de orden, quitar el campo de "responsable de planificación" (que no les aportaba nada) y añadir la referencia del cliente. Perdimos un día de ajustes que habríamos ahorrado con una conversación de veinte minutos. La automatización tiene que diseñarse con quien la va a usar, no para quien la va a supervisar.

2. Configurar alertas de fallo del flujo n8n desde el principio. Durante los primeros tres días de producción real, el flujo de polling se interrumpió dos veces por un timeout de conexión con la instancia Odoo. No lo supimos hasta que un operario preguntó por qué no había llegado la notificación de su orden. Ahora configuramos siempre un nodo de error con notificación al responsable técnico antes de poner en producción cualquier flujo crítico.

3. Definir un protocolo de contingencia desde el día 14. ¿Qué hace el operario si Slack no carga? ¿Qué pasa si n8n está caído? Llegamos a este punto sin un procedimiento escrito. Lo resolvimos en una reunión de 30 minutos, pero debería haber estado documentado antes del go-live. En entornos de fabricación, la automatización tiene que tener un plan B analógico aunque sea provisional.

Preguntas frecuentes sobre automatización de órdenes de producción

¿Es necesario tener Odoo en la nube o funciona con instalación local?
Funciona con ambas opciones. En instalaciones locales, n8n necesita acceso de red al servidor Odoo, lo que puede requerir configurar una VPN o exponer el puerto de la API de forma controlada. En instancias SaaS de Odoo, la conexión es directa vía HTTPS con API key.
¿Qué pasa si un operario no tiene smartphone o no usa Slack?
Slack funciona también en ordenadores de sobremesa y tablets. En plantas donde no todos los operarios tienen dispositivo personal, recomendamos instalar un tablet compartido por zona de trabajo. El coste de dos tablets es marginal comparado con el ahorro en tiempo de clarificación.
¿Cuánto tiempo lleva que los operarios adopten el sistema?
En este proyecto, la adopción fue prácticamente inmediata porque Slack les resultaba familiar (ya usaban WhatsApp). La formación formal duró 45 minutos. Los primeros tres días hubo alguna pregunta puntual; a partir del cuarto día, el sistema funcionaba sin intervención nuestra.
¿Se puede ampliar el sistema para gestionar también el inventario de materias primas?

Con estos 7 pasos, tu fábrica puede eliminar las clarificaciones perdidas por WhatsApp, reducir los errores de registro del 18 % a casi cero y recuperar esos 45–90 minutos por turno que hoy se evaporan esperando instrucciones que nunca llegan a tiempo.

¿Quieres lo mismo?

En FlowFrame conectamos Odoo, Slack y n8n para que tus órdenes de producción fluyan solas: desde la planificación hasta el cierre de turno, sin papel, sin retrasos y sin sorpresas de última hora. No vendemos consultoría interminable — entregamos el sistema funcionando, llave en mano, desde 7 días y desde 1.100 €.

Cuéntanos cómo trabaja tu planta y te mostramos exactamente qué automatizaríamos primero para que veas resultados en la primera semana.

Obtener cotización →

Asistente IA

Cuenta tu tarea — el bot la traduce en una solución

Describe tu situación en palabras normales. El bot hará preguntas para entender. Entiende ruso, inglés y español.

FlowFrame AI · en línea
responde en 5 segundos
Sin compromisos. No compartimos tus datos.