Integraciones / ERP / Xero
Guía de integración de Xero para la programación de la producción con SkyPlanner APS
Esta guía de integración de Xero explica a asesores, consultores y equipos de TI que trabajan con Xero cómo conectarlo a SkyPlanner APS. SkyPlanner se integra con Xero en ambos sentidos a través de Xero Accounting API y Projects API:
- Se importan los contactos, los artículos con control de inventario y sus existencias, los presupuestos aceptados y los pedidos de compra con sus fechas de llegada.
- La fecha de finalización prevista se envía de vuelta como nota en el historial de cada presupuesto.
- Los pedidos terminados se devuelven como borradores de facturas de venta con las líneas y la referencia del presupuesto, y el presupuesto pasa al estado Invoiced.
- Las horas registradas en trabajos de proyecto se envían de vuelta como registros de tiempo de Xero Projects.
- Los webhooks de Xero notifican los cambios en contactos y facturas, y los de SkyPlanner envían los cambios en la programación en cuanto se producen.
Xero es un software de contabilidad, por lo que no almacena listas de materiales, rutas de fabricación, máquinas ni órdenes de producción. Las estaciones de trabajo, las operaciones, los turnos y los tiempos de preparación se gestionan en SkyPlanner. El equipo de SkyPlanner configura la integración con su organización de Xero durante la puesta en marcha y ofrece soporte tras la entrada en producción. Esta guía está dirigida a asesores y desarrolladores que quieran participar en el proceso o desarrollar por su cuenta sobre la REST API documentada de SkyPlanner (referencia de la API).
Xero Accounting API
Xero es un único producto en la nube con arquitectura multiinquilino, y todas las organizaciones utilizan la misma API. Accounting API es una REST API disponible en https://api.xero.com/api.xro/2.0/, que admite JSON o XML. Cada llamada identifica a la organización en la cabecera Xero-tenant-id. (Fuente)
Los endpoints necesarios para programar la producción:
- Datos maestros:
/Contacts(clientes y proveedores),/Items(Code, IsTrackedAsInventory, QuantityOnHand). - Demanda:
/Quotes(Status ACCEPTED, LineItems) y, para los talleres que facturan antes de producir,/Invoicescon Type ACCREC. - Aprovisionamiento:
/PurchaseOrders(DeliveryDate, ExpectedArrivalDate, LineItems con ItemCode). - Envío de datos a Xero:
/Quotes/{QuoteID}/History,/Invoices,/Quotesy Projects API enhttps://api.xero.com/projects.xro/2.0/projects/{projectId}/time.
Todos los endpoints de listado admiten la cabecera If-Modified-Since, de modo que cada sincronización solo lee los datos modificados. Las creaciones y actualizaciones se envían por lotes. No hay endpoints para listas de materiales, rutas de fabricación ni órdenes de producción.
Autenticación, permisos y límites
Xero utiliza OAuth 2.0. Un administrador de Xero inicia sesión una vez, autoriza la aplicación y selecciona la organización. La aplicación solicita offline_access para mantener la conexión mediante tokens de actualización. (Fuente)
Xero está sustituyendo los permisos amplios por otros más específicos, que ya se asignan a las nuevas aplicaciones. Una integración para programar la producción necesita:
accounting.invoicespara presupuestos, facturas, pedidos de compra y artículosaccounting.contactspara clientes y proveedoresaccounting.settings.readpara la configuración de los artículosprojectspara los registros de tiempooffline_access
Xero limita las llamadas por organización (simultáneas, por minuto y por día) y por aplicación. Si una aplicación supera el límite, devuelve HTTP 429 con una cabecera Retry-After. La cuota diaria y el número de organizaciones conectadas dependen del nivel de partner de la aplicación. Ambos figuran en la página de límites de la API de Xero. Los webhooks, las lecturas con If-Modified-Since y las escrituras por lotes permiten que una integración para programar la producción se mantenga muy por debajo de esos límites.
En SkyPlanner, la REST API se autentica con un token de API en la cabecera Authorization-Token (SkyPlanner Settings > API) y está documentada en Swagger/OpenAPI. El tutorial de integración explica paso a paso las primeras llamadas.
Webhooks
«Webhooks allow you to subscribe to certain events that happen in Xero.» (Los webhooks permiten suscribirse a determinados eventos que se producen en Xero). (Fuente) Los eventos relevantes para la programación son Contact e Invoice, ambos con CREATE y UPDATE.
Cómo funcionan:
- Un único webhook por aplicación cubre todas las organizaciones conectadas.
- Cada envío contiene un array de eventos con el ID del recurso y el tipo de evento. El receptor consulta el recurso a continuación.
- Cada envío se firma con una cabecera
x-xero-signature, generada a partir de la clave del webhook de la aplicación. Antes de empezar a enviar eventos, Xero realiza una comprobación «Intent to receive» (intención de recibir). - Xero reintenta los envíos fallidos y desactiva los webhooks que siguen fallando, por lo que el receptor responde rápido y procesa el trabajo después.
Los presupuestos, los artículos y los pedidos de compra no tienen eventos de webhook. SkyPlanner los consulta a intervalos cortos con If-Modified-Since, lo que consume una llamada por entidad cuando no hay cambios.
Correspondencia de datos
| Objeto de Xero (endpoint) | Objeto de SkyPlanner | Sentido | Frecuencia |
|---|---|---|---|
Contact, IsCustomer (/Contacts) | Customer (external_identifier, delivery_priority) | Xero → SkyPlanner | Carga inicial y, después, mediante webhook |
Item, con y sin control de inventario, con QuantityOnHand (/Items) | Productos y materiales, existencias | Xero → SkyPlanner | Carga inicial y, después, mediante If-Modified-Since |
Quote, Status ACCEPTED, con LineItems (/Quotes) | Order (external_order_number, delivery_date), tareas por línea | Xero → SkyPlanner | Consulta periódica con If-Modified-Since |
Invoice, Type ACCREC (talleres que facturan antes de producir) (/Invoices) | Order y tareas | Xero → SkyPlanner | En tiempo real mediante webhook |
PurchaseOrder con ExpectedArrivalDate o DeliveryDate (/PurchaseOrders) | Material pendiente de recepción (estimated_delivery_date) | Xero → SkyPlanner | Consulta periódica con If-Modified-Since |
Nota en el historial del presupuesto (PUT /Quotes/{QuoteID}/History) | Fecha de finalización prevista | SkyPlanner → Xero | Cuando cambia la programación |
Invoice, Type ACCREC, Status DRAFT, Reference = número del presupuesto (POST /Invoices) | Pedido terminado | SkyPlanner → Xero | Cuando se termina el pedido |
Quote con Status INVOICED (POST /Quotes) | Pedido terminado | SkyPlanner → Xero | Cuando se crea la factura |
Registro de tiempo de Projects (POST /projects/{projectId}/time) | Mobile Confirmations, registros de tiempo | SkyPlanner → Xero | A medida que se registra el trabajo |
| No disponible en Xero | Estaciones de trabajo, operaciones, turnos, ausencias, matriz de tiempos de preparación, herramientas, número de operarios, estaciones de trabajo alternativas | Se mantienen en SkyPlanner | Se configura durante la puesta en marcha |
Patrones de integración
1. Carga inicial de datos maestros. Recorra las páginas de contactos y artículos y, después, las de pedidos de compra abiertos y presupuestos aceptados. Cree los clientes en SkyPlanner con el ContactID de Xero como external_identifier, y los productos y materiales con el código de artículo como clave. A continuación, configure lo que Xero no almacena: estaciones de trabajo, operaciones por producto, turnos, permisos y vacaciones y tiempos de preparación. La importación desde CSV o Excel es la vía más rápida para cargar las operaciones.
2. Sincronización de pedidos. Consulte periódicamente los presupuestos con If-Modified-Since. Cuando un presupuesto pasa a ACCEPTED, SkyPlanner crea un pedido con el número de presupuesto como external_order_number. El valor de delivery_date procede del campo que su taller utiliza para la fecha comprometida, cuya correspondencia se define durante la puesta en marcha. Cada línea se convierte en tareas según las operaciones del producto. Las líneas de los pedidos de compra se convierten en entradas de material para la fecha de llegada prevista, de modo que las tareas esperan a la entrega. Una lectura completa cada noche de los presupuestos y pedidos de compra abiertos recoge cualquier cambio que se haya pasado por alto.
3. Envío de la programación y los pedidos terminados a Xero. Tres llamadas registran los resultados en Xero:
- PUT
/Quotes/{QuoteID}/Historyañade una nota con la fecha de finalización prevista. Un presupuesto aceptado solo permite modificar el contacto y las notas, por lo que la fecha se guarda en la nota del historial. (Fuente) - Cuando se termina el pedido, POST
/Invoicescrea una factura de venta con Type ACCREC, Status DRAFT, el contacto y las líneas del presupuesto y el número de presupuesto como Reference. Su contable la aprueba y la envía desde Xero. - POST
/Quotescon el QuoteID y Status INVOICED cierra el presupuesto. El paso de Accepted a Invoiced es un cambio de estado válido en Accounting API.
4. Confirmaciones en planta y horas de proyecto. Los operarios registran el trabajo con SkyPlanner Mobile Confirmations, Production Timer o Quick Log Mode. El avance actualiza la programación de inmediato y Autopilot reprograma el resto. En los trabajos de proyecto, SkyPlanner envía las horas como registros de tiempo de la tarea del proyecto, con el usuario de Xero, la fecha y la duración. (Fuente)
5. Responsabilidad sobre los datos y reglas para resolver conflictos. Déjelas por escrito antes de la entrada en producción:
| Datos | Sistema responsable |
|---|---|
| Contactos, artículos, precios, presupuestos, pedidos de compra, facturas, contabilidad | Xero |
| Estaciones de trabajo, operaciones, turnos, ausencias, matriz de tiempos de preparación, herramientas, recursos productivos alternativos | SkyPlanner |
| Secuencia de tareas, horas de inicio y fin, estación de trabajo de cada tarea | SkyPlanner |
| Nota con la fecha de finalización prevista en el presupuesto | SkyPlanner, con envío a Xero |
| Borrador de factura para pedidos terminados, horas de proyecto | SkyPlanner los crea; Xero asume el control tras la aprobación |
Pasos habituales del proyecto
La implementación suele completarse en unas semanas desde el inicio del proceso de incorporación. Antes, la prueba gratuita de 30 días utiliza sus propios datos, exportados desde Xero en un archivo CSV con contactos, productos y presupuestos abiertos.
El proyecto consta de los siguientes pasos:
- Conexión. Un administrador de Xero autoriza SkyPlanner y selecciona la organización.
- Objeto que genera la demanda. Acuerde si la producción se inicia a partir de presupuestos aceptados o de facturas de venta.
- Correspondencia de datos. Defina la tabla de correspondencias, los códigos de artículo, las cuentas contables de las facturas, los valores fiscales predeterminados y las reglas que determinan qué sistema controla cada dato.
- Carga inicial. Contactos, artículos, pedidos de compra abiertos y presupuestos aceptados.
- Modelo de producción. Estaciones de trabajo, operaciones por producto, turnos, matriz de tiempos de preparación, herramientas y número de operarios en SkyPlanner.
- Sincronización. Webhooks para contactos y facturas, consultas periódicas con
If-Modified-Sincepara presupuestos, artículos y pedidos de compra, además de una conciliación nocturna. - Escritura en Xero. Primero las notas de los presupuestos; después, los borradores de factura y el estado de los presupuestos; por último, las horas de proyecto cuando se utilicen.
- Pruebas en paralelo y puesta en marcha. Compare las fechas de SkyPlanner con su plan actual y pida a su responsable de contabilidad que revise los primeros borradores de factura. Después, active la escritura en Xero.
Qué prever al integrar Xero
- Xero no tiene objetos de producción. Mantenga las operaciones de cada producto en SkyPlanner, vinculadas al código de artículo de Xero. No cambie los códigos de artículo.
- Los presupuestos no tienen webhook. Consúltelos a intervalos cortos con
If-Modified-Since, sin superar los límites por minuto ni los diarios. - Los presupuestos aceptados quedan bloqueados. Tras la aceptación, solo se pueden modificar los datos de contacto y las notas. Por eso, la fecha comprometida se lee una sola vez, al aceptar el presupuesto, y la fecha planificada se escribe como una nota en el historial.
- Las existencias se actualizan con las facturas. Xero modifica las cantidades disponibles de los artículos con seguimiento de inventario mediante facturas de venta, facturas de proveedor y notas de abono. Acuerde con su responsable de contabilidad cómo contabilizar los productos terminados y los materiales consumidos.
- Las horas de proyecto requieren usuarios de Xero. Cada registro de horas pertenece a un usuario de Xero. Decida qué operarios registrarán horas en Xero Projects y mantenga los registros de los demás en SkyPlanner.
- Permisos granulares. Solicite permisos granulares desde el principio, ya que los permisos de alcance amplio se están retirando.
- Nivel de la aplicación. El nivel de socio determina cuántas organizaciones puede conectar una aplicación y cuántas llamadas puede realizar al día. Elija el nivel en función del número de plantas.
Integración con Xero: quién la configura y ofrece soporte
El trabajo abarca sus artículos, presupuestos, pedidos de compra y el paso de los trabajos terminados a facturación. Añade lo que Xero no almacena: estaciones de trabajo, operaciones, turnos, matriz de tiempos de preparación, herramientas, número de operarios y recursos productivos alternativos.
- El equipo de SkyPlanner la configura durante la incorporación y ofrece soporte tras la puesta en marcha. Cada taller configura los artículos, presupuestos y existencias de forma distinta en Xero, y ese conocimiento se aplica aquí.
- Su asesor de Xero o su socio de integración puede desarrollarla. SkyPlanner proporciona la REST API, la documentación Swagger/OpenAPI y los webhooks.
- Sus propios desarrolladores pueden trabajar sobre esta base con un token de API. Basta con un token de API para empezar, y el equipo de SkyPlanner presta ayuda cuando hace falta. La documentación del producto, incluidos los pedidos de compra y la API de productos y materiales, está en la documentación de SkyPlanner.
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 su proceso y sus necesidades, junto con su plan, para que conozca el coste total antes de empezar. Consulte los precios, las funciones y lo que Xero ofrece por sí solo en ¿Dispone Xero de programación de la producción? Encontrará una visión general en la página de Xero y otros sistemas en todas las integraciones.
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 tareas en segundos.
+90%de eficiencia en la producción
“La eficiencia de la producción ha aumentado un 90%.”
Abdul Rucyinga, responsable de TI
Laboratory & Allied · Fabricación farmacéutica
La eficiencia de la producción ha aumentado un 90%, y generar un plan optimizado de tres meses para todas las estaciones de trabajo lleva menos de 30 minutos.
Menosparadas por falta de materiales
“El valor que nos aporta SkyPlanner es contar con una herramienta que funciona en el día a día, especialmente para fijar fechas de entrega.”
Tommi Männistö, responsable de planificación de la producción
Eskomatic · Mecanizado por encargo
La programación automática de la carga de trabajo permite fijar fechas de entrega más precisas, y las paradas de producción por falta de materiales se han reducido considerablemente.
1.000 y másórdenes de trabajo programadas automáticamente
“Ahora controlamos la producción de otra manera y conocemos nuestra capacidad a un nivel completamente distinto.”
Hannu Ryynänen, director general
Mamec · Mezcladores industriales, bombas y fabricación de alta tecnología por encargo
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.
Preguntas frecuentes
¿Tiene Xero una API para datos de producción?
Xero dispone de Accounting API y Projects API, ambas REST con OAuth 2.0. Abarcan contactos, artículos, presupuestos, facturas, pedidos de compra y registros de horas. Los datos de producción, como las estaciones de trabajo y las operaciones, se almacenan en SkyPlanner.
¿Puede SkyPlanner escribir datos en Xero?
Sí. SkyPlanner añade la fecha de finalización planificada al historial de cada presupuesto. Cuando el pedido está terminado, crea un borrador de factura de venta con las líneas del presupuesto, cambia el estado del presupuesto a Invoiced y envía los registros de horas de proyecto.
¿Envía Xero los cambios en tiempo real?
Los webhooks de Xero abarcan contactos y facturas. SkyPlanner lee los presupuestos, artículos y pedidos de compra modificados desde la última sincronización mediante If-Modified-Since y concilia los datos cada noche. Así, los nuevos presupuestos aceptados se incorporan rápidamente a la programación.
¿De dónde salen las listas de materiales, las rutas de fabricación y las máquinas si Xero no las tiene?
De SkyPlanner. Las estaciones de trabajo, las operaciones por producto, los turnos y los tiempos de preparación se configuran una sola vez, manualmente o mediante una importación de CSV o Excel. Cada producto se vincula al código de artículo de Xero, de modo que los nuevos presupuestos aceptados se programan automáticamente.
¿Podemos probar SkyPlanner antes de desarrollar la integración?
Sí. La prueba gratuita de 30 días permite utilizar hasta 20 estaciones de trabajo con una importación CSV desde Xero, sin necesidad de tarjeta de crédito. Inicie la prueba o hable con el equipo comercial para definir el alcance de la integración.