Intégrations / ERP / Fulcrum
Guide d’intégration de Fulcrum pour l’ordonnancement de la production avec SkyPlanner APS
Ce guide explique aux consultants et aux équipes informatiques comment connecter Fulcrum (Fulcrum Pro) à SkyPlanner APS. SkyPlanner échange des données avec Fulcrum dans les deux sens via Fulcrum Public API :
- SkyPlanner importe les ordres de production avec leurs articles à fabriquer et leurs opérations, les gammes de fabrication des articles, les postes de charge, les équipements, les horaires des équipes par service, les périodes d’arrêt, les stocks et les commandes d’achat.
- Le début prévu, la fin prévue et le poste de travail sont inscrits dans les champs personnalisés de chaque opération de l’ordre de production.
- Les temps des opérateurs et les quantités réalisées sont renvoyés à Fulcrum sous forme de chronométrages et de mises à jour des quantités.
- Les webhooks SkyPlanner transmettent les modifications du planning dès qu’elles surviennent.
Lors de la mise en place, l’équipe SkyPlanner adapte l’intégration à votre configuration Fulcrum, puis en assure le support après la mise en production. Ce guide s’adresse aux consultants et aux développeurs qui souhaitent y participer ou développer eux-mêmes une solution à partir de la REST API documentée de SkyPlanner (référence de l’API).
Fulcrum Public API
Fulcrum est un produit cloud multitenant unique : tous les clients utilisent donc la même API. Le portail développeur la décrit comme une API publique permettant des « REST API calls directly into your Fulcrum site. » (appels REST API directement vers votre instance Fulcrum).
- Spécification. OpenAPI « Fulcrum PublicAPI » v1, téléchargeable à l’adresse
https://api.fulcrumpro.com/swagger/v1/swagger.json. Fulcrum conseille de générer un client typé à partir de cette spécification. La page History répertorie chaque modification avec sa date. - Hôtes.
https://api.fulcrumpro.compour les instances standard. Les instances ITAR utilisentapi.fulcrumpro.us; les jetons ITAR reçoivent une réponse 401 sur l’hôte .com. - Conventions. Les listes s’obtiennent par
POST .../list, avec les filtres dans le corps de la requête, une pagination parSkipetTake, et un tri parSort.Field/Sort.Dir. De nombreux objets acceptent PUT ; les ordres de production acceptent aussi JSON Patch.
Points de terminaison utilisés pour l’intégration de l’ordonnancement :
| Domaine | Points de terminaison |
|---|---|
| Articles et gammes de fabrication | /api/items, /api/items/{itemId}/routing, /routing/operations, /routing/input-items, /routing/input-materials |
| Configuration de l’atelier | /api/work-centers, /api/equipment, /api/operations, /api/department-shifts, /api/equipment-downtimes |
| Ordres de production | /api/jobs, /api/jobs/{jobId}/items-to-make/{itemToMakeId}/operations, /api/work-orders |
| Matières | /api/inventory, /api/materials, /api/purchase-orders, /api/reporting/material-requirements/list |
| Atelier | /api/job-tracking-timers/start et /stop, /api/timers, .../operations/{operationId}/add-quantity-completed, .../complete |
La page des intégrations de Fulcrum est claire sur le travail à prévoir : « Every system is a little bit different and requires some configuration. » (Chaque système est un peu différent et nécessite une configuration.) C’est précisément cette configuration que l’équipe SkyPlanner prend en charge lors de la mise en place.
Authentification
Fulcrum utilise un jeton Bearer dans l’en-tête Authorization. « A public API token can be generated within your fulcrum site via Business Setup -> System Data -> Public Api. » (Vous pouvez générer un jeton d’API publique dans votre instance Fulcrum via Business Setup -> System Data -> Public Api.) Chaque jeton possède un nom, une description et une date d’expiration. Vous pouvez en créer autant que nécessaire et révoquer un jeton en le supprimant. Attribuez un jeton propre à l’intégration SkyPlanner et programmez un rappel avant son expiration.
Côté SkyPlanner, la REST API utilise un jeton d’API 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.
Événements et interrogation périodique
Fulcrum prend en charge les webhooks, configurés par un administrateur. Depuis septembre 2026, les webhooks en échec sont mis en pause puis retestés chaque jour, au lieu de faire l’objet de tentatives sans fin. La page History de l’API mentionne notamment les événements PurchaseOrderUpdated et ItemUpdated.
L’intégration récupère les données de Fulcrum selon les modalités suivantes :
- Les ordres de production ouverts sont interrogés à quelques minutes d’intervalle, avec un filtre sur
scheduledetinProgresset la conditionhasIncompleteOperations: true. C’est le filtre fourni par Fulcrum pour retrouver les données de sa page d’ordonnancement. - Les commandes d’achat et les stocks sont récupérés avant chaque calcul du planning, ou à réception d’un webhook
PurchaseOrderUpdatedsi celui-ci est configuré. - Les articles, les gammes de fabrication, les équipements et les horaires des équipes sont récupérés à chaque modification ou chaque nuit.
Dans l’autre sens, les webhooks de SkyPlanner transmettent les modifications du planning dès qu’elles surviennent. Le renvoi des données vers Fulcrum repose donc sur les événements.
Correspondance des données
| Objet Fulcrum (point de terminaison) | Objet SkyPlanner | Sens | Fréquence |
|---|---|---|---|
Item, Materials (/api/items, /api/materials) | Produits et matières | Fulcrum → SkyPlanner | Chargement initial, puis chaque nuit |
Articles et matières consommés dans la gamme de fabrication (/routing/input-items, /input-materials) | Structure du produit, sous-ensembles, matières par produit | Fulcrum → SkyPlanner | Chargement initial, puis à chaque modification |
Opérations de la gamme de fabrication (/routing/operations) : setupTime, laborTime, machineTime (fixes ou par unité), selectedEquipmentIds | Étapes de fabrication, temps de préparation, durées, postes de travail autorisés | Fulcrum → SkyPlanner | Chargement initial, puis à chaque modification |
Work Center (/api/work-centers) | Groupe de postes de travail | Fulcrum → SkyPlanner | Chargement initial, puis rarement |
Equipment (/api/equipment) : unlimitedCapacity, canRunUnattended, status | Postes de travail, opérations par lots, fonctionnement sans surveillance | Fulcrum → SkyPlanner | Chargement initial, puis chaque jour pour le statut |
Department Shifts (/api/department-shifts), Equipment Downtimes | Horaires des équipes et absences | Fulcrum → SkyPlanner | Chargement initial, puis chaque jour |
Job et ses opérations (/api/jobs, .../items-to-make/{id}/operations) : priority, productionDueDate, earliestStartDate, estimations | Ordres et opérations | Fulcrum → SkyPlanner | Interrogation à quelques minutes d’intervalle |
| Inventory, Purchase Orders avec dates Expected Receive | Stocks et réceptions de matières à venir | Fulcrum → SkyPlanner | Avant chaque calcul du planning |
customFields de l’opération de l’ordre de production (POST .../operations/{operationId}) | Début prévu, fin prévue, poste de travail | SkyPlanner → Fulcrum | À chaque modification du planning, via un webhook SkyPlanner |
customFields de l’ordre de production (PUT /api/jobs/{jobId}/custom-fields) | Fin prévue de l’ordre de production | SkyPlanner → Fulcrum | À chaque modification du planning |
Chronométrages des ordres de production, /api/timers, add-quantity-completed, complete | Relevés de temps, quantités réalisées et rebutées | SkyPlanner → Fulcrum | Au fil des déclarations des opérateurs |
| Absent de Fulcrum | Opérateurs nominatifs, matrice des temps de préparation, outillages en quantité limitée, postes de travail de remplacement | Gérés dans SkyPlanner | Configurés lors de la mise en place |
Mécanismes d’intégration
1. Chargement initial des données de base. Récupérez les articles, les matières, les gammes de fabrication, les postes de charge et les équipements, puis les horaires des équipes par service et les périodes d’arrêt. Chaque poste de charge Fulcrum devient un groupe de postes de travail dans SkyPlanner, dont les membres sont ses équipements. Les équipements sélectionnés pour chaque opération de gamme deviennent les postes de travail autorisés pour cette opération. Les équipements Unlimited Capacity, tels que les fours et les cabines de peinture, sont modélisés sous forme d’opérations par lots.
2. Synchronisation des ordres. Récupérez les ordres de production ouverts avec leurs articles à fabriquer et leurs opérations, ainsi que les commandes d’achat ouvertes et les stocks. SkyPlanner considère les matières commandées comme disponibles à la date de livraison de la commande d’achat et met le stock à jour lorsque celle-ci passe au statut Delivered. À chaque recalcul du planning, les stocks et les achats à recevoir sont vérifiés.
3. Renvoi du planning vers Fulcrum. Fulcrum calcule lui-même scheduledStartUtc, scheduledEndUtc et scheduledEquipmentId et les renvoie en lecture seule. La mise à jour d’une opération accepte customFields. SkyPlanner inscrit le début prévu, la fin prévue et le poste de travail dans les champs personnalisés de chaque opération de l’ordre de production, ainsi que la fin prévue dans un champ personnalisé de cet ordre. Les équipes commerciales et achats voient les dates de SkyPlanner sur l’ordre de production dans Fulcrum.
4. Déclarations en atelier. Les opérateurs enregistrent leur travail dans SkyPlanner avec Mobile Confirmations, Production Timer ou Quick Log Mode. SkyPlanner transmet les temps à Fulcrum via /api/job-tracking-timers/start et /stop, ou envoie une période de travail déjà terminée via /api/timers. Les quantités sont transmises via add-quantity-completed, et le décompte final avec les rebuts via complete. Le calcul des coûts de fabrication dans Fulcrum reste à jour en temps réel.
5. Responsabilités et gestion des conflits. L’ordonnanceur de Fulcrum « dictates the order of operations in Job Tracking. » (impose l’ordre des opérations dans Job Tracking). Choisissez donc un seul canal de lancement par opération : la file de travail des opérateurs dans SkyPlanner ou Fulcrum Job Tracking. Formalisez les règles avant la mise en production :
| Données | Système responsable |
|---|---|
| Articles, gammes de fabrication, estimations, stocks, achats, calcul des coûts | Fulcrum |
| Ordre des opérations, heures de début et de fin, affectation aux postes de travail | SkyPlanner |
| Opérateurs, matrice des temps de réglage, outils, ressources de remplacement | SkyPlanner |
| Horaires d’équipe et arrêts | Un seul système, choisi lors du cadrage |
| Temps enregistrés et quantités réalisées | SkyPlanner, avec transmission à Fulcrum |
Les étapes types du projet
La mise en œuvre s’achève normalement en quelques semaines après le début de l’accompagnement. Au préalable, l’essai gratuit de 30 jours s’effectue avec vos propres données. Exportez les articles, les gammes de fabrication et les ordres de production ouverts depuis les tableaux de Fulcrum au format CSV, importez-les et validez le planning.
Le projet comprend ensuite les étapes suivantes :
- Jeton et périmètre. Créez un jeton Public API et convenez des champs personnalisés à utiliser pour le renvoi des données vers Fulcrum.
- Correspondances. Définissez la table de correspondance, les règles de responsabilité et le canal de lancement.
- Chargement initial. Articles, matières, gammes de fabrication, postes de charge, équipements, horaires d’équipe et arrêts.
- Synchronisation des ordres de production et des commandes fournisseurs. Interrogation incrémentale des ordres de production, avec récupération des commandes fournisseurs et des stocks.
- Paramétrage des contraintes dans SkyPlanner. Opérateurs et horaires d’équipe, matrice des temps de réglage, outils et postes de travail de remplacement.
- Renvoi des données. Champs personnalisés des opérations et des dossiers de fabrication.
- Transmission des déclarations d’atelier. Envoi des chronométrages et des quantités dans Fulcrum.
- Tests en parallèle et mise en production. Faites fonctionner SkyPlanner en parallèle du planning de Fulcrum, comparez les dates, corrigez les données de base, puis basculez le lancement des opérations.
Les points à prévoir pour une intégration avec Fulcrum
- Les effectifs sont pris en compte par équipe. Dans Fulcrum, le paramètre Max Equipment par équipe « is usually determined by how many people you have working in a certain area at that time. » (est généralement déterminé par le nombre de personnes travaillant dans une zone donnée à ce moment-là). Les opérateurs nommément identifiés et leurs horaires d’équipe sont configurés dans SkyPlanner. Les utilisateurs de
/api/usersfournissent les noms. - L’ordonnancement se fait sur les équipements. Les postes de charge de Fulcrum regroupent des équipements interchangeables. Veillez à l’exactitude des équipements sélectionnés dans la gamme de fabrication : ils constituent les options parmi lesquelles le moteur choisit.
- Les ordres de fabrication regroupent plusieurs dossiers. Un ordre de fabrication regroupe les opérations de plusieurs dossiers de fabrication, par exemple pour une imbrication. Démarrer un chronomètre sur une opération regroupée déclenche en fait celui de l’ordre de fabrication, qui couvre toutes les opérations du groupe.
- Limites des chronométrages. Les plages de temps saisies rétroactivement via
/api/timers« may not be in the future, older than 30 days, or longer than 7 days. » (ne doivent pas se situer dans le futur ni dépasser les limites d’ancienneté ou de durée indiquées). Transmettez les temps au fur et à mesure que les opérateurs les enregistrent. - Les formats horaires diffèrent. Les horaires d’équipe utilisent des valeurs HHmm en heure locale, les arrêts et les dates planifiées sont en UTC, et les estimations des opérations sont exprimées en secondes.
- La mise à jour d’un équipement remplace l’enregistrement entier. Une requête PUT sur un équipement efface tout champ qu’elle omet. SkyPlanner lit les équipements sans jamais les modifier.
- Sites ITAR. Utilisez l’hôte
.uset un jeton ITAR.
Intégration avec Fulcrum : qui la configure et en assure le support ?
Le travail consiste à établir les correspondances pour vos services, postes de charge, équipements et gammes de fabrication, ainsi qu’à configurer les contraintes absentes de Fulcrum : opérateurs nommément identifiés, matrice des temps de réglage, outils 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 production. Chaque atelier utilise Fulcrum différemment : ce savoir-faire est mis à profit à cette étape.
- Votre consultant Fulcrum 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 dessus. Un jeton API suffit pour démarrer, et l’équipe SkyPlanner apporte son aide si nécessaire. La documentation du produit, notamment sur les commandes fournisseurs et l’API des produits et matières, se trouve 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, présenté avec votre abonnement : vous connaissez ainsi le coût total avant de commencer. Consultez les tarifs, les fonctionnalités et la comparaison avec l’ordonnanceur de Fulcrum dans la page Ordonnancement à capacité finie dans Fulcrum. La page Fulcrum présente une vue d’ensemble, et les autres ERP figurent dans la rubrique des intégrations ERP.
Les avis des industriels sur SkyPlanner
2 hgagnées chaque semaine
« Avec SkyPlanner, notre planification de la production est passée des feuilles 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 liste d’opérations à exécuter parvient à 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 l’élaboration d’un planning optimisé sur trois mois pour l’ensemble des postes de travail prend moins de 30 minutes.
99,2%de respect des délais de livraison
« SkyPlanner nous a donné la visibilité nécessaire pour repérer les goulets d’étranglement et a clarifié le pilotage de la production. »
Toni Tuori, responsable de production
Piristeel · Sécurité des toitures et systèmes d’évacuation des eaux pluviales
Le taux de respect des délais de livraison a atteint 99,2 % cette année, et l’ordonnancement permet de gagner jusqu’à quatre heures de travail par jour.
98%de respect des délais de livraison, contre environ 50 % auparavant
« SkyPlanner joue un rôle décisif pour nous permettre de continuer à respecter nos délais de livraison. »
Hannu Lahtinen, directeur général
KJH-Comp · Tôlerie mécanique et fabrication en sous-traitance
Le taux de respect des délais de livraison est passé d’environ 50 % à un niveau pouvant atteindre 98 %, et l’ordonnancement ne mobilise désormais qu’un seul responsable au lieu de deux.
FAQ
Fulcrum dispose-t-il d’une API ?
Oui. La Fulcrum Public API est une REST API dotée d’une spécification OpenAPI v1. L’authentification repose sur un jeton Bearer généré dans Business Setup > System Data > Public Api. Les sites ITAR utilisent un hôte .us distinct.
SkyPlanner peut-il renvoyer le planning dans Fulcrum ?
Oui. Fulcrum conserve ses propres dates planifiées en lecture seule. SkyPlanner inscrit donc le début prévu, la fin prévue et le poste de travail dans les champs personnalisés de chaque opération du dossier de fabrication, ainsi que la fin prévue dans le dossier lui-même. Les temps des opérateurs et les quantités réalisées sont renvoyés sous forme de chronométrages et de mises à jour des quantités.
Fulcrum transmet-il les modifications en temps réel ?
Fulcrum dispose de webhooks configurés par l’administrateur, avec des événements tels que PurchaseOrderUpdated. Les dossiers de fabrication ouverts sont interrogés à intervalles de quelques minutes avec le même filtre que celui utilisé par Fulcrum pour sa page de planning. Les webhooks propres à SkyPlanner transmettent les modifications du planning dès qu’elles surviennent.
Qui développe l’intégration avec Fulcrum ?
L’équipe SkyPlanner configure l’intégration bidirectionnelle pendant l’accompagnement initial et en assure le support après la mise en production. Votre consultant Fulcrum, un partenaire d’intégration ou vos développeurs peuvent également s’appuyer sur la REST API documentée de SkyPlanner.
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 des imports CSV depuis Fulcrum, sans carte bancaire. Commencez l’essai ou contactez l’équipe commerciale pour cadrer l’intégration.