Intégrations / ERP / Xero
Guide d’intégration de Xero pour l’ordonnancement de la production avec SkyPlanner APS
Ce guide d’intégration de Xero explique aux conseillers Xero, aux consultants et aux équipes informatiques comment connecter Xero à SkyPlanner APS. SkyPlanner échange des données dans les deux sens avec Xero via Xero Accounting API et Projects API :
- Les contacts, les articles suivis en stock avec leur quantité en stock, les devis acceptés et les commandes fournisseurs avec leurs dates d’arrivée sont importés.
- La date de fin prévue est renvoyée sous forme de note dans l’historique de chaque devis.
- Les commandes terminées sont renvoyées sous forme de factures de vente à l’état de brouillon, avec les lignes et la référence du devis. Le devis passe alors au statut Invoiced.
- Les heures enregistrées sur les projets sont renvoyées sous forme de saisies de temps dans Xero Projects.
- Les webhooks Xero signalent les modifications des contacts et des factures, tandis que les webhooks SkyPlanner transmettent les modifications du planning dès qu’elles se produisent.
Xero est un logiciel de comptabilité : il ne contient donc ni nomenclatures, ni gammes de fabrication, ni machines, ni ordres de fabrication. Les postes de travail, les étapes de fabrication, les horaires d’équipe et les temps de réglage sont gérés dans SkyPlanner. L’équipe SkyPlanner configure l’intégration avec votre organisation Xero lors de la mise en place et en assure le support après la mise en service. Ce guide s’adresse aux conseillers et aux développeurs qui souhaitent participer au projet ou développer eux-mêmes une solution à partir de la REST API documentée de SkyPlanner (documentation de référence de l’API).
Xero Accounting API
Xero est un produit cloud unique à architecture multilocataire : toutes les organisations utilisent la même API. Accounting API est une REST API accessible à l’adresse https://api.xero.com/api.xro/2.0/, au format JSON ou XML. Chaque appel identifie l’organisation dans l’en-tête Xero-tenant-id. (source)
Les points de terminaison nécessaires à l’ordonnancement :
- Données de base :
/Contacts(clients et fournisseurs),/Items(Code, IsTrackedAsInventory, QuantityOnHand). - Demande :
/Quotes(Status ACCEPTED, LineItems) et, pour les ateliers qui facturent d’abord,/Invoicesavec Type ACCREC. - Approvisionnements :
/PurchaseOrders(DeliveryDate, ExpectedArrivalDate, LineItems avec ItemCode). - Écriture en retour :
/Quotes/{QuoteID}/History,/Invoices,/Quoteset Projects API à l’adressehttps://api.xero.com/projects.xro/2.0/projects/{projectId}/time.
Chaque point de terminaison de liste accepte un en-tête If-Modified-Since : chaque synchronisation ne lit donc que les données modifiées. Les créations et les mises à jour se font par lots. Aucun point de terminaison ne gère les nomenclatures, les gammes de fabrication ou les ordres de fabrication.
Authentification, périmètres d’accès et limites
Xero utilise OAuth 2.0. Un administrateur Xero se connecte une seule fois, autorise l’application et choisit l’organisation. L’application demande offline_access pour maintenir la connexion à l’aide de jetons d’actualisation. (source)
Xero remplace les périmètres d’accès larges par des périmètres plus fins, qui sont attribués aux nouvelles applications. Une intégration destinée à l’ordonnancement nécessite :
accounting.invoicespour les devis, les factures, les commandes fournisseurs et les articlesaccounting.contactspour les clients et les fournisseursaccounting.settings.readpour les paramètres des articlesprojectspour les saisies de tempsoffline_access
Xero limite les appels par organisation (simultanés, par minute et par jour) et par application. En cas de dépassement, il renvoie une réponse HTTP 429 avec un en-tête Retry-After. Le quota quotidien et le nombre d’organisations connectées dépendent du niveau de partenariat de l’application. Tous deux figurent sur la page des limites de l’API de Xero. Les webhooks, les lectures avec If-Modified-Since et les écritures par lots permettent à une intégration d’ordonnancement de rester largement en deçà de ces limites.
Côté SkyPlanner, la REST API utilise un jeton API transmis dans l’en-tête Authorization-Token pour l’authentification (SkyPlanner Settings > API). Elle est documentée dans Swagger/OpenAPI. Le tutoriel d’intégration vous guide dans vos premiers appels.
Webhooks
« Webhooks allow you to subscribe to certain events that happen in Xero. » (Les webhooks vous permettent de vous abonner à certains événements qui se produisent dans Xero.) (source) Les événements utiles à l’ordonnancement sont Contact et Invoice, chacun avec CREATE et UPDATE.
Leur fonctionnement :
- Un seul webhook par application couvre toutes les organisations connectées.
- Chaque envoi contient un tableau d’événements avec l’identifiant de la ressource et le type d’événement. Le destinataire lit ensuite la ressource.
- Chaque envoi est signé au moyen d’un en-tête
x-xero-signature, généré à partir de la clé de webhook de l’application. Xero envoie une vérification « Intent to receive » avant de commencer les envois. - Xero réessaie les envois qui échouent et désactive tout webhook dont les échecs persistent. Le destinataire répond donc rapidement, puis effectue le traitement.
Les devis, les articles et les commandes fournisseurs ne déclenchent aucun événement webhook. SkyPlanner les lit par interrogation à intervalles courts avec If-Modified-Since, ce qui consomme un appel par entité lorsqu’aucune donnée n’a changé.
Correspondance des données
| Objet Xero (point de terminaison) | Objet SkyPlanner | Sens | Fréquence |
|---|---|---|---|
Contact, IsCustomer (/Contacts) | Customer (external_identifier, delivery_priority) | Xero → SkyPlanner | Chargement initial, puis sur notification webhook |
Item, suivi ou non en stock, avec QuantityOnHand (/Items) | Produits et matières, stock | Xero → SkyPlanner | Chargement initial, puis avec If-Modified-Since |
Quote, Status ACCEPTED, avec LineItems (/Quotes) | Order (external_order_number, delivery_date), opérations pour chaque ligne | Xero → SkyPlanner | Interrogation périodique avec If-Modified-Since |
Invoice, Type ACCREC (ateliers qui facturent d’abord) (/Invoices) | Order et opérations | Xero → SkyPlanner | En temps réel via webhook |
PurchaseOrder avec ExpectedArrivalDate ou DeliveryDate (/PurchaseOrders) | Matières attendues (estimated_delivery_date) | Xero → SkyPlanner | Interrogation périodique avec If-Modified-Since |
Note dans l’historique du devis (PUT /Quotes/{QuoteID}/History) | Date de fin prévue | SkyPlanner → Xero | À chaque modification du planning |
Invoice, Type ACCREC, Status DRAFT, Reference = numéro du devis (POST /Invoices) | Commande terminée | SkyPlanner → Xero | À la fin de la commande |
Quote avec Status INVOICED (POST /Quotes) | Commande terminée | SkyPlanner → Xero | À la création de la facture |
Saisie de temps dans Projects (POST /projects/{projectId}/time) | Mobile Confirmations, relevés de temps | SkyPlanner → Xero | Au fil des déclarations de travail |
| Absent de Xero | Postes de travail, étapes de fabrication, horaires d’équipe, absences, matrice des temps de réglage, outils, nombre d’opérateurs, postes de travail de remplacement | Gérés dans SkyPlanner | Configurés lors de la mise en place |
Schémas d’intégration
1. Chargement initial des données de base. Parcourez les contacts et les articles page par page, puis les commandes fournisseurs ouvertes et les devis acceptés. Créez les clients dans SkyPlanner en utilisant le ContactID de Xero comme external_identifier, puis les produits et les matières avec le code article comme clé. Configurez ensuite ce que Xero ne contient pas : postes de travail, étapes de fabrication par produit, horaires d’équipe, congés et temps de réglage. Pour les étapes de fabrication, l’import CSV ou Excel est la méthode la plus rapide.
2. Synchronisation des commandes. Interrogez les devis avec If-Modified-Since. Lorsqu’un devis passe au statut ACCEPTED, SkyPlanner crée une commande avec le numéro du devis comme external_order_number. La valeur de delivery_date provient du champ utilisé par votre atelier pour la date promise ; cette correspondance est définie lors de la mise en place. Chaque ligne génère des opérations selon les étapes de fabrication du produit. Les lignes des commandes fournisseurs deviennent des réceptions de matières à leur date d’arrivée prévue : les opérations attendent donc la livraison. Une lecture complète des devis et des commandes fournisseurs ouverts, effectuée chaque nuit, récupère tout élément manqué.
3. Renvoi du planning et des commandes terminées. Trois appels inscrivent les résultats dans Xero :
- PUT
/Quotes/{QuoteID}/Historyajoute une note avec la date de fin prévue. Sur un devis accepté, seuls le contact et les notes peuvent être modifiés : la date est donc enregistrée dans une note de l’historique. (source) - Lorsque la commande est terminée, POST
/Invoicescrée une facture de vente avec Type ACCREC, Status DRAFT, le contact et les lignes du devis, ainsi que le numéro du devis dans Reference. Votre comptable la valide et l’envoie dans Xero. - POST
/Quotesavec le QuoteID et Status INVOICED clôture le devis. Le passage de Accepted à Invoiced est un changement de statut autorisé dans Accounting API.
4. Déclarations en atelier et temps par projet. Les opérateurs déclarent leur travail avec SkyPlanner Mobile Confirmations, Production Timer ou Quick Log Mode. L’avancement met immédiatement le planning à jour, et Autopilot replanifie le reste. Pour les travaux liés à un projet, SkyPlanner transmet les heures sous forme de saisies de temps sur la tâche du projet, avec l’utilisateur Xero, la date et la durée. (source)
5. Systèmes de référence et règles de gestion des conflits. Consignez ces règles avant la mise en service :
| Données | Système de référence |
|---|---|
| Contacts, articles, prix, devis, commandes fournisseurs, factures, comptabilité | Xero |
| Postes de travail, étapes de fabrication, horaires d’équipe, absences, matrice des temps de réglage, outils, ressources de remplacement | SkyPlanner |
| Séquence des opérations, heures de début et de fin, poste de travail affecté à chaque opération | SkyPlanner |
| Note indiquant la date de fin prévue sur le devis | SkyPlanner, avec écriture dans Xero |
| Brouillon de facture pour les commandes terminées, temps passé sur les projets | Création par SkyPlanner ; Xero devient le système de référence après approbation |
Les étapes types du projet
La mise en œuvre s’achève généralement dans les semaines qui suivent le début de l’accompagnement. Au préalable, l’essai gratuit de 30 jours s’appuie sur vos propres données : contacts, produits et devis en cours, exportés de Xero au format CSV.
Le projet comprend les étapes suivantes :
- Connexion. Un administrateur Xero autorise SkyPlanner et sélectionne l’organisation.
- Déclenchement de la production. Déterminez si la production démarre à partir des devis acceptés ou des factures de vente.
- Correspondances. Définissez la table de correspondance, les codes articles, les comptes comptables des factures, les paramètres fiscaux par défaut et les règles désignant le système maître des données.
- Chargement initial. Contacts, articles, commandes fournisseurs en cours et devis acceptés.
- Modèle de production. Définissez dans SkyPlanner les postes de travail, les opérations par produit, les horaires des équipes, la matrice des temps de réglage, les outils et les effectifs d’opérateurs.
- Synchronisation. Utilisez des webhooks pour les contacts et les factures, une interrogation périodique avec
If-Modified-Sincepour les devis, les articles et les commandes fournisseurs, ainsi qu’un rapprochement chaque nuit. - Écriture dans Xero. Commencez par les notes des devis, puis les brouillons de factures et le statut des devis, et enfin les temps passés sur les projets si vous les utilisez.
- Tests en parallèle et mise en service. Comparez les dates de SkyPlanner à votre planning actuel, faites vérifier les premiers brouillons de factures par votre comptable, puis activez l’écriture dans Xero.
Les points à prévoir pour une intégration avec Xero
- Xero ne gère pas d’objets de production. Conservez les opérations de chaque produit dans SkyPlanner, en les rattachant au code article Xero. Gardez des codes articles stables.
- Les devis n’ont pas de webhook. Interrogez-les à intervalles courts avec
If-Modified-Since, en respectant les limites par minute et par jour. - Les devis acceptés sont verrouillés. Après acceptation, seules les coordonnées du contact et les notes peuvent être modifiées. La date promise est donc lue une seule fois, à l’acceptation, et la date planifiée est inscrite dans une note de l’historique.
- Les stocks évoluent avec les factures clients et fournisseurs. Pour les articles suivis en stock, Xero met à jour la quantité en stock à partir des factures de vente, des factures fournisseurs et des avoirs. Définissez avec votre comptable comment comptabiliser les produits finis et les matières consommées.
- La saisie des temps de projet nécessite un utilisateur Xero. Chaque saisie de temps est rattachée à un utilisateur Xero. Déterminez quels opérateurs transmettent leurs temps à Xero Projects et conservez les autres saisies dans SkyPlanner.
- Autorisations granulaires. Demandez des autorisations granulaires dès le départ, car les autorisations à portée étendue sont en cours de suppression.
- Niveau de l’application. Le niveau partenaire détermine le nombre d’organisations qu’une application peut connecter et le nombre d’appels dont elle dispose par jour. Choisissez ce niveau en fonction du nombre d’usines.
Intégration avec Xero : qui la configure et en assure le support ?
La configuration de l’intégration porte sur vos articles, vos devis, vos commandes fournisseurs et la manière dont les travaux terminés passent à la facturation. Elle comprend aussi les éléments que Xero ne gère pas : postes de travail, opérations, horaires des équipes, matrice des temps de réglage, outils, effectifs d’opérateurs et ressources de remplacement.
- L’équipe SkyPlanner configure l’intégration pendant l’accompagnement initial et en assure le support après la mise en service. Chaque atelier configure différemment ses articles, ses devis et ses stocks dans Xero. Ce savoir-faire est pris en compte à cette étape.
- Votre conseiller Xero ou votre partenaire d’intégration peut la développer. SkyPlanner fournit la REST API, la documentation Swagger/OpenAPI et les webhooks.
- Vos propres développeurs peuvent s’appuyer sur ces outils avec un jeton API. Un jeton API suffit pour commencer, et l’équipe SkyPlanner vous aide si nécessaire. La documentation du produit, notamment sur les commandes fournisseurs et l’API des produits et des matières, est disponible dans la documentation SkyPlanner.
SkyPlanner est proposé à partir de 199 € par mois, avec 5 postes de travail inclus et une facturation mensuelle. L’intégration fait l’objet d’un devis préalable adapté à vos processus et à vos besoins, en même temps que votre abonnement : vous connaissez ainsi le coût total avant de commencer. Consultez les tarifs, les fonctionnalités et les possibilités de Xero seul dans Xero propose-t-il l’ordonnancement de la production ? Vous trouverez une vue d’ensemble sur la page Xero et les autres systèmes dans toutes les intégrations.
Avis d’industriels sur SkyPlanner
2 hgagnées chaque semaine
« Avec SkyPlanner, notre planification de la production est passée des feuilles de calcul Excel à l’optimisation de la production en temps réel. »
Kalle Kalliomäki, spécialiste de la chaîne logistique
UTU · Tableaux et appareillages électriques
La planification de la production permet de gagner 2 heures de travail chaque semaine, et une nouvelle file d’opérations est transmise à la ligne en quelques secondes.
+90 %d’efficacité en production
« L’efficacité en production a augmenté de 90 %. »
Abdul Rucyinga, responsable informatique
Laboratory & Allied · Fabrication pharmaceutique
L’efficacité en production a augmenté de 90 %, et la création d’un planning optimisé sur trois mois pour tous les postes de travail prend moins de 30 minutes.
Moinsd’arrêts dus aux ruptures de matières
« La valeur de SkyPlanner pour nous, c’est de disposer d’un outil efficace au quotidien, notamment pour fixer les dates de livraison. »
Tommi Männistö, responsable de la planification de la production
Eskomatic · Usinage en sous-traitance
L’ordonnancement automatique de la charge permet de fixer des dates de livraison plus précises, et les arrêts de production dus aux ruptures de matières ont fortement diminué.
1 000 et plusordres de fabrication ordonnancés automatiquement
« Nous maîtrisons la production d’une tout autre manière, et notre compréhension de la capacité a complètement changé de dimension. »
Hannu Ryynänen, directeur général
Mamec · Mélangeurs industriels, pompes et fabrication de haute technologie en sous-traitance
Des milliers d’ordres de fabrication sont ordonnancés automatiquement, et toute l’entreprise dispose d’une vue en temps réel de la production.
FAQ
Xero dispose-t-il d’une API pour les données de production ?
Xero propose l’Accounting API et la Projects API, toutes deux de type REST avec OAuth 2.0. Elles couvrent les contacts, les articles, les devis, les factures, les commandes fournisseurs et les saisies de temps. Les données de production, comme les postes de travail et les opérations, sont gérées dans SkyPlanner.
SkyPlanner peut-il écrire des données dans Xero ?
Oui. SkyPlanner ajoute la date de fin planifiée à l’historique de chaque devis, crée un brouillon de facture de vente reprenant les lignes du devis lorsque la commande est terminée, fait passer le devis au statut Invoiced et transmet les saisies de temps des projets.
Xero transmet-il les modifications en temps réel ?
Les webhooks de Xero couvrent les contacts et les factures. SkyPlanner lit les devis, les articles et les commandes fournisseurs modifiés depuis la dernière synchronisation avec If-Modified-Since et effectue un rapprochement chaque nuit. Un nouveau devis accepté est ainsi rapidement intégré au planning.
D’où viennent les nomenclatures, les gammes de fabrication et les machines si Xero ne les gère pas ?
De SkyPlanner. Vous configurez une seule fois les postes de travail, les opérations par produit, les horaires des équipes et les temps de réglage, manuellement ou par import CSV ou Excel. Chaque produit est lié au code article Xero, ce qui permet d’ordonnancer automatiquement les nouveaux devis acceptés.
Peut-on tester SkyPlanner avant de développer l’intégration ?
Oui. L’essai gratuit de 30 jours permet d’utiliser jusqu’à 20 postes de travail avec un import CSV depuis Xero, sans carte bancaire. Démarrez l’essai ou contactez l’équipe commerciale pour définir le périmètre de l’intégration.