Intégrations / ERP / Microsoft Dynamics 365 Supply Chain Management
Guide d’intégration de Dynamics 365 Supply Chain Management pour l’ordonnancement de la production avec SkyPlanner APS
Ce guide d’intégration de Dynamics 365 Supply Chain Management explique aux partenaires et aux équipes informatiques comment relier Microsoft Dynamics 365 Supply Chain Management à SkyPlanner APS. L’intégration entre SkyPlanner et Dynamics 365 Supply Chain Management est bidirectionnelle et s’appuie sur les entités de données standard de ce dernier :
- SkyPlanner reçoit les ordres de fabrication, les opérations et les tâches de gamme, les lignes de nomenclature, les ressources, les calendriers, les produits lancés, le stock disponible et les lignes de commande fournisseur.
- Les horaires de début et de fin planifiés ainsi que la ressource choisie sont réécrits dans l’ordre de fabrication et ses opérations de gamme.
- Les heures des opérateurs et les quantités sont renvoyées via le journal des fiches de gamme.
- Les webhooks SkyPlanner transmettent les modifications du planning dès qu’elles surviennent.
L’équipe SkyPlanner configure l’intégration en fonction de votre environnement Supply Chain Management lors de la mise en place, puis en assure le support après la mise en production. Ce guide s’adresse aux partenaires et aux développeurs qui souhaitent y participer ou développer eux-mêmes une intégration à partir de la REST API documentée de SkyPlanner (référence de l’API).
Options d’intégration de Dynamics 365 SCM
Supply Chain Management expose ses données au moyen d’entités de données. Quatre options sont pertinentes pour l’ordonnancement :
- Point de terminaison REST OData v4.
[Your organization's root URL]/dataexpose toutes les entités de données marquées IsPublic et permet de les créer, de les lire, de les modifier et de les supprimer. Il prend en charge$filter,$count,$orderby,$skip,$top,$selectet$expandau premier niveau. La pagination est pilotée par le serveur, avec un maximum de 10 000 enregistrements, et les requêtes par lots permettent de regrouper les écritures dans des jeux de modifications. OData fonctionne en mode synchrone. (source) - API de données par lots. La Data management package REST API et les intégrations récurrentes transfèrent de gros volumes de manière asynchrone. Microsoft précise : « If the volume is more than a few hundred thousand records, use the batch data API. » (Si le volume dépasse quelques centaines de milliers d’enregistrements, utilisez l’API de données par lots.) C’est aussi l’API prise en charge pour les déploiements sur site. (source)
- Événements métier. Les applications Finance and operations publient des événements métier vers Azure Service Bus, Event Grid, des points de terminaison HTTPS ou Power Automate. (source)
- Services personnalisés et actions OData. Les services personnalisés X++ et les actions OData liées exécutent la logique métier à la demande.
L’intégration SkyPlanner utilise le point de terminaison OData pour les échanges quotidiens et l’API de données par lots pour un chargement initial volumineux. Rien n’est installé dans Supply Chain Management.
Authentification
Inscrivez une application dans Microsoft Entra ID (principal de service). Dans Supply Chain Management, associez cette application à un utilisateur doté des rôles de sécurité nécessaires à l’intégration. Celle-ci lit les données de production, de ressources et de stock, et écrit les données d’ordonnancement des ordres de fabrication ainsi que les journaux. Les jetons sont demandés à Entra ID à l’aide des informations d’identification du client.
Deux règles déterminent les données auxquelles l’intégration a accès :
- Entités juridiques. OData renvoie les données de la société par défaut, sauf si la requête inclut
?cross-company=true. Les usines multisites appliquent un filtre surdataAreaId. - Noms publics. Les noms d’entités ci-dessous sont ceux de la gestion des données. Les noms publics des collections OData peuvent différer : consultez-les dans
/data/$metadatasur votre environnement.
Côté SkyPlanner, l’authentification à la REST API utilise un jeton API (SkyPlanner Settings > API). L’API est documentée au format Swagger/OpenAPI. Le tutoriel d’intégration vous guide dans vos premiers appels.
Correspondance des données
| Entité D365 SCM | Objet SkyPlanner | Sens | Fréquence |
|---|---|---|---|
| Produits lancés (ItemNumber) | Produits et matières | SCM → SkyPlanner | Chargement initial, puis mises à jour incrémentales |
| Lignes de nomenclature de production (ProdProductionOrderBillOfMaterialsLineEntity), lignes de nomenclature | Structure du produit, matières par ordre | SCM → SkyPlanner | À chaque synchronisation des ordres |
| Gamme, versions de gamme, opérations de gamme, propriétés des opérations (RouteOperationPropertiesV2Entity) | Étapes de fabrication avec temps de réglage et d’exécution | SCM → SkyPlanner | Chargement initial, puis à chaque modification |
| Ressources (OpResOperationsResourceEntity), groupes de ressources, capacités | Postes de travail, groupes de postes de travail, rendements | SCM → SkyPlanner | Chargement initial, rarement ensuite |
| Calendriers de travail, jours et plages horaires des calendriers, affectations des calendriers | Équipes de travail | SCM → SkyPlanner | Chaque jour, ou gestion des équipes dans SkyPlanner |
| En-têtes des ordres de fabrication (ProdProductionOrderHeaderEntity) | Ordres avec dates d’échéance et statut | SCM → SkyPlanner | À intervalles de quelques minutes ou lors d’un événement métier |
| Opérations de gamme (ProdProductionOrderRouteOperationEntity), tâches de gamme (ProdProductionOrderRouteJobEntity) | Opérations avec durées et besoins en ressources | SCM → SkyPlanner | À chaque synchronisation des ordres |
| Stock disponible | Soldes de stock | SCM → SkyPlanner | Chaque heure ou à chaque calcul d’ordonnancement |
| Lignes de commande fournisseur avec date de livraison | Matières attendues ; mise à jour du stock lorsque la commande fournisseur passe au statut Delivered | SCM → SkyPlanner | Chaque heure ou à chaque calcul d’ordonnancement |
| Dates et heures de début et de fin planifiées et ressource de production de chaque opération de gamme | Début, fin et poste de travail planifiés pour chaque opération | SkyPlanner → SCM | À chaque modification du planning, via un webhook SkyPlanner |
| Journal des fiches de gamme (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity) | Relevés de temps et quantités | SkyPlanner → SCM | À chaque déclaration ou par équipe de travail, si cette option est retenue |
| Paramétrage des contraintes dans SkyPlanner | Matrice des temps de réglage, outils modélisés comme des ressources à capacité finie, effectifs d’opérateurs, ressources 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. Chargez les ressources, les groupes de ressources, les calendriers, les produits lancés, les gammes et les nomenclatures. Utilisez l’API de données par lots pour les volumes de plusieurs centaines de milliers d’enregistrements, et la pagination OData dans les autres cas. Associez chaque ressource SCM à un poste de travail SkyPlanner. Ne vous limitez pas aux groupes de ressources : la planification des opérations réserve des groupes, mais l’atelier travaille avec des ressources individuelles.
2. Synchronisation des ordres. Lisez les ordres de fabrication confirmés dont le statut relève de SkyPlanner, généralement Scheduled et Released, avec leurs opérations de gamme, leurs tâches de gamme et leurs lignes de nomenclature. Lisez également les lignes de commande fournisseur ouvertes. SkyPlanner considère les matières commandées comme disponibles à la date de livraison de la commande fournisseur et met le stock à jour lorsque celle-ci passe au statut Delivered.
Excluez les ordres de fabrication prévisionnels, sauf s’ils font explicitement partie du périmètre. Planning Optimization les régénère à chaque exécution.
3. Réécriture du planning. Pour chaque opération que le moteur a placée ou déplacée, SkyPlanner écrit les dates et heures de début et de fin planifiées ainsi que la ressource de production dans l’opération de gamme. Il utilise les noms de champs définis dans /data/$metadata sur votre environnement. Les modifications sont transmises dans des jeux de modifications OData par lots : chaque calcul d’ordonnancement produit ainsi une mise à jour cohérente.
4. Déclarations en atelier. Les opérateurs enregistrent leur travail avec SkyPlanner Mobile Confirmations ou Production Timer, et les relevés de temps maintiennent le planning à jour. Les heures et les quantités bonnes peuvent être renvoyées sous forme de lignes du journal des fiches de gamme. La déclaration de fin de fabrication reste effectuée là où vous la gérez aujourd’hui, dans SCM ou Production floor execution.
Choisissez un seul canal pour chaque comptabilisation. Enregistrer les mêmes heures depuis SkyPlanner et Production floor execution crée des doublons.
5. Responsabilité des données et règles de gestion des conflits. Consignez-les avant la mise en production :
| Données | Système responsable |
|---|---|
| Produits, nomenclatures, gammes, quantités, statut des ordres, calcul des coûts | Supply Chain Management |
| Ordres de fabrication prévisionnels | Planning Optimization |
| Séquencement des opérations, début et fin planifiés, affectation des ressources | SkyPlanner |
| Matrice des temps de réglage, outils, effectifs d’opérateurs, ressources de remplacement | SkyPlanner |
| Équipes de travail et absences | Un seul système, choisi lors du cadrage |
| Comptabilisation des heures et des quantités produites | Supply Chain Management, à partir des relevés de temps SkyPlanner si cette option est retenue |
La principale source de conflit est l’ordonnancement des tâches propre à SCM. Si un planificateur réordonnance un ordre dans SCM, les dates de SkyPlanner sont écrasées. Utilisez IsProductionOrderSchedulingLocked dans l’en-tête des ordres de fabrication dont SkyPlanner gère l’ordonnancement. Considérez tout ordre modifié dans SCM comme une nouvelle version et synchronisez-le à nouveau. Autopilot relance automatiquement l’ordonnancement lorsque la production évolue.
Ce que comprend le projet
La mise en œuvre s’achève généralement en quelques semaines après le début de l’accompagnement. Avant cette étape, l’essai gratuit de 30 jours vous permet de travailler avec vos propres données. Exportez les ressources, les gammes et les ordres de fabrication ouverts à l’aide d’un projet d’exportation de gestion des données ou du complément Excel, importez-les au format CSV ou Excel, puis validez le planning.
- Cadrage. Définissez la table de correspondance, les statuts gérés par SkyPlanner, les fréquences de synchronisation et le canal de comptabilisation.
- Accès. Inscrivez l’application Entra ID, associez-la à un utilisateur SCM doté de rôles limités aux privilèges nécessaires et vérifiez les noms des entités publiques dans
/data/$metadata. Procédez d’abord dans l’environnement de test, puis en production. - Chargement initial. Ressources, calendriers, produits lancés, gammes et nomenclatures.
- Synchronisation des ordres et des commandes fournisseur. Interrogation périodique des enregistrements modifiés avec
$filter, complétée par des événements métier lorsque votre catalogue en propose. - Paramétrage des contraintes dans SkyPlanner. Matrice des temps de réglage, outils, nombre d’opérateurs et machines ou personnel de remplacement.
- Réécriture du planning dans SCM. Mise à jour par lots des opérations de gamme et verrouillage de l’ordonnancement des ordres gérés par SkyPlanner.
- Tests en parallèle. Faites fonctionner SkyPlanner en parallèle du planning actuel, comparez les dates et corrigez les données de base.
- Mise en production. Activez la réécriture dans SCM une fois les données concordantes.
Les points à anticiper pour une intégration à Dynamics 365 SCM
- Éviter d’appliquer deux fois le rendement. SCM applique la formule « Scheduling time = Time x 100 / Efficiency percentage. » (Le temps d’ordonnancement est calculé en fonction du pourcentage de rendement.) Renseignez le rendement dans le paramètre correspondant du poste de travail SkyPlanner une seule fois, sans l’appliquer à des temps déjà ajustés.
- Les calendriers sont rattachés aux groupes de ressources. Récupérez les affectations de calendrier pour chaque groupe de ressources et chaque ressource, sinon la capacité sera faussée.
- Ordonnancement des opérations ou des tâches. Les ordres planifiés par ordonnancement des opérations n’ont ni heures de début et de fin, ni ressource précise. Synchronisez les opérations de gamme et les besoins en ressources, pas seulement les dates.
- Paramètres de capacité finie. Les ressources dont le champ Finite capacity est défini sur No peuvent être surchargées dans SCM. Modélisez chaque contrainte réelle comme une capacité finie dans SkyPlanner.
- 32 ressources par opération. SCM limite l’ordonnancement des tâches à 32 ressources par opération. Dans SkyPlanner, les solutions de remplacement sont définies dans les groupes de postes de travail et les postes de travail alternatifs.
- Pagination et volume. OData renvoie des pages de 10 000 enregistrements et permet l’expansion sur un seul niveau. Utilisez l’API de données par lots pour les chargements initiaux volumineux.
- Entités juridiques. Sans
cross-company=trueet sans filtresdataAreaId, seule la société par défaut est synchronisée pour une usine multisociété.
Qui configure l’intégration ?
Le travail comprend la mise en correspondance avec vos gammes, vos ressources et votre configuration SCM, ainsi que le paramétrage des contraintes dans SkyPlanner : matrice des temps de réglage, outils, nombre d’opérateurs et ressources de remplacement.
- L’équipe SkyPlanner configure l’intégration pendant l’accompagnement et en assure le support après la mise en production, pour la partie SkyPlanner et les entités de données SCM convenues. Chaque usine utilise D365 SCM différemment : ce savoir-faire est mis à profit à cette étape.
- Votre partenaire Dynamics peut participer. Il connaît votre configuration, vos extensions et vos rôles de sécurité, et peut configurer l’application Entra ID ainsi que l’accès aux entités. SkyPlanner fournit la REST API, la documentation Swagger/OpenAPI et les webhooks.
- Vos développeurs peuvent s’appuyer sur cette intégration en utilisant la même REST API documentée, avec un jeton API. Un jeton API suffit pour démarrer, et l’équipe SkyPlanner vous accompagne si nécessaire.
Une fois la connexion établie, le moteur Arcturus ordonnance les ordres de fabrication à jour de SCM, puis les dates calculées sont reportées sur les opérations de gamme. 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.
Pour comparer avec la planification native de SCM, consultez la page Ordonnancement à capacité finie dans Dynamics 365 SCM. Retrouvez la présentation générale sur la page Dynamics 365 SCM et les autres ERP dans la rubrique des intégrations ERP.
Les industriels témoignent sur SkyPlanner
2 hgagnées chaque semaine
« Avec SkyPlanner, nous sommes passés d’une planification de la production sur des feuilles Excel à une 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 est transmise à la ligne de production en quelques secondes.
+90 %d’efficacité en production
« L’efficacité en production a augmenté de 90 %. »
Abdul Rucyinga, responsable informatique
Laboratory & Allied · Industrie pharmaceutique
L’efficacité en production a augmenté de 90 %, et il faut moins de 30 minutes pour établir un planning optimisé sur trois mois couvrant tous les postes de travail.
100 %de respect des délais de livraison depuis 2021
« SkyPlanner nous donne de la visibilité sur la capacité et rend la planification prévisible. »
Dan Berglund, COO/CFO (directeur des opérations et directeur financier)
Opes Corporation · Industries chimique et agroalimentaire
Le taux de respect des délais de livraison est de 100 % depuis le début de l’utilisation de SkyPlanner, en 2021.
× 1 000ordres de fabrication ordonnancés automatiquement
« Nous maîtrisons la production autrement, et notre compréhension de la capacité a atteint un tout autre niveau. »
Hannu Ryynänen, directeur général
Mamec · Mélangeurs industriels, pompes et sous-traitance de haute technologie
Des milliers d’ordres de fabrication sont ordonnancés automatiquement, et toute l’organisation dispose d’une vue en temps réel de la production.
FAQ
Quelle API de D365 SCM l’intégration utilise-t-elle ?
Le point de terminaison REST OData v4 à l’adresse /data, qui expose toutes les entités de données publiques et permet leur création, leur lecture, leur mise à jour et leur suppression. Les chargements initiaux volumineux utilisent l’API de données par lots. Les événements métier ajoutent des déclencheurs en temps quasi réel lorsque votre catalogue en propose.
Faut-il installer quelque chose dans Supply Chain Management ?
Non. L’intégration utilise les entités de données standard via OData. Votre administrateur inscrit une application Microsoft Entra ID et l’associe à un utilisateur SCM disposant des rôles nécessaires.
Comment les dates d’ordonnancement sont-elles réécrites dans Supply Chain Management ?
SkyPlanner écrit les dates et heures de début et de fin calculées, ainsi que la ressource de l’opération, dans les opérations de gamme de l’ordre de fabrication, au moyen de jeux de modifications par lots OData. Les ordres dont SkyPlanner gère l’ordonnancement sont protégés par IsProductionOrderSchedulingLocked.
Pourquoi connecter SkyPlanner plutôt qu’ajuster l’ordonnancement des tâches de SCM ?
Planning Optimization ne tient compte de la capacité finie que dans l’horizon prévu à cet effet ; au-delà, il planifie à capacité infinie (source). L’ordonnancement des tâches de SCM place un ordre de fabrication à la fois en tenant compte de la capacité déjà réservée, le réglage étant défini comme un temps sur l’opération (source). Microsoft déconseille par ailleurs la planification générale à capacité finie lorsque les horaires des équipes font varier la capacité (source). SkyPlanner ordonnance tous les ordres confirmés ensemble, à l’aide d’une matrice des temps de réglage, et Autopilot relance automatiquement l’ordonnancement à chaque changement significatif. L’équipe SkyPlanner configure l’intégration bidirectionnelle et en assure le support ; votre partenaire Dynamics peut prendre en charge la partie SCM.
SkyPlanner doit-il ordonnancer les ordres de fabrication prévisionnels ?
En règle générale, non. Planning Optimization régénère les ordres de fabrication prévisionnels à chaque exécution. SkyPlanner ordonnance les ordres de fabrication confirmés dont les statuts ont été convenus lors du cadrage.
L’intégration fonctionne-t-elle avec Supply Chain Management déployé sur site ?
Pour les déploiements sur site, l’intégration passe par l’API de données par lots, prise en charge par Microsoft dans cet environnement. Côté SkyPlanner, la REST API reste la même dans les deux cas. Le mode de connexion est confirmé lors du cadrage.
Peut-on tester SkyPlanner avant de mettre en place l’intégration ?
Oui. L’essai gratuit de 30 jours permet d’utiliser jusqu’à 20 postes de travail avec des imports CSV ou Excel depuis Supply Chain Management, sans carte bancaire. Démarrez l’essai ou contactez l’équipe commerciale pour cadrer l’intégration.