Integrationen / ERP / Microsoft Dynamics 365 Supply Chain Management
Microsoft Dynamics 365 Supply Chain Management Schnittstelle: Leitfaden für die Feinplanung mit SkyPlanner APS
Dieser Leitfaden zur Integration von Dynamics 365 Supply Chain Management zeigt Partnern und IT-Teams, wie sie Microsoft Dynamics 365 Supply Chain Management mit SkyPlanner APS verbinden. SkyPlanner tauscht Daten in beide Richtungen mit Dynamics 365 Supply Chain Management aus und nutzt dafür dessen Standarddatenentitäten:
- Produktionsaufträge, Arbeitsplanvorgänge, Einzelvorgänge, Stücklistenpositionen, Ressourcen, Kalender, freigegebene Produkte, Lagerbestände und Bestellpositionen werden eingelesen.
- Geplante Start- und Endzeiten sowie die gewählte Ressource werden in den Produktionsauftrag und seine Arbeitsplanvorgänge zurückgeschrieben.
- Die Arbeitsstunden der Bediener und die Mengen werden über die Arbeitsplanlistenerfassung zurückgemeldet.
- SkyPlanner-Webhooks übertragen Planänderungen, sobald sie auftreten.
Das SkyPlanner-Team richtet die Integration beim Onboarding passend zu Ihrer Supply Chain Management-Umgebung ein und betreut sie auch nach dem Produktivstart. Dieser Leitfaden richtet sich an Partner und Entwickler, die daran mitwirken oder selbst auf der dokumentierten REST API von SkyPlanner (API-Referenz) aufbauen möchten.
Integrationsmöglichkeiten für Dynamics 365 SCM
Supply Chain Management stellt seine Daten über Datenentitäten bereit. Für die Feinplanung sind vier Möglichkeiten relevant:
- OData v4 REST-Endpunkt. Über
[Your organization's root URL]/datalassen sich alle mit IsPublic gekennzeichneten Datenentitäten erstellen, lesen, aktualisieren und löschen. Unterstützt werden$filter,$count,$orderby,$skip,$top,$selectund$expandauf der ersten Ebene. Die Seiteneinteilung erfolgt serverseitig mit maximal 10.000 Datensätzen. Batchanfragen können Schreibvorgänge in Changesets bündeln. OData arbeitet synchron. (Quelle) - Batch data API. Die Data management package REST API und wiederkehrende Integrationen übertragen große Datenmengen asynchron. Microsoft: „If the volume is more than a few hundred thousand records, use the batch data API.“ (Wenn das Volumen mehr als einige Hunderttausend Datensätze umfasst, verwenden Sie die Batch data API.) Diese API wird auch bei On-Premises-Bereitstellungen unterstützt. (Quelle)
- Geschäftsereignisse. Finance and operations-Apps veröffentlichen Geschäftsereignisse über Azure Service Bus, Event Grid, HTTPS-Endpunkte oder Power Automate. (Quelle)
- Benutzerdefinierte Dienste und OData-Aktionen. Benutzerdefinierte X++-Dienste und gebundene OData-Aktionen führen Geschäftslogik bei Bedarf aus.
Die SkyPlanner-Integration nutzt den OData-Endpunkt für den täglichen Datenaustausch und die Batch data API für einen umfangreichen Erstimport. In Supply Chain Management wird nichts installiert.
Authentifizierung
Registrieren Sie eine Anwendung in Microsoft Entra ID (Dienstprinzipal). Ordnen Sie diese Anwendung in Supply Chain Management einem Benutzer mit den für die Integration erforderlichen Sicherheitsrollen zu. Die Integration liest Produktions-, Ressourcen- und Bestandsdaten und schreibt Planungsdaten für Produktionsaufträge sowie Erfassungen. Token werden mit Clientanmeldeinformationen bei Entra ID angefordert.
Zwei Regeln bestimmen, welche Daten die Integration sieht:
- Juristische Personen. OData liefert die Daten des Standardunternehmens, sofern die Anfrage nicht um
?cross-company=trueergänzt wird. Bei mehreren Standorten wird nachdataAreaIdgefiltert. - Öffentliche Namen. Die unten aufgeführten Entitätsnamen sind die Namen aus der Datenverwaltung. Die öffentlichen Namen der OData-Sammlungen können davon abweichen. Lesen Sie sie deshalb aus
/data/$metadataIhrer Umgebung aus.
Bei SkyPlanner erfolgt die Authentifizierung an der REST API über ein API-Token (SkyPlanner Settings > API). Die API ist in Swagger/OpenAPI dokumentiert. Die Integrationsanleitung führt Sie durch die ersten Aufrufe.
Datenzuordnung
| D365 SCM-Entität | SkyPlanner-Objekt | Richtung | Häufigkeit |
|---|---|---|---|
| Freigegebene Produkte (ItemNumber) | Produkte und Materialien | SCM → SkyPlanner | Erstimport, danach nur Änderungen |
| Produktionsstücklistenpositionen (ProdProductionOrderBillOfMaterialsLineEntity), Stücklistenpositionen | Produktstruktur, Materialien je Auftrag | SCM → SkyPlanner | Bei jeder Auftragssynchronisierung |
| Arbeitsplan, Arbeitsplanversionen, Arbeitsplanvorgänge, Vorgangseigenschaften (RouteOperationPropertiesV2Entity) | Prozessschritte mit Rüst- und Bearbeitungszeiten | SCM → SkyPlanner | Erstimport, danach bei Änderungen |
| Ressourcen (OpResOperationsResourceEntity), Ressourcengruppen, Fähigkeiten | Arbeitsstationen, Arbeitsstationsgruppen, Wirkungsgrade | SCM → SkyPlanner | Erstimport, danach selten |
| Arbeitszeitkalender, Kalendertage und Zeitintervalle, Kalenderzuordnungen | Schichten | SCM → SkyPlanner | Täglich; alternativ Schichtpflege in SkyPlanner |
| Produktionsauftragsköpfe (ProdProductionOrderHeaderEntity) | Aufträge mit Fälligkeitsterminen und Status | SCM → SkyPlanner | Alle paar Minuten oder bei einem Geschäftsereignis |
| Arbeitsplanvorgänge (ProdProductionOrderRouteOperationEntity), Einzelvorgänge (ProdProductionOrderRouteJobEntity) | Arbeitsgänge mit Dauer und Ressourcenanforderungen | SCM → SkyPlanner | Bei jeder Auftragssynchronisierung |
| Lagerbestand | Bestandsmengen | SCM → SkyPlanner | Stündlich oder bei einem Planungslauf |
| Bestellpositionen mit Lieferdatum | Eingehendes Material; Bestandsaktualisierung, sobald die Bestellung den Status Delivered erhält | SCM → SkyPlanner | Stündlich oder bei einem Planungslauf |
| Geplanter Start und geplantes Ende mit Datum und Uhrzeit sowie die Ressource jedes Arbeitsplanvorgangs | Geplanter Start, geplantes Ende und Arbeitsstation je Arbeitsgang | SkyPlanner → SCM | Bei Planänderungen über einen SkyPlanner-Webhook |
| Arbeitsplanlistenerfassung (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity) | Zeitbuchungen und Mengen | SkyPlanner → SCM | Je Rückmeldung oder je Schicht, falls gewählt |
| Konfiguration der Planungsrestriktionen in SkyPlanner | Rüstzeitmatrix, Werkzeuge als begrenzt verfügbare Ressourcen, Anzahl der Bediener, alternative Ressourcen | Pflege in SkyPlanner | Einrichtung beim Onboarding |
Integrationsabläufe
1. Erstimport der Stammdaten. Laden Sie Ressourcen, Ressourcengruppen, Kalender, freigegebene Produkte, Arbeitspläne und Stücklisten. Bei Hunderttausenden von Datensätzen verwenden Sie die Batch data API, ansonsten die OData-Seiteneinteilung. Ordnen Sie jede SCM-Ressource einer SkyPlanner-Arbeitsstation zu. Ordnen Sie nicht nur Ressourcengruppen zu: Die Grobterminierung belegt Gruppen, in der Fertigung wird jedoch mit einzelnen Ressourcen gearbeitet.
2. Auftragssynchronisierung. Lesen Sie umgewandelte Produktionsaufträge in den Status ein, für die SkyPlanner zuständig ist – üblicherweise Scheduled und Released –, einschließlich ihrer Arbeitsplanvorgänge, Einzelvorgänge und Stücklistenpositionen. Lesen Sie auch offene Bestellpositionen ein. SkyPlanner betrachtet bestelltes Material ab dem Lieferdatum der Bestellung als verfügbar und aktualisiert den Bestand, sobald die Bestellung den Status Delivered erhält.
Lassen Sie geplante Produktionsaufträge außen vor, sofern sie nicht ausdrücklich zum vereinbarten Umfang gehören. Planning Optimization erzeugt sie bei jedem Lauf neu.
3. Planungsdaten zurückschreiben. Für jeden Arbeitsgang, den die Planungsengine eingeplant oder verschoben hat, schreibt SkyPlanner den geplanten Start und das geplante Ende mit Datum und Uhrzeit sowie die Ressource in den Arbeitsplanvorgang. Dabei werden die Feldnamen aus /data/$metadata Ihrer Umgebung verwendet. Änderungen werden in OData-Batch-Changesets übertragen, sodass ein Planungslauf als eine konsistente Aktualisierung ankommt.
4. Rückmeldungen aus der Fertigung. Bediener erfassen ihre Arbeit mit SkyPlanner Mobile Confirmations oder dem Production Timer. Diese Zeitbuchungen halten den Plan aktuell. Stunden und Gutmengen können als Positionen der Arbeitsplanlistenerfassung zurückgemeldet werden. Die Fertigmeldung erfolgt weiterhin dort, wo Sie sie heute vornehmen: in SCM oder Production floor execution.
Legen Sie für jede Buchung einen einzigen Übertragungsweg fest. Werden dieselben Stunden sowohl aus SkyPlanner als auch aus Production floor execution erfasst, entstehen Doppelbuchungen.
5. Zuständigkeiten und Konfliktregeln. Halten Sie diese vor dem Produktivstart schriftlich fest:
| Daten | Führendes System |
|---|---|
| Produkte, Stücklisten, Arbeitspläne, Mengen, Auftragsstatus, Kostenkalkulation | Supply Chain Management |
| Geplante Produktionsaufträge | Planning Optimization |
| Reihenfolge der Arbeitsgänge, geplanter Start und geplantes Ende, Ressourcenzuordnung | SkyPlanner |
| Rüstzeitmatrix, Werkzeuge, Anzahl der Bediener, alternative Ressourcen | SkyPlanner |
| Schichten und Abwesenheiten | Ein System, festgelegt bei der Anforderungsaufnahme |
| Buchung von Stunden und Ausbringungsmengen | Supply Chain Management, auf Wunsch auf Basis der Zeiterfassungen aus SkyPlanner |
Die Hauptkonfliktquelle ist die eigene Feinterminierung von SCM. Wenn ein Planer einen Auftrag in SCM neu terminiert, werden die Termine aus SkyPlanner überschrieben. Verwenden Sie IsProductionOrderSchedulingLocked im Produktionsauftragskopf für Aufträge, für deren Planung SkyPlanner zuständig ist. Behandeln Sie jeden in SCM geänderten Auftrag als neue Version und synchronisieren Sie ihn erneut. Autopilot plant bei Änderungen in der Produktion automatisch neu.
Was zum Projekt gehört
Die Implementierung ist normalerweise innerhalb weniger Wochen nach Beginn des Onboardings abgeschlossen. Davor testen Sie SkyPlanner 30 Tage kostenlos mit Ihren eigenen Daten. Exportieren Sie Ressourcen, Arbeitspläne und offene Produktionsaufträge über ein Exportprojekt in der Datenverwaltung oder das Excel-Add-in. Importieren Sie diese als CSV- oder Excel-Dateien und prüfen Sie den Produktionsplan.
- Anforderungsaufnahme. Legen Sie die Zuordnungstabelle, die Auftragsstatus, in denen SkyPlanner die Planung übernimmt, die Synchronisierungsintervalle und den Buchungsweg fest.
- Zugriff. Registrieren Sie die Entra ID-Anwendung und ordnen Sie sie einem SCM-Benutzer zu, dessen Rollen nur die erforderlichen Berechtigungen enthalten. Prüfen Sie die öffentlichen Entitätsnamen unter
/data/$metadata. Zuerst in der Sandbox, dann in der Produktivumgebung. - Erstimport. Ressourcen, Kalender, freigegebene Produkte, Arbeitspläne und Stücklisten.
- Aufträge und Bestellungen synchronisieren. Geänderte Datensätze per Polling mit
$filterabfragen, ergänzt um Geschäftsereignisse, sofern Ihr Katalog diese enthält. - Restriktionen in SkyPlanner einrichten. Rüstzeitmatrix, Werkzeuge, benötigte Mitarbeiterzahl sowie alternative Maschinen oder Mitarbeiter.
- Planungsergebnisse zurückschreiben. Arbeitsplanvorgänge per Batch aktualisieren und die Terminierung für Aufträge sperren, deren Planung SkyPlanner übernimmt.
- Parallel testen. Lassen Sie SkyPlanner parallel zur aktuellen Planung laufen, vergleichen Sie die Termine und korrigieren Sie Stammdaten.
- Produktivstart. Aktivieren Sie das Zurückschreiben, sobald die Daten übereinstimmen.
Worauf Sie bei einer Integration mit Dynamics 365 SCM achten sollten
- Effizienz nicht doppelt berücksichtigen. SCM rechnet nach der Formel „Scheduling time = Time x 100 / Efficiency percentage.“ (Die Planungszeit ergibt sich aus der Zeit, multipliziert mit dem angegebenen Faktor und geteilt durch den Effizienzprozentsatz.) Übertragen Sie den Effizienzwert einmal auf die Effizienz der Arbeitsstation in SkyPlanner, nicht zusätzlich zu bereits angepassten Zeiten.
- Kalender sind Ressourcengruppen zugeordnet. Lesen Sie die Kalenderzuordnung je Ressourcengruppe und Ressource aus. Andernfalls weichen die Kapazitäten voneinander ab.
- Grobterminierung und Feinterminierung unterscheiden. Mit der Grobterminierung geplante Aufträge haben weder Start- und Enduhrzeiten noch eine konkrete Ressource. Synchronisieren Sie die Arbeitsplanvorgänge und Ressourcenanforderungen, nicht nur die Termine.
- Kennzeichen für begrenzte Kapazität beachten. Ressourcen, bei denen Finite capacity auf No gesetzt ist, können in SCM überbucht werden. Bilden Sie jede reale Kapazitätsgrenze in SkyPlanner als verbindliche Begrenzung ab.
- 32 Ressourcen pro Arbeitsgang. SCM begrenzt die Feinterminierung auf 32 Ressourcen pro Arbeitsgang. In SkyPlanner werden Alternativen über Arbeitsstationengruppen und alternative Arbeitsstationen abgebildet.
- Seitengröße und Datenmenge. OData liefert Seiten mit 10.000 Datensätzen und erweitert verknüpfte Daten um eine Ebene. Nutzen Sie für große Erstimporte die Batch-Daten-API.
- Juristische Personen. Ohne
cross-company=trueund Filter fürdataAreaIdwird bei einem Werk mit mehreren Gesellschaften nur die Standardgesellschaft synchronisiert.
Wer die Integration einrichtet
Zur Einrichtung gehören die Datenzuordnung zu Ihren Arbeitsplänen, Ressourcen und Ihrer SCM-Konfiguration sowie die Einrichtung der Restriktionen in SkyPlanner: Rüstzeitmatrix, Werkzeuge, benötigte Mitarbeiterzahl und alternative Ressourcen.
- Das SkyPlanner-Team richtet die Integration beim Onboarding ein und betreut sie nach dem Produktivstart. Das umfasst die SkyPlanner-Seite und die vereinbarten SCM-Datenentitäten. Jedes Werk nutzt D365 SCM anders. Dieses Wissen fließt in die Einrichtung ein.
- Ihr Dynamics-Partner kann mitwirken. Er kennt Ihre Konfiguration, Erweiterungen und Sicherheitsrollen und kann die Entra ID-Anwendung sowie den Zugriff auf die Entitäten einrichten. SkyPlanner stellt die REST API, die Swagger/OpenAPI-Dokumentation und Webhooks bereit.
- Ihre eigenen Entwickler können darauf aufbauen und dieselbe dokumentierte REST API mit einem API-Token nutzen. Für den Einstieg genügt ein API-Token. Das SkyPlanner-Team unterstützt Sie bei Bedarf.
Sobald die Verbindung steht, plant die Arcturus-Engine mit aktuellen Produktionsaufträgen aus SCM und schreibt die geplanten Termine in die Arbeitsplanvorgänge. SkyPlanner ist ab 199 € pro Monat mit 5 enthaltenen Arbeitsstationen erhältlich und wird monatlich abgerechnet. Sie erhalten vorab ein auf Ihre Abläufe und Anforderungen abgestimmtes Angebot für die Integration und Ihren Tarif. So kennen Sie die Gesamtkosten, bevor Sie starten.
Wie die eigene Planung von SCM im Vergleich abschneidet, lesen Sie unter Feinplanung in Dynamics 365 SCM. Einen Überblick bietet die Seite zu Dynamics 365 SCM. Weitere ERP-Systeme finden Sie in der Übersicht der ERP-Integrationen.
Erfahrungen von Fertigungsunternehmen mit SkyPlanner
2 hjede Woche eingespart
„SkyPlanner hat unsere Produktionsplanung von Excel-Tabellen zur Produktionsoptimierung in Echtzeit geführt.“
Kalle Kalliomäki, Supply-Chain-Spezialist
UTU · Elektrische Schalttafeln und Schaltanlagen
Die Produktionsplanung spart jede Woche 2 Stunden Arbeitszeit, und eine neue Auftragsreihenfolge erreicht die Fertigungslinie innerhalb von Sekunden.
+90%Produktionseffizienz
„Die Effizienz in der Produktion ist um 90% gestiegen.“
Abdul Rucyinga, IT-Leiter
Laboratory & Allied · Pharmazeutische Fertigung
Die Produktionseffizienz ist um 90% gestiegen. Ein optimierter Plan für drei Monate über alle Arbeitsstationen hinweg lässt sich in weniger als 30 Minuten erstellen.
100%Liefertreue seit 2021
„SkyPlanner verschafft uns einen Überblick über unsere Kapazitäten und macht die Planung berechenbar.“
Dan Berglund, COO/CFO
Opes Corporation · Chemie- und Lebensmittelproduktion
Seit SkyPlanner 2021 eingeführt wurde, liegt die Liefertreue durchgehend bei 100%.
Mehrere 1.000Fertigungsaufträge automatisch eingeplant
„Wir haben die Produktion ganz anders im Griff, und unser Verständnis der Kapazitäten ist auf einem völlig neuen Niveau.“
Hannu Ryynänen, Geschäftsführer
Mamec · Industriemischer, Pumpen und Hightech-Auftragsfertigung
Tausende Fertigungsaufträge werden automatisch eingeplant. Das gesamte Unternehmen hat dabei in Echtzeit Einblick in die Produktion.
Häufig gestellte Fragen
Welche API von D365 SCM nutzt die Integration?
Sie nutzt den OData v4 REST-Endpunkt unter /data. Er stellt alle öffentlichen Datenentitäten mit vollständigen Funktionen zum Erstellen, Lesen, Aktualisieren und Löschen bereit. Große Erstimporte erfolgen über die Batch-Daten-API. Geschäftsereignisse können als Auslöser nahezu in Echtzeit dienen, sofern sie in Ihrem Katalog vorhanden sind.
Müssen wir etwas in Supply Chain Management installieren?
Nein. Die Integration nutzt Standard-Datenentitäten über OData. Ihr Administrator registriert eine Microsoft Entra ID-Anwendung und ordnet sie einem SCM-Benutzer mit den erforderlichen Rollen zu.
Wie werden geplante Termine in Supply Chain Management zurückgeschrieben?
SkyPlanner schreibt die geplanten Start- und Endtermine einschließlich Uhrzeit sowie die Ressource des Arbeitsgangs über OData-Batch-Changesets in die Arbeitsplanvorgänge des Produktionsauftrags. Aufträge, deren Planung SkyPlanner übernimmt, werden mit IsProductionOrderSchedulingLocked geschützt.
Warum SkyPlanner anbinden, statt die Feinterminierung in SCM zu optimieren?
Planning Optimization berücksichtigt Kapazitätsgrenzen nur innerhalb des dafür festgelegten Zeitraums und plant darüber hinaus mit unbegrenzter Kapazität (Quelle). Die Feinterminierung in SCM plant jeweils einen Produktionsauftrag unter Berücksichtigung bereits reservierter Kapazitäten ein, wobei die Rüstzeit als Zeitbedarf des Arbeitsgangs berücksichtigt wird (Quelle). Microsoft rät zudem von einer Hauptplanung mit begrenzten Kapazitäten ab, wenn sich die Kapazität durch Schichten ändert (Quelle). SkyPlanner plant alle umgewandelten Aufträge gemeinsam und nutzt dabei eine Rüstzeitmatrix. Autopilot plant bei jeder relevanten Änderung automatisch neu. Das SkyPlanner-Team richtet die bidirektionale Integration ein und betreut sie. Ihr Dynamics-Partner kann die Verantwortung für die SCM-Seite übernehmen.
Soll SkyPlanner geplante Produktionsaufträge in die Feinplanung aufnehmen?
Normalerweise nicht. Planning Optimization erzeugt geplante Produktionsaufträge bei jedem Lauf neu. SkyPlanner übernimmt die Feinplanung für umgewandelte Produktionsaufträge in den Status, die bei der Anforderungsaufnahme vereinbart wurden.
Funktioniert die Integration mit einer On-Premises-Installation von Supply Chain Management?
Bei On-Premises-Installationen läuft die Integration über die Batch-Daten-API, die Microsoft dort unterstützt. Auf der SkyPlanner-Seite wird in beiden Fällen dieselbe REST API verwendet. Der Integrationsweg wird bei der Anforderungsaufnahme bestätigt.
Können wir SkyPlanner testen, bevor die Integration umgesetzt wird?
Ja. Mit dem kostenlosen 30-Tage-Test können Sie bis zu 20 Arbeitsstationen nutzen und Daten aus Supply Chain Management als CSV- oder Excel-Dateien importieren. Eine Kreditkarte ist nicht erforderlich. Starten Sie den Test oder kontaktieren Sie den Vertrieb, um die Anforderungen an die Integration aufzunehmen.