Se conecta con sistemas ERP y MES como

Integraciones / ERP / Microsoft Dynamics 365 Supply Chain Management

Guía de integración de Dynamics 365 Supply Chain Management para la programación de la producción con SkyPlanner APS

Esta guía de integración de Dynamics 365 Supply Chain Management muestra a partners y equipos de TI cómo conectar Microsoft Dynamics 365 Supply Chain Management con SkyPlanner APS. SkyPlanner se integra de forma bidireccional con Dynamics 365 Supply Chain Management a través de sus entidades de datos estándar:

  • Se importan órdenes de producción, operaciones y tareas de ruta, líneas de BOM, recursos productivos, calendarios, productos liberados, existencias disponibles y líneas de pedidos de compra.
  • Las fechas y horas de inicio y fin programadas y el recurso productivo elegido se escriben en la orden de producción y sus operaciones de ruta.
  • Las horas de los operarios y las cantidades se devuelven a través del diario de tarjetas de ruta.
  • Los webhooks de SkyPlanner envían los cambios de la programación en cuanto se producen.
Diagrama de Gantt de SkyPlanner APS con tareas programadas en distintas estaciones de trabajo y una lista de órdenes debajo.

Durante la puesta en marcha, el equipo de SkyPlanner adapta la integración a la configuración de Supply Chain Management y ofrece soporte tras la entrada en producción. Esta guía está dirigida a partners y desarrolladores que quieran participar o desarrollar por su cuenta sobre la REST API documentada de SkyPlanner (referencia de la API).

Opciones de integración con Dynamics 365 SCM

