Integraciones / ERP / Odoo
¿Odoo ofrece programación de la producción? Cómo funciona el botón Planificar y cuándo añadir SkyPlanner APS
Odoo ofrece funciones básicas de programación de la producción según la disponibilidad del calendario de cada centro de trabajo. El botón Plan de Odoo Manufacturing asigna cada orden de fabricación al primer hueco libre del calendario de su centro de trabajo, de modo que dos órdenes planificadas nunca se solapan en un mismo centro. Sin embargo, planifica una sola orden de producción cada vez y solo tiene en cuenta una restricción. No modifica la secuencia, ni optimiza ni replanifica el conjunto de órdenes. Las plantas que necesitan una programación de la producción que respete la capacidad real disponible de máquinas y personal y secuencie todas sus órdenes según las fechas de entrega y las preparaciones utilizan SkyPlanner APS junto con Odoo.
La propia publicidad de Odoo afirma que permite «plan resources with finite capacity planning» (planificar los recursos respetando su capacidad real) (odoo.com/app/manufacturing). A continuación explicamos qué significa esto en Odoo 19.0, a partir de la documentación oficial y el código fuente: cómo funciona Planificar, cuáles son sus límites y cuándo basta con esta función.
Cómo planifica Odoo las órdenes de fabricación, paso a paso
1. Activa las órdenes de fabricación y configura los centros de trabajo
Ve a Fabricación > Configuración > Ajustes y activa Órdenes de fabricación. A continuación, aparecerá Centros de trabajo en Configuración. Cada centro de trabajo (mrp.workcenter) contiene los campos que utiliza el planificador:
| Campo | Función en la planificación |
|---|---|
| Working Hours | Calendario laboral del centro de trabajo. Por defecto, «Estándar de 40 horas/semana», de lunes a viernes |
| Time Efficiency | Porcentaje que acelera o ralentiza cada orden de fabricación en este centro de trabajo |
| Setup Time / Cleanup Time | Minutos que se añaden antes y después de cada orden de fabricación |
| Alternative Workcenters | Otros centros de trabajo que la función Planificar puede utilizar como alternativa |
| Pestaña Product Capacities | Piezas por ciclo y minutos de preparación y limpieza específicos de cada producto (mrp.workcenter.capacity) |
| OEE Target | Objetivo de rendimiento para los informes; no interviene en la planificación |
| Allowed Employees | Quién puede trabajar aquí. Es un filtro; no define la capacidad. |
2. Operaciones en la lista de materiales
No existe un maestro compartido de rutas de fabricación. Las operaciones se definen en cada lista de materiales, en la pestaña Operaciones (mrp.routing.workcenter). Cada operación tiene un Work Center y un Duration Computation: un tiempo fijo que introduces o un tiempo calculado a partir de las últimas órdenes de fabricación (10 por defecto). La duración prevista suma los tiempos de preparación y limpieza y el número de ciclos multiplicado por el tiempo de ciclo; esta última parte se divide por el valor de Time Efficiency (mrp_routing.py).
Si activas Dependencias de órdenes de fabricación, una operación puede quedar bloqueada por otra mediante el campo Blocked By. La documentación de Odoo indica: «A blocked work order is scheduled at the end of the time period specified in the Expected Duration field of the work order that precedes it.» (Una orden de fabricación bloqueada se programa al finalizar el periodo indicado en el campo Expected Duration de la orden que la precede). (fuente)
3. Confirma la orden de producción y pulsa Planificar
Al confirmar una orden de producción (mrp.production), se crean sus órdenes de fabricación (mrp.workorder). Al pulsar Planificar en la orden de producción, el sistema parte de las últimas órdenes de fabricación y, de forma recursiva, programa primero cada orden que bloquea a otra. Cada orden de fabricación se programa hacia adelante en el tiempo, después de sus predecesoras. Para cada orden de fabricación, Odoo:
- Toma el momento más tardío entre el inicio de la orden de producción, el momento actual y el final de las órdenes de fabricación que la bloquean.
- Evalúa el centro de trabajo principal y todos los centros de trabajo alternativos.
- Busca hacia adelante en cada calendario el primer intervalo libre con tiempo suficiente para la duración prevista.
- Elige el centro de trabajo que permite terminar antes y reserva el intervalo en su calendario mediante un registro
resource.calendar.leaves.
El código fuente de 19.0 expresa la regla con claridad: «The available interval is disjoinct with all other workorders planned on this workcenter» (El intervalo disponible no se solapa con ninguna otra orden de fabricación planificada en este centro de trabajo) (mrp_workcenter.py). En eso consiste la limitación de capacidad. Si una orden de fabricación llega a un periodo de cierre, continúa en el siguiente intervalo de trabajo. Si no encuentra ningún hueco en 700 días, el horizonte de búsqueda predeterminado, Planificar se detiene con el mensaje «Impossible to plan the workorder.» (No es posible planificar la orden de fabricación).
4. Periodos de inactividad y alternativas
Con la aplicación Time Off y el modo de desarrollador puedes bloquear un centro de trabajo por mantenimiento o por un festivo. Planificar envía entonces las órdenes de fabricación a los centros de trabajo alternativos. Si no hay alternativa, la documentación de Odoo indica que «work orders begin to pile up at the work center until it is operational again» (las órdenes de fabricación empiezan a acumularse en el centro de trabajo hasta que vuelve a estar operativo) (fuente).
5. Revisa y ajusta
Fabricación > Planificación > Planificación por producción y Planificación por centro de trabajo abren las vistas de planificación de órdenes de fabricación. Enterprise muestra un diagrama de Gantt que permite arrastrar y soltar. Community ofrece vistas de lista, calendario, tabla dinámica y gráfico. La documentación describe los ajustes como manuales: «Times and planned work centers can be changed by clicking to access the individual work order.» (Para cambiar los horarios y los centros de trabajo planificados, hay que hacer clic y acceder a cada orden de fabricación). (fuente)
Los límites de Odoo
- El primero que llega se atiende primero. Planificar trabaja orden de producción por orden de producción: la que planifiques primero ocupa los primeros huecos disponibles. Si seleccionas varias, las planifica en el orden predeterminado de Odoo: primero por prioridad y después por fecha de inicio. No sopesa las fechas de entrega frente a los cambios de formato ni desplaza una orden ya planificada para dar paso a otra más urgente.
- No secuencia en función de las preparaciones. Setup Time añade un tiempo fijo a cada orden de fabricación: los mismos minutos, independientemente de lo que se haya fabricado antes. Odoo no dispone de una matriz de cambios de formato ni agrupa tareas similares para evitarlos.
- Una sola restricción. Únicamente el calendario del centro de trabajo limita el plan. Los operarios se gestionan mediante el filtro Allowed Employees. Cuando Planificar reserva un hueco, no comprueba la disponibilidad de herramientas ni de materiales. Las reservas de componentes y las fechas de los pedidos de compra solo se utilizan para el reaprovisionamiento.
- MRP no tiene en cuenta la capacidad. Las reglas de reaprovisionamiento y MTO crean órdenes de producción a partir del campo Manuf. Lead Time de la lista de materiales, expresado en días naturales. La documentación indica: «Lead times do not consider weekends, holidays, or work center capacity» (Los lead times no tienen en cuenta los fines de semana, los festivos ni la capacidad del centro de trabajo) (fuente). Las fechas límite de las órdenes de producción y las fechas de entrega prometidas se calculan en días naturales, no a partir de la cola real de trabajo.
- MPS es una lista de sugerencias. El plan maestro de producción (Enterprise) tampoco tiene en cuenta la carga. «The MPS only suggests the amount of product to be replenished, requiring the user to actually create the replenishing POs/MOs.» (MPS solo sugiere la cantidad de producto que hay que reponer; el usuario debe crear los pedidos de compra o las órdenes de producción correspondientes). (fuente)
- No replanifica automáticamente. Una avería o un pedido urgente no desplazan nada por sí solos. Una vez iniciada una orden de fabricación, Odoo impide anular la planificación de la orden de producción: «Some work orders have already started, so you cannot unplan this manufacturing order.» (Algunas órdenes de fabricación ya han comenzado, por lo que no puedes anular la planificación de esta orden de producción). (mrp_production.py)
- Los subconjuntos se planifican por separado. Las listas de materiales multinivel generan órdenes de producción hijas independientes, que se planifican individualmente. El planificador debe hacerlo en el orden correcto para que cada subconjunto esté listo cuando lo necesite la operación de la orden superior.
- Gantt y MPS son exclusivos de Enterprise. La página de ediciones indica que «Scheduling» (programación) y «Shopfloor» (planta) de Manufacturing solo están disponibles en Enterprise (odoo.com/page/editions). En Community, los planificadores trabajan con listas y un calendario.
Cuándo basta con la planificación nativa de Odoo
El botón Planificar de Odoo cumple su función cuando:
- Está claro qué centro de trabajo corresponde a cada operación y los volúmenes son moderados.
- Pocas órdenes compiten por el mismo cuello de botella, por lo que atenderlas por orden de llegada da fechas aceptables.
- Tus máquinas alternativas son idénticas, de modo que los centros de trabajo alternativos y Time Off cubren la mayoría de las incidencias.
- Las preparaciones son cortas o no dependen de la tarea anterior.
- Un planificador puede revisar la planificación por centro de trabajo una vez al día y resolver manualmente los pocos conflictos que surjan.
Si tu planta encaja en esta descripción, centra tus esfuerzos en la calidad de los datos. Asigna un calendario a cada centro de trabajo e introduce valores realistas en Setup y Cleanup Time. Usa duraciones fijas cuando el historial tenga datos poco fiables, activa las dependencias y planifica las órdenes de producción por orden de prioridad.
Cuándo necesitas un sistema de programación de la producción
Planificar se te queda corto cuando se dan varias de estas situaciones:
- Muchas órdenes compiten por dos o más cuellos de botella y las fechas de entrega deben determinar la secuencia.
- La preparación depende de lo que se haya fabricado antes, por lo que el orden de las tareas afecta al volumen producido.
- El personal y los turnos limitan el plan tanto como las máquinas.
- La llegada de materiales determina cuándo puede empezar una tarea.
- Los pedidos urgentes, las averías y los retrasos en las entregas obligan a replanificar varias veces por semana.
- El equipo comercial necesita fechas de entrega basadas en la cola real de trabajo, no en Manuf. Lead Time.
Qué debes buscar
- Programación de la producción que respete la capacidad real de todas las estaciones de trabajo a la vez, teniendo en cuenta los turnos, el personal y las ausencias.
- Secuenciación conjunta de todas las órdenes según la fecha de entrega y la prioridad, no una orden de producción cada vez.
- Una matriz de tiempos de preparación para los cambios de formato que dependen de la secuencia, de modo que el motor elija el orden de las tareas que requiera menos preparación.
- Herramientas y equipos de operarios como restricciones: una herramienta compartida que se usa en una máquina no está disponible para otra, y una tarea puede necesitar varios operarios a la vez.
- Programación que tenga en cuenta los materiales y compruebe las existencias y los pedidos de compra pendientes de recepción.
- Estaciones de trabajo alternativas que el motor elija teniendo en cuenta el plan completo, no una orden de fabricación cada vez.
- Gestión de productos multinivel para que los subconjuntos estén terminados antes de que los necesite la orden superior.
- Reprogramación automática a medida que avanza la producción o cambian las órdenes.
- Un Gantt para los planificadores y una cola de tareas para los operarios, también en Community.
- Responsabilidades claras entre el sistema de programación y Odoo. Las fechas de las órdenes de fabricación en Odoo se calculan a partir de la reserva en el calendario, y volver a pulsar Planificar las sobrescribe. Acuerda que el sistema de programación controle la secuencia, actualiza las fechas y los centros de trabajo a través de
mrp.workordery excluye las órdenes de fabricación que ya estén en curso. - La API adecuada para tu versión y tu plan. Odoo 19 dispone de External JSON-2 API. Está previsto eliminar XML-RPC y JSON-RPC en Odoo 22 (Odoo Online 21.1). El acceso a la API externa solo está disponible en los planes Custom, no en One App Free ni Standard (documentación de la API externa). Los módulos personalizados requieren alojamiento en Odoo.sh o en servidores propios (precios de Odoo).
Las opciones se dividen en cuatro grupos:
- La planificación nativa de Odoo incluye el botón Planificar y, en Enterprise, la vista de Gantt.
- Los módulos adicionales integrados en el cliente de Odoo mejoran el tablero o la lógica de asignación de huecos. Su mantenimiento corre a cargo de un partner de Odoo.
- Los motores de planificación de la cadena de suministro y las suites APS corporativas se conectan mediante un proyecto de implantación y los gestiona un equipo dedicado a la planificación.
- Los APS en la nube con ejecución en planta, la categoría de SkyPlanner, programan automáticamente todos los recursos productivos junto con Odoo. Replanifican a medida que cambia la producción y ponen el programa de producción en manos de los operarios.
Dónde encaja SkyPlanner
SkyPlanner APS resuelve cada una de las limitaciones anteriores:
- El orden de llegada da paso a una secuenciación real. El motor Arcturus AI programa en segundos todas las órdenes abiertas de forma conjunta, respetando la capacidad real disponible. Las ordena según la fecha de finalización, la prioridad, la prioridad del cliente, Fast Track y Dynamic Priorities.
- De tiempos fijos a preparaciones más cortas. Una matriz de tiempos de preparación recoge el cambio de formato entre cada par de productos, que puede variar según el sentido: de azul a rojo, 30 minutos; de rojo a azul, 60. El sistema de programación elige la secuencia que requiere menos tiempo de preparación y programa las tareas similares una tras otra.
- De una restricción a todas a la vez. Las estaciones de trabajo, los turnos, el personal, las ausencias, las herramientas y los materiales se comprueban dentro del mismo programa. Las herramientas tienen una disponibilidad limitada: un útil en uso en una máquina no se reserva para otra al mismo tiempo. Una tarea puede necesitar varios operarios a la vez, y el motor recurre a máquinas o personal alternativos cuando el recurso principal no está disponible. El mismo modelo contempla los grupos de estaciones de trabajo, las eficiencias y el reparto de una tarea entre varias estaciones. La comprobación de materiales abarca las existencias disponibles y las líneas abiertas de
purchase.order: los componentes pedidos se consideran disponibles en la fecha de entrega de la orden de compra, y las existencias se actualizan cuando esta se marca como Entregada. - Subconjuntos coordinados. Los productos intermedios y los productos multinivel se programan para que las piezas estén listas cuando el montaje las necesite.
- De reprogramar a mano a usar Autopilot. Autopilot reprograma automáticamente cuando cambia la producción, respetando los bloqueos, el bloqueo temporal móvil y las prioridades que hayas definido.
- Gantt y herramientas de planta para Community. Los planificadores editan un diagrama de Gantt interactivo. Los operarios consultan su cola de tareas y registran el trabajo desde el móvil o la tableta con las confirmaciones móviles, el temporizador de producción y el modo de registro rápido.
Odoo sigue siendo el sistema de referencia para productos, listas de materiales, inventario, compras y contabilidad. SkyPlanner se integra con él en ambos sentidos mediante External JSON-2 API, o mediante XML-RPC y JSON-RPC en versiones anteriores:
- Entrada:
mrp.production,mrp.workorder,mrp.workcenter,mrp.bomy líneas abiertas depurchase.order. - De vuelta a Odoo: inicio y fin previstos y centro de trabajo elegido, mediante un
writeen cadamrp.workorder(date_start,date_finished,workcenter_id). Esto desplaza la reserva en el propio calendario de Odoo, de modo que sus vistas de planificación muestran las fechas de SkyPlanner. - Planta: las confirmaciones de los operarios se crean como registros de Time Logs en
mrp.workcenter.productivity.
Los webhooks de SkyPlanner envían los cambios de programación en cuanto se producen. Cada planta utiliza Odoo de forma distinta, con sus propias operaciones, calendarios y módulos personalizados. Durante la puesta en marcha, el equipo de SkyPlanner adapta la integración a tu configuración y sigue dando soporte una vez que entra en producción. Tu partner de Odoo o tus propios desarrolladores también pueden trabajar con la API REST documentada de SkyPlanner (referencia de la API). Para empezar basta con una clave de API. Encontrarás los detalles de la API y de las funciones en la documentación de SkyPlanner.
Elige SkyPlanner si muchas órdenes compiten por los mismos cuellos de botella y las fechas de entrega deben determinar la secuencia de todas ellas.
Elige SkyPlanner si los cambios de formato dependen de la secuencia, o si las herramientas compartidas y las tareas que requieren varios operarios determinan qué se puede ejecutar a continuación.
Elige SkyPlanner si reprogramas varias veces por semana y quieres disponer de un programa viable para tu propia producción en cuestión de semanas, en lugar de esperar a que termine un proyecto largo.
Empieza con una exportación CSV o XLSX en la prueba gratuita de 30 días (hasta 20 estaciones de trabajo, sin tarjeta de crédito) y compara el programa de SkyPlanner con los resultados del botón Planificar. Después, el precio parte de 199 € al mes con 5 estaciones de trabajo incluidas, facturación mensual y cancelación en cualquier momento. Recibirás por adelantado un presupuesto de la integración adaptado a tus procesos y necesidades, junto con el de tu plan, para que conozcas el coste total antes de empezar. La implantación suele completarse en cuestión de semanas desde el inicio de la puesta en marcha. Consulta los precios y las funciones.
Más información sobre SkyPlanner para Odoo, la guía de integración con Odoo y otras integraciones con ERP.
Opiniones de fabricantes sobre SkyPlanner
2 hde ahorro cada semana
«Con SkyPlanner hemos pasado de planificar la producción en hojas de Excel a optimizarla en tiempo real».
Kalle Kalliomäki, especialista en cadena de suministro
UTU · Cuadros eléctricos y aparamenta
La planificación de la producción ahorra 2 horas de trabajo cada semana, y una nueva cola de tareas llega a la línea en segundos.
+90%de eficiencia en producción
«La eficiencia en producción ha aumentado un 90%».
Abdul Rucyinga, responsable de TI
Laboratory & Allied · Fabricación farmacéutica
La eficiencia en producción ha aumentado un 90%, y elaborar un plan optimizado de tres meses para todas las estaciones de trabajo lleva menos de 30 minutos.
6 mesesde capacidad libre visible para ventas
«SkyPlanner aporta una base sólida y fiabilidad a toda la planificación de la producción».
Anu Järvinen, responsable de producción
Fredman Operations · Papeles para envases aptos para uso alimentario
El equipo de ventas puede ver la capacidad libre con seis meses de antelación, y las solicitudes de cambios en el programa que antes tardaban una hora o más en resolverse ahora se responden en segundos.
98%de cumplimiento de plazos de entrega, frente a cerca del 50% anterior
«SkyPlanner desempeña un papel decisivo para mantener nuestro nivel de cumplimiento de los plazos de entrega».
Hannu Lahtinen, director general
KJH-Comp · Transformación de chapa y fabricación por contrato
El cumplimiento de plazos de entrega pasó de alrededor del 50% a alcanzar el 98%, y ahora la programación requiere un supervisor en lugar de dos.
Preguntas frecuentes
¿Odoo Community permite programar la producción?
Sí, a un nivel básico. Community dispone de órdenes de producción, órdenes de fabricación, centros de trabajo y el botón Planificar, con vistas de lista, calendario, tabla dinámica y gráfico. La vista Gantt de programación, Shop Floor y Master Production Schedule son funciones de Enterprise. SkyPlanner ofrece un Gantt y una cola de tareas para operarios a las plantas que utilizan Community.
¿Odoo MRP tiene en cuenta la capacidad de los centros de trabajo?
No. El reaprovisionamiento utiliza lead times en días naturales, y la documentación de Odoo indica que estos «do not consider weekends, holidays, or work center capacity» (no tienen en cuenta los fines de semana, los festivos ni la capacidad de los centros de trabajo). La capacidad solo se tiene en cuenta al pulsar Planificar en una orden de producción.
¿Puede Odoo ejecutar varias tareas a la vez en un mismo centro de trabajo?
En el programador, no. El código de la versión 19.0 reserva para cada orden de fabricación un intervalo que no se solapa con ninguna otra orden de fabricación de ese centro de trabajo. La pestaña Product Capacities define las piezas por ciclo dentro de una misma orden de fabricación, no órdenes de fabricación en paralelo.
¿Odoo gestiona tiempos de preparación que dependen de la secuencia?
No. Setup Time y Cleanup Time son cantidades fijas de minutos por centro de trabajo, o por producto en la pestaña Product Capacities. Odoo las añade a cada orden de fabricación, independientemente de la tarea anterior. La matriz de tiempos de preparación de SkyPlanner almacena los cambios de formato por par de productos y sentido, y ordena las tareas para minimizarlos.
¿Cómo se conecta SkyPlanner APS con Odoo?
SkyPlanner se integra con Odoo en ambos sentidos mediante la API externa JSON-2 o, en las versiones de la 16.0 a la 18.0, mediante execute_kw a través de XML-RPC o JSON-RPC. Las fechas previstas y los centros de trabajo se escriben en cada mrp.workorder, y el tiempo registrado se convierte en registros de Time Logs de Odoo. El equipo de SkyPlanner configura la integración durante la puesta en marcha y ofrece soporte una vez que entra en producción. Encontrarás los detalles en la guía de integración con Odoo.
¿Puedo probar SkyPlanner antes de integrarlo con Odoo?
Sí. La prueba de 30 días funciona con exportaciones CSV o XLSX de las vistas de lista de Odoo, con hasta 20 estaciones de trabajo y sin tarjeta de crédito. Puedes comparar el programa de SkyPlanner con los resultados del botón Planificar antes de conectar nada. Inicia la prueba gratuita o habla con ventas.