Automatización de planificación de oferta/demanda
El equipo de planificación de suministro de una manufacturera global de dispositivos médicos cruzaba a mano cinco fuentes de Excel cada semana para seguir ~1,800 componentes contra un horizonte de demanda de 52 semanas. Lo reemplazamos con una automatización en Office Scripts que explota la demanda por BOM y refresca todo el panorama de oferta/demanda en unos 25 segundos.
El Contexto
Un equipo de planificación de suministro dentro de una manufacturera global de dispositivos médicos necesitaba una vista semanal, a nivel de componente, de oferta versus demanda a lo largo de un horizonte de 52 semanas, para dos sitios de manufactura y cerca de 1,800 componentes únicos. El proceso existente requería que los planificadores cruzaran a mano cinco fuentes de datos distintas — un pronóstico de demanda, una Lista de Materiales (BOM), un Material Master, una fotografía de inventario y órdenes de compra abiertas — sin explosión automática de demanda de producto terminado a demanda de componente, sin vista consolidada, y sin señal de qué componentes estaban en riesgo de quedar en negativo. El equipo trabajaba enteramente dentro de Excel y Microsoft 365; no había infraestructura nueva sobre la mesa, así que la solución tenía que vivir dentro del mismo workbook, como un Office Script.
La Solución
Diseñamos y construimos dos Office Scripts — uno por sitio de manufactura, con arquitectura idéntica — que reemplazan todo el proceso de ensamblaje manual de principio a fin.
Explosión de demanda por BOM en JavaScript
El script lee la demanda de producto terminado desde el Demand Tracker, la multiplica por la cantidad de BOM de cada componente padre, y agrega la demanda a nivel de componente a través de cada producto terminado — cubriendo cerca de 1,800 componentes por sitio.
Vencer el timeout de Office Scripts
Escribir fórmulas para 1.1 millones de celdas (1,800 componentes × 12 filas × 52 semanas) dispara el timeout de 5 minutos de Office Scripts sin importar el tamaño del lote. La solución fue precalcular cada valor en JavaScript y escribirlo en llamadas por lotes — cerca de 10 veces más rápido, porque Excel se salta por completo el parseo de fórmulas.
Proyección continua de 52 semanas
Una estructura de 12 filas de indicadores por componente — inventario disponible por bucket, órdenes de compra abiertas, ajustes de suministro, oferta y demanda total, inventario final proyectado en unidades y dólares, costo de flete, y semanas de cobertura — calculada como una proyección continua, donde el saldo de cierre de cada semana se convierte en el saldo de apertura de la siguiente.
Un solo formato condicional en vez de 1,800
Un único formato condicional basado en fórmula, aplicado a todo el rango de datos semanales, resalta en rojo cada celda con inventario final proyectado negativo, sin registrar una regla por componente.
Resistente a cambios en los datos fuente
La detección flexible de columnas en el Material Master maneja tanto exportaciones directas como exportaciones de listas de SharePoint, que renombran columnas en silencio (SKU a Title, Cost a Material Cost) — un desajuste que antes hacía que los datos del Material Master se perdieran del modelo sin ningún error visible.
Los Resultados
El ensamblaje manual semanal desapareció. Los planificadores corren un script y obtienen el panorama completo de oferta/demanda a nivel de componente en unos 25 segundos, con los componentes en riesgo ya marcados en rojo.