Integraciones / ERP / Sage X3
Guía de integración de Sage X3 para la programación de la producción con SkyPlanner APS
Esta guía explica a los partners de Sage y a los equipos de TI cómo conectar Sage X3 con SkyPlanner APS. Detalla qué interfaces de X3 utilizar, qué objetos contienen los datos y dónde suelen fallar los proyectos. SkyPlanner se integra de forma bidireccional con Sage X3, tanto en la nube como en instalaciones locales:
- Se importan órdenes de fabricación, operaciones, rutas de fabricación, centros de trabajo, calendarios, existencias y pedidos de compra abiertos.
- Las fechas previstas de las operaciones y los centros de trabajo se actualizan en las órdenes de fabricación de X3 (GESMFG).
- Los registros de tiempo de los operarios se registran como seguimiento de producción (GESMTK).
- Los webhooks de SkyPlanner envían los cambios de la programación en cuanto se producen.
El equipo de SkyPlanner adapta la integración a tu configuración de X3 durante la puesta en marcha y ofrece soporte tras la entrada en producción.
Si aún estás valorando si X3 necesita una herramienta de programación de la producción que respete la capacidad real de las máquinas y del personal, lee primero ¿Dispone Sage X3 de programación de la producción? Para conocer el producto, consulta SkyPlanner APS para Sage X3; para otros ERP, visita la sección de integraciones con ERP.
Qué lugar ocupa SkyPlanner en un entorno X3
La programación estándar de Sage X3 (FUNMAUTJ) secuencia las operaciones a partir de los datos de las rutas de fabricación, pero programa cada orden de fabricación de forma independiente. Una guía de soporte de Sage UK lo deja claro: «does not delay or stagger work orders based on overall resource load.» (no retrasa ni escalona las órdenes de fabricación en función de la carga global de los recursos productivos). La programación de la producción que respeta la capacidad disponible de los recursos productivos se realiza en una capa aparte, y Sage ofrece dos opciones:
- Production Scheduler (código de actividad POPS), solo para instalaciones locales.
- La interfaz genérica Finite scheduler (código de actividad GFS), que conecta X3, en la nube o en una instalación local, con Sage X3 Web Scheduling o con una herramienta de programación de un proveedor de software independiente.
SkyPlanner desempeña esa función como herramienta externa de programación en la nube a través de las API estándar de X3, por lo que funciona igual con X3 en la nube y en instalaciones locales. MRP (FUNMRP) sigue generando propuestas de órdenes de fabricación y de pedidos de compra. SkyPlanner secuencia las órdenes de fabricación firmes y planificadas según la capacidad real.
Opciones de integración con Sage X3
El modelo de despliegue determina la vía de integración. Sage X3 en la nube no permite a las aplicaciones de terceros acceder ni al sistema de archivos de la aplicación ni a la base de datos, por lo que la integración se realiza mediante API o un servicio alojado de transferencia de archivos. Las instalaciones locales permiten, además, importar archivos directamente y utilizar tablas intermedias en la base de datos de X3.
| Opción | Descripción | Autenticación | Uso recomendado |
|---|---|---|---|
| GraphQL API (Sage X3 Web API) | La «technology of choice» (tecnología preferida) de Sage para las API de X3; evoluciona sin versiones | JWT (HS256) firmado con el Secret de una Connected application, con el Client ID como iss, la URL como aud y un usuario de Syracuse dedicado | Productos, centros, compras y existencias; nodos de fabricación cuando estén expuestos |
| REST api1 | REST basado en representaciones: .../api1/x3/$$prod/<FOLDER>.<ENTITY>?representation=<REP>.$query | Autenticación de Syracuse | Entidades no cubiertas por GraphQL |
| Servicios web SOAP de objetos | Objetos publicados en Web services (GESAWE); los campos corresponden a los de las pantallas del objeto; lectura, guardado y modificación | OAuth2 en los grupos de conexiones de Syracuse | Devolución de datos a Work order (GESMFG) y Production tracking (GESMTK) |
| SOAP Template Services | Plantillas de importación y exportación por SOAP mediante AOWSIMPORT y AOWSEXPORT | OAuth2; X3 no permite la autenticación básica para SOAP | Ejecución de plantillas desde el middleware |
| Plantillas de importación y exportación | Archivos para el intercambio de datos por lotes mediante plantillas | Sistema de archivos (instalación local) o servicio alojado de transferencia de archivos (nube) | Cargas iniciales y sincronización masiva nocturna |
| Sync API (Cloud BI) | Solo en la nube; extracción incremental de solo lectura y flujo NDJSON. Disponible previa solicitud a su representante de Sage ISV | Token Bearer y X-API-KEY por tenant | Lectura de grandes volúmenes de cambios en la nube |
En instalaciones locales, GraphQL requiere añadir "bearer" al array session.auth en nodelocal.js. En Sage X3 SaaS, la autenticación de aplicaciones conectadas está habilitada por defecto. En Sage X3 Cloud, la aplicación conectada no puede utilizar el usuario admin: cree en su lugar un usuario de Syracuse con autenticación Standard.
Qué interfaz utilizar para cada flujo
- Productos, plantas, compras y existencias: GraphQL, como en los ejemplos oficiales de Sage.
- Órdenes de fabricación, operaciones, rutas de fabricación y centros de trabajo: representaciones de REST api1 o plantillas de exportación ejecutadas mediante AOWSEXPORT. En las versiones cuyo esquema GraphQL expone el dominio de fabricación (
xtremX3Manufacturing), la integración lee esos mismos datos a través de GraphQL. - Envío de fechas de operaciones y centros de trabajo a X3: servicio web SOAP Work order (GESMFG), operación modify. Alternativa: plantilla de importación mediante AOWSIMPORT.
- Seguimiento de producción: servicio web SOAP Production tracking (GESMTK), operación save.
El mismo diseño funciona con X3 en la nube y en instalaciones locales, ya que no requiere acceso directo al sistema de archivos ni a la base de datos. No se instala nada en X3: la integración utiliza una aplicación conectada, un usuario de Syracuse y servicios web publicados en GESAWE.
Eventos: prevé consultas periódicas
La documentación pública de Sage para desarrolladores de X3 no describe ninguna función de webhooks salientes ni de eventos de negocio. El ajuste «Callback URL», añadido en 2024 R1, sirve a Mobile Automation y Web Scheduling cuando llaman a servicios web SOAP. No es un sistema de eventos de uso general. Detecta los cambios mediante lecturas programadas: consultas GraphQL, el cursor de marca de tiempo de Sync API en la nube o exportaciones periódicas con plantillas.
Mapeo de datos de Sage X3 a SkyPlanner
| Objeto de Sage X3 (tabla, función) | Objeto de SkyPlanner | Sentido | Frecuencia |
|---|---|---|---|
| Product, ITMMASTER | Product | X3 → SkyPlanner | Carga inicial y después programada |
| Production BOM (GESBODP) | Estructura multinivel del producto, materiales | X3 → SkyPlanner | Carga inicial y después con cada cambio |
| Routing (GESROU): OPENUM, centro de trabajo WST, SETTIM, OPETIM, unidad de tiempo TIMUOMCOD | Etapas del proceso con tiempos de preparación y ejecución | X3 → SkyPlanner | Carga inicial y después con cada cambio |
| Work center (GESMWS, WORKSTATIO): WST, WSTTYP, WSTNBR, EFF, SHR, sustitutos con prioridad | Estación de trabajo, eficiencia, alternativas | X3 → SkyPlanner | Carga inicial; rara vez después |
| Work center group (WCR) | Grupos de estaciones de trabajo | X3 → SkyPlanner | Carga inicial |
| Weekly structure (TWD), horarios, tabla de variaciones de capacidad, DEFDIH | Turnos, turnos de horas extra, ausencias | X3 → SkyPlanner | Carga inicial y después con cada cambio |
| Órdenes de fabricación: MFGHEAD, MFGOPE, con productos y materiales | Orden, materiales, etapas del proceso | X3 → SkyPlanner | Consulta periódica, de 5 a 15 min |
| Existencias por planta | Saldos de existencias | X3 → SkyPlanner | Consulta periódica |
| Pedidos de compra (POH): líneas abiertas, fecha prevista de recepción | Material pendiente de recibir con fecha prevista de entrega | X3 → SkyPlanner | Consulta periódica, de 5 a 15 min |
| Pestaña Operations de GESMFG: Start OPESTR, End OPEEND, centro de trabajo | Inicio y fin programados, estación de trabajo seleccionada | SkyPlanner → X3 | Con cada cambio en la programación (webhook) |
| Production tracking (GESMTK): tiempos de operación, cantidades, seguimiento de materiales, declaración de producción | Registros de tiempo, cantidades, consumo de materiales | SkyPlanner → X3 | Con cada confirmación (webhook) |
Importa siempre las órdenes de fabricación firmes. Importa las planificadas si los planificadores quieren verlas en el Gantt como carga provisional. Las propuestas permanecen en MRP hasta que se convierten en órdenes de fabricación.
Patrones de integración
1. Carga inicial de datos maestros. Carga primero los centros de trabajo y los calendarios; después, los productos, las listas de materiales y las rutas de fabricación, ya que estas últimas hacen referencia a los centros de trabajo.
2. Sincronización de órdenes. Consulta periódicamente MFGHEAD y MFGOPE para detectar órdenes de fabricación nuevas o modificadas. Asocia cada línea de MFGOPE a una etapa del proceso en SkyPlanner, en la estación de trabajo indicada por su código WST. Sincroniza los pedidos de compra abiertos en el mismo ciclo. 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. Así, las comprobaciones de materiales abarcan tanto las existencias como el suministro pendiente de recibir.
3. Escritura de la programación en X3. El webhook de SkyPlanner se activa cuando cambia la programación. La integración llama a la operación modify del objeto Work order (GESMFG), publicado como servicio web SOAP en GESAWE. Actualiza Start (OPESTR), End (OPEEND) y el centro de trabajo de cada operación modificada. Para las actualizaciones por lotes, esos mismos campos se envían mediante una plantilla de importación de órdenes de fabricación a través de AOWSIMPORT. Escribe únicamente fechas y centros de trabajo, nunca cantidades, líneas de la lista de materiales ni rutas de fabricación.
4. Devolución de la máquina seleccionada. Cuando los centros de trabajo se mapean uno a uno, la máquina que el motor elige entre las alternativas se devuelve como centro de trabajo de la operación. Así, X3 registra la máquina que realmente ejecuta la tarea. Cuando un centro de trabajo de X3 representa un grupo de máquinas, la cola del operario muestra la máquina concreta. X3 recibe el centro de trabajo del grupo junto con las fechas programadas.
5. Confirmaciones en planta. Los operarios registran su trabajo con Mobile Confirmations o Production Timer. La integración envía cada confirmación mediante la operación save del objeto Production tracking (GESMTK): el tiempo de operación y la cantidad en el seguimiento de operaciones y, si se registra allí, el consumo de materiales. X3 solo acepta el seguimiento de órdenes de fabricación en estado Firm, y los componentes deben estar disponibles, salvo que se haya seleccionado Release if shortage (MFGSHTCOD) en la ficha producto-planta.
6. Sincronización fiable. Utiliza el ID del registro de tiempo de SkyPlanner como clave de cada envío de seguimiento y guarda el número de seguimiento generado en X3, para que un webhook repetido nunca cree un registro duplicado. En la siguiente consulta periódica, retira de la programación las órdenes de fabricación cerradas o canceladas en X3. Registra las llamadas rechazadas junto con el mensaje de error de X3, en lugar de reintentarlas a ciegas. Pon los cambios en cola mientras X3 no esté accesible para enviarlos en orden cuando vuelva a estar disponible.
7. Reglas de responsabilidad sobre los datos. X3 determina qué se fabrica: producto, cantidad, lista de materiales, ruta de fabricación y planta. SkyPlanner determina cuándo y dónde: secuencia, estación de trabajo y horas de inicio y fin. Acuerda con los planificadores que dejen de reprogramar en Planning workbench y de ejecutar FUNMAUTJ sobre las órdenes gestionadas por SkyPlanner; de lo contrario, sus cambios se sobrescribirán en el siguiente envío a X3.
Fases habituales del proyecto
La implantación suele completarse en cuestión de semanas desde el inicio de la puesta en marcha. Un proyecto de Sage X3 incluye:
- Prueba con tus propios datos. Exporta los centros de trabajo, las rutas de fabricación y una instantánea de las órdenes de fabricación abiertas mediante las plantillas de exportación de X3 o Excel, e impórtalos en formato CSV. Ajusta los turnos, las eficiencias y las prioridades hasta que el Gantt refleje la realidad.
- Mapeo de datos maestros. Define la correspondencia de los centros de trabajo de GESMWS con las estaciones de trabajo, de las operaciones de GESROU con las etapas del proceso, y de las unidades de tiempo y estructuras semanales con los turnos. Aprovecha este paso para corregir las operaciones de las rutas de fabricación sin centro de trabajo, los días sin horarios y las unidades de tiempo incorrectas.
- Carga inicial. Productos, BOM de producción, rutas de fabricación y centros de trabajo; después, calendarios.
- Sincronización de órdenes y pedidos de compra. Aplicación conectada, usuario de Syracuse, consultas GraphQL o exportaciones mediante plantillas, y una tarea de consulta periódica para las órdenes de fabricación, las existencias y los pedidos de compra pendientes.
- Escritura de la programación en X3. Servicio web SOAP Work order publicado en GESAWE, con gestión de errores y registro de eventos.
- Notificaciones de planta. Envío de Mobile Confirmations a X3 a través del servicio web Production tracking (GESMTK).
- Pruebas en paralelo con el plan actual. Los planificadores comparan ambos planes antes del cambio.
- Puesta en producción. Desactiva la reprogramación manual en X3 para las órdenes gestionadas por SkyPlanner.
Problemas que conviene evitar en Sage X3
- Las sugerencias no son órdenes de fabricación. Las sugerencias de MRP no tienen líneas de operación MFGOPE hasta que se convierten en órdenes de fabricación planificadas o firmes. Por tanto, programa las órdenes convertidas, no las sugerencias.
- Calendarios incompletos. Si un día laborable no tiene horario, se aplica el esquema predeterminado DEFDIH. Un día en blanco sin esquema predeterminado genera fechas y cargas incorrectas. Antes de exportar los calendarios, asigna un horario a cada día laborable de cada estructura semanal.
- Cargas por periodo desactualizadas. Tras un cambio de capacidad o de calendario, las cargas por periodo existentes en X3 no se ajustan hasta que se vuelve a programar y se ejecuta Recalculate loads (FUNMIWL). No valides SkyPlanner comparándolo con una consulta Loads inquiry (CONSMWK) desactualizada.
- No. of resources indica el número de personas del equipo. WSTNBR es el número de recursos productivos que necesita una operación en el centro de trabajo; por ejemplo, tres personas en un centro de trabajo de mano de obra. Asócialo al número de operarios de la estación de trabajo de SkyPlanner, que permite programar a varias personas para una misma tarea a la vez. Las plantas que utilizaban la interfaz avanzada GFS tienen este valor en 1, tal como exige Sage, por lo que debes comprobar dónde se guarda el número real de personas del equipo.
- Las operaciones de una ruta de fabricación sin centro de trabajo no se pueden asignar a una estación de trabajo. Se detectan durante la asignación de correspondencias.
- Unidades de tiempo y centros de trabajo de sustitución. Los tiempos de las rutas de fabricación tienen su propia unidad de tiempo (TIMUOMCOD), y los centros de trabajo de sustitución tienen una prioridad. Define explícitamente las correspondencias de ambos y vuelve a comprobarlas después de cada actualización de X3.
- Órdenes bloqueadas. Si el centro también utilizaba Production Scheduler, las órdenes enviadas allí tienen el estado Being optimized y no se pueden modificar hasta que se retiren de la programación (PSOPTFREE). Libéralas antes del cambio de sistema.
Quién configura la integración con Sage X3
El trabajo consiste en definir cómo se corresponden sus dossieres, convenciones de rutas de fabricación, estructuras de centros de trabajo y desarrollos específicos con SkyPlanner. También abarca las restricciones que X3 no almacena como datos utilizables para la programación: matriz de tiempos de preparación, herramientas, número de operarios y recursos productivos alternativos.
- El equipo de SkyPlanner configura la integración durante la implantación y ofrece soporte tras la puesta en producción. Cada planta utiliza X3 de una forma distinta, y ese conocimiento se aplica aquí. El equipo conecta su endpoint de X3, ya sea en la nube o en sus instalaciones, valida los datos maestros al definir las correspondencias y registra los rechazos de X3 para su seguimiento. La integración tiene un responsable claro desde el primer día, y no necesita contar con un desarrollador de integraciones en plantilla.
- Su partner de Sage puede participar. El partner conoce sus dossieres, códigos de actividad y desarrollos específicos, y puede revisar junto con el equipo la aplicación conectada, el usuario de Syracuse y las publicaciones de GESAWE.
- Sus propios desarrolladores pueden ampliar la integración. La API REST de SkyPlanner permite leer y escribir órdenes, productos, materiales, etapas de proceso y registros de tiempo, con autenticación JWT y documentación Swagger/OpenAPI (referencia de la API). Basta con una clave de API para empezar, y el tutorial de integración explica las primeras llamadas paso a paso. El equipo de SkyPlanner ofrece ayuda cuando hace falta. La documentación de SkyPlanner abarca productos y materiales y pedidos de compra. En Laboratory & Allied, el equipo interno de TI conectó SkyPlanner con SAP Business One en gran medida por su cuenta, con ayuda de SkyPlanner.
Por qué los equipos que usan X3 eligen SkyPlanner para programar la producción
Elija SkyPlanner si quiere estar operativo en semanas, no después de un proyecto de APS de varios meses.
Elija SkyPlanner si quiere empezar a programar antes de que la integración esté terminada.
Durante la prueba, los planificadores programan a partir de archivos CSV mientras se configura la lectura y la escritura de datos en X3. Una vez que la integración está en marcha, sustituye a la importación de archivos.
Elija SkyPlanner si quiere una integración con poca carga técnica.
Los webhooks envían los cambios de programación y de estado en tiempo real, de modo que el middleware solo tiene que consultar periódicamente X3. El motor Arcturus AI genera la programación en segundos, y Autopilot la reajusta automáticamente cuando hay cambios en la producción.
Elija SkyPlanner si necesita que sus datos de X3 alimenten un modelo de restricciones reales.
El número de personas de cada equipo se traduce en varios operarios en una misma estación de trabajo, y los centros de trabajo de sustitución se convierten en máquinas alternativas. La matriz de tiempos de preparación incorpora cambios entre productos cuyo tiempo depende de la secuencia. Las herramientas son recursos productivos de capacidad finita, por lo que un utillaje que se está usando en una máquina nunca se reserva en otra.
Elija SkyPlanner si el seguimiento de la producción debe empezar en planta.
Los operarios registran su trabajo desde un móvil o una tableta con Mobile Confirmations, Production Timer y Quick Log Mode. Esos mismos registros de tiempo se envían a X3 como seguimiento de la producción.
El precio parte de 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. Consulte los precios y las funciones, o inicie la prueba gratuita de 30 días con hasta 20 estaciones de trabajo y sin tarjeta de crédito.
Opiniones de fabricantes sobre SkyPlanner
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.
+90%de eficiencia en la producción
“La eficiencia en la producción ha aumentado un 90%.”
Abdul Rucyinga, responsable de TI
Laboratory & Allied · Fabricación farmacéutica
La eficiencia en la 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.
98%de cumplimiento de plazos de entrega, frente a cerca del 50% anterior
“SkyPlanner desempeña un papel decisivo para mantener nuestro cumplimiento de plazos de entrega.”
Hannu Lahtinen, director general
KJH-Comp · Fabricación de piezas de chapa y fabricación por contrato
El cumplimiento de plazos de entrega pasó de alrededor del 50% a alcanzar el 98%, y ahora basta con un supervisor para la programación en lugar de dos.
99,2%de cumplimiento de plazos de entrega
“SkyPlanner nos ha permitido ver con más claridad dónde están los cuellos de botella y ha aportado claridad a la gestión de la producción.”
Toni Tuori, responsable de producción
Piristeel · Sistemas de seguridad para cubiertas y de evacuación de aguas pluviales
El cumplimiento de plazos de entrega ha alcanzado el 99,2% este año, y la programación permite ahorrar hasta cuatro horas de trabajo al día.
Preguntas frecuentes
¿Cómo se integra SkyPlanner APS con Sage X3?
La integración es bidireccional y utiliza GraphQL, REST api1, servicios web SOAP y plantillas. Se importan órdenes de fabricación, rutas de fabricación y centros de trabajo. Se devuelven las fechas planificadas de las operaciones y las horas registradas, enviadas mediante webhooks cuando cambia la programación. El equipo de SkyPlanner configura la integración durante la implantación, o su partner de Sage X3 o sus desarrolladores la crean sobre la API REST de SkyPlanner.
¿Cómo se escriben las fechas de las operaciones en Sage X3?
A través del objeto Work order (GESMFG), publicado como servicio web SOAP en la función Web services (GESAWE). Su operación modify actualiza Start (OPESTR), End (OPEEND) y el centro de trabajo de cada operación. Para las actualizaciones por lotes, se ejecuta una plantilla de importación de órdenes de fabricación mediante AOWSIMPORT. Las horas y las cantidades se envían a través del objeto Production tracking (GESMTK).
¿Debemos usar GraphQL o servicios web SOAP?
Ambos, cada uno para lo que mejor hace. GraphQL es la API recomendada por Sage y permite leer productos, centros, compras y existencias, tanto en la nube como en instalaciones locales. Los servicios web SOAP de objetos escriben la programación y el seguimiento de la producción, y SOAP Template Services ejecuta plantillas de importación y exportación para las cargas masivas.
¿Cómo evitamos los registros duplicados o la pérdida de cambios?
Use el ID del registro de tiempo de SkyPlanner como clave de cada envío a Production tracking y conserve el número de seguimiento que devuelve X3, para reconocer y omitir los webhooks repetidos. Ponga los cambios en cola mientras X3 no esté accesible y envíelos en orden cuando vuelva a estar disponible. Registre los rechazos, como un seguimiento enviado para una orden de fabricación que no esté en estado Firm, junto con el mensaje de error de X3.
¿Necesitamos los códigos de actividad POPS o GFS para SkyPlanner?
No. Esos códigos activan Production Scheduler de Sage y la interfaz genérica con Web Scheduling. SkyPlanner lee las órdenes de fabricación mediante GraphQL, REST api1 o plantillas, y devuelve los datos a X3 a través de los servicios web SOAP Work order y Production tracking.
¿Cómo recoge SkyPlanner las nuevas órdenes de fabricación de Sage X3?
La integración consulta X3 a intervalos cortos mediante GraphQL, REST api1 o exportaciones con plantillas, o mediante Sync API en la nube. En sentido inverso, los webhooks de SkyPlanner envían los cambios de programación en cuanto se producen.
¿Podemos hacer pruebas con datos de Sage X3 antes de desarrollar nada?
Sí. Importe archivos CSV exportados de centros de trabajo, rutas de fabricación y órdenes de fabricación abiertas durante la prueba de 30 días. Para definir el alcance de la integración con X3, contacte con ventas.