Supply Chain Management expone sus datos a través de entidades de datos. Hay cuatro opciones relevantes para la programación de la producción:

  1. Endpoint REST de OData v4. [Your organization's root URL]/data expone todas las entidades de datos marcadas como IsPublic y permite crearlas, leerlas, actualizarlas y eliminarlas. Admite $filter, $count, $orderby, $skip, $top, $select y $expand de primer nivel. El servidor controla la paginación, con un máximo de 10.000 registros, y las solicitudes por lotes permiten agrupar escrituras en conjuntos de cambios. OData es síncrono. (fuente)
  2. API de datos por lotes. La Data management package REST API y las integraciones periódicas transfieren grandes volúmenes de datos de forma asíncrona. Microsoft indica: «If the volume is more than a few hundred thousand records, use the batch data API.» (Si el volumen supera unos cientos de miles de registros, utilice la API de datos por lotes). También es la API compatible con las instalaciones locales. (fuente)
  3. Eventos de negocio. Las aplicaciones de finanzas y operaciones publican eventos de negocio en Azure Service Bus, Event Grid, endpoints HTTPS o Power Automate. (fuente)
  4. Servicios personalizados y acciones de OData. Los servicios personalizados de X++ y las acciones vinculadas de OData ejecutan lógica de negocio bajo demanda.

La integración de SkyPlanner utiliza el endpoint de OData para el intercambio diario de datos y la API de datos por lotes cuando la carga inicial es grande. No se instala nada en Supply Chain Management.

Autenticación

Registre una aplicación en Microsoft Entra ID (entidad de servicio). En Supply Chain Management, asocie esa aplicación a un usuario con los roles de seguridad que necesita la integración. La integración lee datos de producción, recursos productivos e inventario, y escribe datos de programación de órdenes de producción y diarios. Los tokens se solicitan a Entra ID mediante credenciales de cliente.

Dos reglas determinan a qué datos accede la integración:

  • Entidades jurídicas. OData devuelve los datos de la empresa predeterminada, salvo que se añada ?cross-company=true a la solicitud. En instalaciones con varias plantas, se filtra por dataAreaId.
  • Nombres públicos. Los nombres de entidad que aparecen a continuación son los de la gestión de datos. Los nombres públicos de las colecciones OData pueden ser distintos; consúltelos en /data/$metadata de su entorno.

En SkyPlanner, la REST API se autentica mediante un token de API (SkyPlanner Settings > API) y está documentada en Swagger/OpenAPI. El tutorial de integración explica paso a paso las primeras llamadas.

Mapeo de datos

Entidad de D365 SCMObjeto de SkyPlannerSentidoFrecuencia
Productos liberados (ItemNumber)Productos y materialesSCM → SkyPlannerCarga inicial y, después, solo los cambios
Líneas de BOM de producción (ProdProductionOrderBillOfMaterialsLineEntity), líneas de BOMEstructura del producto, materiales por ordenSCM → SkyPlannerEn cada sincronización de órdenes
Ruta, versiones de ruta, operaciones de ruta, propiedades de las operaciones (RouteOperationPropertiesV2Entity)Etapas del proceso con tiempos de preparación y ejecuciónSCM → SkyPlannerCarga inicial y, después, cuando haya cambios
Recursos productivos (OpResOperationsResourceEntity), grupos de recursos productivos, capacidadesEstaciones de trabajo, grupos de estaciones de trabajo, eficienciasSCM → SkyPlannerCarga inicial y, después, con poca frecuencia
Calendarios laborales, días e intervalos horarios de los calendarios, asignaciones de calendariosTurnosSCM → SkyPlannerA diario, o gestión de los turnos en SkyPlanner
Cabeceras de órdenes de producción (ProdProductionOrderHeaderEntity)Órdenes con fechas de entrega y estadoSCM → SkyPlannerCada pocos minutos o cuando se produzca un evento de negocio
Operaciones de ruta (ProdProductionOrderRouteOperationEntity), tareas de ruta (ProdProductionOrderRouteJobEntity)Tareas con duraciones y requisitos de recursos productivosSCM → SkyPlannerEn cada sincronización de órdenes
Existencias disponiblesSaldos de existenciasSCM → SkyPlannerCada hora o al ejecutar la programación
Líneas de pedidos de compra con fecha de entregaMaterial pendiente de recibir; las existencias se actualizan cuando el pedido de compra se marca como DeliveredSCM → SkyPlannerCada hora o al ejecutar la programación
Fechas y horas de inicio y fin programadas y recurso productivo de cada operación de rutaInicio, fin y estación de trabajo planificados para cada operaciónSkyPlanner → SCMCuando cambie la programación, mediante un webhook de SkyPlanner
Diario de tarjetas de ruta (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity)Registros de tiempo y cantidadesSkyPlanner → SCMPor confirmación o por turno, si se elige esta opción
Configuración de restricciones en SkyPlannerMatriz de tiempos de preparación, herramientas como recursos productivos de capacidad limitada, número de operarios, recursos productivos alternativosSe mantiene en SkyPlannerSe configura durante la puesta en marcha

Patrones de integración

1. Carga inicial de datos maestros. Cargue los recursos productivos y sus grupos, los calendarios, los productos liberados, las rutas y las BOM. Utilice la API de datos por lotes cuando el volumen alcance los cientos de miles de registros; en los demás casos, utilice la paginación de OData. Asocie cada recurso productivo de SCM a una estación de trabajo de SkyPlanner. No se limite a asociar los grupos: la programación de operaciones reserva grupos, pero en planta se trabaja con recursos productivos concretos.

2. Sincronización de órdenes. Lea las órdenes de producción confirmadas que estén en los estados gestionados por SkyPlanner, normalmente Scheduled y Released, junto con sus operaciones de ruta, tareas de ruta y líneas de BOM. Lea también las líneas de pedidos de compra abiertos. SkyPlanner considera que el material pedido estará disponible en la fecha de entrega del pedido de compra y actualiza las existencias cuando este se marca como Delivered.

Excluya las órdenes de producción planificadas, salvo que se hayan incluido expresamente en el alcance. Planning Optimization las regenera en cada ejecución.

3. Escritura de la programación en SCM. Por cada operación que el motor haya programado o desplazado, SkyPlanner escribe las fechas y horas de inicio y fin programadas y el recurso productivo en la operación de ruta. Para ello utiliza los nombres de campo de /data/$metadata de su entorno. Los cambios se envían en conjuntos de cambios de lotes OData, de modo que cada ejecución de la programación se aplica como una única actualización coherente.

4. Confirmaciones en planta. Los operarios registran el trabajo con SkyPlanner Mobile Confirmations o Production Timer, y los registros de tiempo mantienen actualizada la programación. Las horas y las cantidades de unidades buenas pueden devolverse como líneas del diario de tarjetas de ruta. Report as finished se sigue ejecutando donde se utiliza actualmente, en SCM o en Production floor execution.

Elija un único canal para cada registro. Registrar las mismas horas desde SkyPlanner y Production floor execution las duplica.

5. Responsabilidad sobre los datos y reglas para resolver conflictos. Déjelas por escrito antes de la entrada en producción:

DatosSistema responsable
Productos, BOM, rutas, cantidades, estado de las órdenes, cálculo de costesSupply Chain Management
Órdenes de producción planificadasPlanning Optimization
Secuencia de operaciones, inicio y fin programados, asignación de recursos productivosSkyPlanner
Matriz de tiempos de preparación, herramientas, número de operarios, recursos productivos alternativosSkyPlanner
Turnos y ausenciasUn único sistema, elegido durante la definición del alcance
Registro de horas y producciónSupply Chain Management, a partir de los registros de tiempo de SkyPlanner si se elige esta opción

La principal fuente de conflictos es la propia programación de tareas de SCM. Si un planificador reprograma una orden en SCM, se sobrescriben las fechas de SkyPlanner. Use IsProductionOrderSchedulingLocked en la cabecera de las órdenes de producción cuya programación controla SkyPlanner. Trate cualquier orden modificada en SCM como una nueva versión y vuelva a sincronizarla. Autopilot reprograma automáticamente cuando cambia la producción.

Qué incluye el proyecto

La implementación suele completarse en unas semanas desde el inicio de la incorporación. Antes, puede realizar la prueba gratuita de 30 días con sus propios datos. Exporte los recursos productivos, las rutas y las órdenes de producción abiertas mediante un proyecto de exportación de gestión de datos o el complemento de Excel. Impórtelos en formato CSV o Excel y valide la programación.

  1. Definición del alcance. Establezca la tabla de correspondencias, los estados en los que SkyPlanner controla la programación, las frecuencias de sincronización y el canal de registro.
  2. Acceso. Registre la aplicación de Entra ID, asóciela a un usuario de SCM con los roles mínimos necesarios y confirme los nombres públicos de las entidades en /data/$metadata. Primero en el entorno de pruebas y después en producción.
  3. Carga inicial. Recursos productivos, calendarios, productos liberados, rutas y listas de materiales (BOM).
  4. Sincronización de órdenes de producción y pedidos de compra. Consultas periódicas con $filter sobre los registros modificados, más eventos de negocio cuando estén disponibles en su catálogo.
  5. Configuración de restricciones en SkyPlanner. Matriz de tiempos de preparación, herramientas, número de operarios y máquinas o personal alternativos.
  6. Escritura de la programación en SCM. Actualizaciones por lotes de las operaciones de ruta y bloqueo de la programación en las órdenes que controla SkyPlanner.
  7. Pruebas en paralelo. Ejecute SkyPlanner en paralelo con el plan actual, compare las fechas y corrija los datos maestros.
  8. Puesta en marcha. Active la escritura en SCM cuando los datos coincidan.

Qué tener en cuenta al integrar Dynamics 365 SCM

  • Eficiencia aplicada por duplicado. SCM calcula los tiempos así: «Scheduling time = Time x 100 / Efficiency percentage.» (El tiempo de programación se calcula ajustando el tiempo según el porcentaje de eficiencia). Traslade la eficiencia a la estación de trabajo de SkyPlanner una sola vez; no vuelva a aplicarla a tiempos ya ajustados.
  • Calendarios asignados a grupos de recursos. Lea la asignación de calendario de cada grupo de recursos y de cada recurso productivo; de lo contrario, la capacidad no coincidirá.
  • Programación de operaciones frente a programación de tareas. Las órdenes programadas por operaciones no tienen horas de inicio y fin ni un recurso productivo concreto. Sincronice las operaciones de ruta y los requisitos de recursos productivos, no solo las fechas.
  • Indicadores de capacidad finita. Los recursos productivos con Finite capacity establecido en No pueden sobrecargarse en SCM. Modele en SkyPlanner cada restricción real con una capacidad limitada.
  • 32 recursos productivos por operación. SCM limita la programación de tareas a 32 recursos productivos por operación. En SkyPlanner, las alternativas se definen mediante grupos de estaciones de trabajo y estaciones de trabajo alternativas.
  • Paginación y volumen. OData devuelve páginas de 10.000 registros y admite un nivel de expansión. Para las cargas iniciales de gran volumen, utilice la API de datos por lotes.
  • Entidades jurídicas. Sin cross-company=true y los filtros de dataAreaId, una planta que trabaja con varias empresas solo sincroniza la empresa predeterminada.

Quién configura la integración

El trabajo incluye definir las correspondencias con sus rutas, recursos productivos y configuración de SCM, además de configurar las restricciones en SkyPlanner: matriz de tiempos de preparación, herramientas, número de operarios y recursos productivos alternativos.

  1. El equipo de SkyPlanner configura la integración durante la incorporación y presta soporte tras la puesta en marcha, tanto en SkyPlanner como en las entidades de datos de SCM acordadas. Cada planta utiliza D365 SCM de forma distinta, y es aquí donde se aplica ese conocimiento.
  2. Su partner de Dynamics puede participar. Conoce su configuración, extensiones y roles de seguridad, y puede configurar la aplicación de Entra ID y el acceso a las entidades. SkyPlanner proporciona la REST API, la documentación de Swagger/OpenAPI y los webhooks.
  3. Sus propios desarrolladores pueden ampliar la integración utilizando la misma REST API documentada y un token de API. Basta con un token de API para empezar, y el equipo de SkyPlanner ofrece ayuda cuando hace falta.

Una vez establecida la conexión, el motor Arcturus programa a partir de las órdenes de producción actualizadas de SCM y escribe las fechas programadas en las operaciones de ruta. SkyPlanner está disponible desde 199 € al mes, con 5 estaciones de trabajo incluidas y facturación mensual. La integración se presupuesta de antemano según sus procesos y necesidades, junto con su plan, para que conozca el coste total antes de empezar.

Compare estas funciones con la planificación propia de SCM en Programación de la producción en Dynamics 365 SCM respetando la capacidad real de máquinas y personal. Encontrará una visión general en la página de Dynamics 365 SCM y otros ERP en la sección de integraciones con ERP.

Iniciar prueba gratuita Contactar con ventas

Opiniones de fabricantes sobre SkyPlanner

Kalle Kalliomäki, especialista en cadena de suministro de UTU, en la planta de producción de cuadros eléctricos de Ulvila

2 hahorradas 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 la línea recibe una nueva cola de trabajo en segundos.

Leer la opinión de UTU

Operarios con trajes de sala limpia en una línea de llenado de botellas de la planta farmacéutica de Laboratory & Allied en Nairobi

+90%de eficiencia en la 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 preparar un plan optimizado de tres meses para todas las estaciones de trabajo lleva menos de 30 minutos.

Leer la opinión de Laboratory & Allied

100%de cumplimiento de plazos de entrega desde 2021

“SkyPlanner nos permite ver la capacidad disponible y hace que la planificación sea predecible.”

Dan Berglund, COO/CFO
Opes Corporation · Fabricación química y alimentaria

El cumplimiento de plazos de entrega ha sido del 100% durante todo el tiempo que se ha utilizado SkyPlanner, desde 2021.

Leer la opinión de Opes Corporation

Hannu Ryynänen, director general de Mamec, en la nave de producción de la empresa en Lohja

1.000 y másórdenes de trabajo programadas automáticamente

“Ahora controlamos la producción de otra manera, y nuestro conocimiento de la capacidad está a un nivel completamente distinto.”

Hannu Ryynänen, director general
Mamec · Mezcladores industriales, bombas y fabricación de alta tecnología por contrato

Miles de órdenes de trabajo se programan automáticamente, y toda la organización dispone de una visión de la producción en tiempo real.

Leer la opinión de Mamec

Preguntas frecuentes

¿Qué API de D365 SCM utiliza la integración?

El endpoint REST de OData v4 en /data, que expone todas las entidades de datos públicas y permite crearlas, leerlas, actualizarlas y eliminarlas. Las cargas iniciales de gran volumen utilizan la API de datos por lotes. Los eventos de negocio añaden desencadenadores casi en tiempo real cuando están disponibles en su catálogo.

¿Tenemos que instalar algo en Supply Chain Management?

No. La integración utiliza entidades de datos estándar a través de OData. Su administrador registra una aplicación de Microsoft Entra ID y la asocia a un usuario de SCM con los roles necesarios.

¿Cómo se escriben las fechas programadas en Supply Chain Management?

SkyPlanner escribe las fechas y horas de inicio y fin programadas y el recurso productivo de la operación en las operaciones de ruta de la orden de producción mediante conjuntos de cambios por lotes de OData. Las órdenes cuya programación controla SkyPlanner se protegen con IsProductionOrderSchedulingLocked.

¿Por qué conectar SkyPlanner en lugar de ajustar la programación de tareas de SCM?

Planning Optimization solo respeta la capacidad real dentro del horizonte de capacidad finita; fuera de él, planifica con capacidad infinita (fuente). La programación de tareas de SCM sitúa una orden de producción cada vez en los huecos que deja la capacidad ya reservada y contabiliza la preparación como tiempo de la operación (fuente). Además, Microsoft desaconseja la planificación maestra con capacidad finita cuando los turnos modifican la capacidad (fuente). SkyPlanner programa todas las órdenes confirmadas de forma conjunta con una matriz de tiempos de preparación, y Autopilot reprograma automáticamente ante cada cambio relevante. El equipo de SkyPlanner configura la integración bidireccional y presta soporte, y su partner de Dynamics puede encargarse de la parte de SCM.

¿Debe SkyPlanner programar las órdenes de producción planificadas?

Normalmente no. Planning Optimization regenera las órdenes de producción planificadas en cada ejecución. SkyPlanner programa las órdenes de producción confirmadas que se encuentran en los estados acordados durante la definición del alcance.

¿Funciona la integración con instalaciones locales de Supply Chain Management?

En las instalaciones locales, la integración utiliza la API de datos por lotes, que Microsoft admite en ese entorno. Por parte de SkyPlanner se utiliza la misma REST API en ambos casos, y la vía de integración se confirma durante la definición del alcance.

¿Podemos probar SkyPlanner antes de desarrollar la integración?

Sí. La prueba gratuita de 30 días admite hasta 20 estaciones de trabajo e importaciones en CSV o Excel desde Supply Chain Management, sin necesidad de tarjeta de crédito. Inicie la prueba o contacte con ventas para definir el alcance de la integración.