Integraties / ERP / Microsoft Dynamics 365 Supply Chain Management
Integratiegids voor Dynamics 365 Supply Chain Management voor productieschema’s met SkyPlanner APS
Deze integratiegids voor Dynamics 365 Supply Chain Management laat partners en IT-teams zien hoe ze Microsoft Dynamics 365 Supply Chain Management aan SkyPlanner APS koppelen. SkyPlanner wisselt in beide richtingen gegevens uit met Dynamics 365 Supply Chain Management via de standaardgegevensentiteiten:
- Productieorders, routebewerkingen, routetaken, stuklijstregels, productiemiddelen, kalenders, vrijgegeven producten, beschikbare voorraad en inkooporderregels worden ingelezen.
- De geplande begin- en eindtijden en het gekozen productiemiddel worden teruggeschreven naar de productieorder en de bijbehorende routebewerkingen.
- Operatoruren en aantallen worden via het routekaartjournaal teruggestuurd.
- SkyPlanner-webhooks geven wijzigingen in het productieschema direct door.
Het SkyPlanner-team stemt de integratie tijdens de onboarding af op uw inrichting van Supply Chain Management en biedt ook na de ingebruikname ondersteuning. Deze gids is bedoeld voor partners en ontwikkelaars die hieraan willen meewerken of zelf verder willen bouwen op de gedocumenteerde REST API van SkyPlanner (API-referentie).
Integratiemogelijkheden voor Dynamics 365 SCM
Supply Chain Management stelt gegevens beschikbaar via gegevensentiteiten. Voor het opstellen van productieschema’s zijn vier mogelijkheden van belang:
- OData v4 REST-endpoint. Via
[Your organization's root URL]/datais elke gegevensentiteit met de markering IsPublic beschikbaar voor aanmaken, lezen, bijwerken en verwijderen. Ondersteund worden$filter,$count,$orderby,$skip,$top,$selecten$expandop het eerste niveau. De server bepaalt de paginering, met maximaal 10.000 records. Batchverzoeken kunnen schrijfacties groeperen in changesets. OData werkt synchroon. (bron) - Batch data API. De Data management package REST API en terugkerende integraties verplaatsen grote hoeveelheden gegevens asynchroon. Microsoft: “If the volume is more than a few hundred thousand records, use the batch data API.” (Gebruik de batch data API bij meer dan enkele honderdduizenden records.) Dit is ook de API die on-premises wordt ondersteund. (bron)
- Business events. Finance and operations-apps publiceren business events naar Azure Service Bus, Event Grid, HTTPS-endpoints of Power Automate. (bron)
- Aangepaste services en OData-acties. Aangepaste X++-services en gebonden OData-acties voeren op verzoek bedrijfslogica uit.
De SkyPlanner-integratie gebruikt het OData-endpoint voor de dagelijkse gegevensuitwisseling en de batch data API voor een omvangrijke eerste import. Er wordt niets in Supply Chain Management geïnstalleerd.
Authenticatie
Registreer een toepassing in Microsoft Entra ID (service principal). Koppel die toepassing in Supply Chain Management aan een gebruiker met de beveiligingsrollen die de integratie nodig heeft. De integratie leest gegevens over productie, productiemiddelen en voorraad en schrijft zowel planningsgegevens voor productieorders als journalen. Tokens worden met client credentials aangevraagd bij Entra ID.
Twee regels bepalen welke gegevens de integratie kan zien:
- Rechtspersonen. OData retourneert gegevens van het standaardbedrijf, tenzij het verzoek
?cross-company=truebevat. Productiebedrijven met meerdere vestigingen filteren opdataAreaId. - Openbare namen. De onderstaande entiteitsnamen zijn de namen uit gegevensbeheer. De openbare namen van OData-collecties kunnen hiervan afwijken. Lees ze daarom uit
/data/$metadatavan uw omgeving.
De REST API van SkyPlanner gebruikt een API-token voor authenticatie (SkyPlanner Settings > API) en is gedocumenteerd in Swagger/OpenAPI. De integratiehandleiding leidt u door de eerste aanroepen.
Gegevensmapping
| D365 SCM-entiteit | SkyPlanner-object | Richting | Frequentie |
|---|---|---|---|
| Vrijgegeven producten (ItemNumber) | Producten en materialen | SCM → SkyPlanner | Eerste import, daarna alleen wijzigingen |
| Productiestuklijstregels (ProdProductionOrderBillOfMaterialsLineEntity), stuklijstregels | Productstructuur, materialen per order | SCM → SkyPlanner | Bij elke ordersynchronisatie |
| Route, routeversies, routebewerkingen, bewerkingseigenschappen (RouteOperationPropertiesV2Entity) | Processtappen met instel- en bewerkingstijden | SCM → SkyPlanner | Eerste import, daarna bij wijzigingen |
| Productiemiddelen (OpResOperationsResourceEntity), groepen productiemiddelen, capaciteiten | Werkcentra, werkcentrumgroepen, efficiënties | SCM → SkyPlanner | Eerste import, daarna zelden |
| Werktijdkalenders, kalenderdagen en tijdsintervallen, kalendertoewijzingen | Diensten | SCM → SkyPlanner | Dagelijks, of diensten beheren in SkyPlanner |
| Productieorderkoppen (ProdProductionOrderHeaderEntity) | Orders met leverdatums en status | SCM → SkyPlanner | Om de paar minuten of bij een business event |
| Routebewerkingen (ProdProductionOrderRouteOperationEntity), routetaken (ProdProductionOrderRouteJobEntity) | Taken met tijdsduur en vereiste productiemiddelen | SCM → SkyPlanner | Bij elke ordersynchronisatie |
| Beschikbare voorraad | Voorraadsaldi | SCM → SkyPlanner | Elk uur of bij het berekenen van het productieschema |
| Inkooporderregels met leverdatum | Binnenkomend materiaal; voorraad wordt bijgewerkt zodra de inkooporder de status Delivered krijgt | SCM → SkyPlanner | Elk uur of bij het berekenen van het productieschema |
| Geplande begin- en einddatum en -tijd en het productiemiddel van elke routebewerking | Gepland begin, einde en werkcentrum per bewerking | SkyPlanner → SCM | Bij wijziging van het productieschema, via een SkyPlanner-webhook |
| Routekaartjournaal (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity) | Tijdregistraties en aantallen | SkyPlanner → SCM | Per bevestiging of per dienst, indien hiervoor gekozen is |
| Instellingen voor planningsbeperkingen in SkyPlanner | Insteltijdmatrix, gereedschappen met beperkte beschikbaarheid, aantallen operators, alternatieve productiemiddelen | Beheerd in SkyPlanner | Ingericht tijdens de onboarding |
Integratiepatronen
1. Eerste import van stamgegevens. Importeer productiemiddelen, groepen productiemiddelen, kalenders, vrijgegeven producten, routes en stuklijsten. Gebruik de batch data API bij honderdduizenden records en anders OData-paginering. Koppel elk SCM-productiemiddel aan een SkyPlanner-werkcentrum. Koppel niet alleen de groepen: de bewerkingsplanning reserveert groepen, maar op de werkvloer wordt met afzonderlijke productiemiddelen gewerkt.
2. Ordersynchronisatie. Lees gefiatteerde productieorders in met de statussen waarvoor SkyPlanner verantwoordelijk is, doorgaans Scheduled en Released, inclusief hun routebewerkingen, routetaken en stuklijstregels. Lees ook openstaande inkooporderregels in. SkyPlanner beschouwt besteld materiaal als beschikbaar op de leverdatum van de inkooporder en werkt de voorraad bij zodra de inkooporder de status Delivered krijgt.
Neem geplande productieorders niet mee, tenzij ze expliciet binnen de scope vallen. Planning Optimization genereert ze bij elke run opnieuw.
3. Het productieschema terugschrijven. Voor elke bewerking die de engine heeft ingepland of verplaatst, schrijft SkyPlanner de geplande begin- en einddatum en -tijd en het productiemiddel naar de routebewerking. Daarbij gebruikt SkyPlanner de veldnamen uit /data/$metadata van uw omgeving. Wijzigingen worden verstuurd in OData-batchchangesets, zodat elke berekening van het productieschema als één consistente update wordt verwerkt.
4. Terugmeldingen van de werkvloer. Operators registreren hun werk met SkyPlanner Mobile Confirmations of de Production Timer. De tijdregistraties houden het productieschema actueel. Uren en aantallen goedgekeurde producten kunnen worden teruggestuurd als routekaartjournaalregels. Gereedmelden blijft plaatsvinden waar u dat nu doet: in SCM of Production floor execution.
Kies voor elke boeking één kanaal. Als u dezelfde uren vanuit zowel SkyPlanner als Production floor execution registreert, worden ze dubbel geboekt.
5. Verantwoordelijkheden en conflictregels. Leg deze vóór de ingebruikname vast:
| Gegevens | Verantwoordelijk systeem |
|---|---|
| Producten, stuklijsten, routes, aantallen, orderstatus, kostprijsberekening | Supply Chain Management |
| Geplande productieorders | Planning Optimization |
| Volgorde van bewerkingen, gepland begin en einde, toewijzing van productiemiddelen | SkyPlanner |
| Insteltijdmatrix, gereedschappen, aantallen operators, alternatieve productiemiddelen | SkyPlanner |
| Diensten en afwezigheden | Eén systeem, gekozen tijdens de scopebepaling |
| Boeken van uren en geproduceerde aantallen | Supply Chain Management, desgewenst op basis van tijdregistraties uit SkyPlanner |
De taakplanning van SCM zelf is de belangrijkste bron van conflicten. Als een planner een order in SCM opnieuw inplant, worden de datums van SkyPlanner overschreven. Gebruik IsProductionOrderSchedulingLocked op de productieorderkop voor orders waarvan SkyPlanner de planning beheert. Behandel elke order die in SCM is gewijzigd als een nieuwe versie en synchroniseer deze opnieuw. Autopilot plant automatisch opnieuw wanneer de productie verandert.
Wat het project omvat
De implementatie is doorgaans binnen enkele weken na de start van de onboarding afgerond. Daarvoor kunt u tijdens de gratis proefperiode van 30 dagen met uw eigen gegevens werken. Exporteer productiemiddelen, routes en openstaande productieorders met een exportproject in gegevensbeheer of de Excel-invoegtoepassing, importeer ze als CSV of Excel en valideer het productieschema.
- Scopebepaling. Leg de mappingtabel, de statussen die SkyPlanner beheert, de synchronisatiefrequenties en het kanaal voor boekingen vast.
- Toegang. Registreer de Entra ID-toepassing, koppel deze aan een SCM-gebruiker met rollen die alleen de minimaal benodigde rechten geven en controleer de openbare entiteitsnamen in
/data/$metadata. Eerst in de sandbox, daarna in de productieomgeving. - Initiële gegevensimport. Productiemiddelen, kalenders, vrijgegeven producten, routes en stuklijsten.
- Orders en inkooporders synchroniseren. Vraag gewijzigde records periodiek op met
$filteren gebruik daarnaast business events waar uw catalogus die biedt. - Beperkingen instellen in SkyPlanner. Omsteltijdenmatrix, gereedschappen, aantallen operators en alternatieve machines of medewerkers.
- Het productieschema terugschrijven. Werk routebewerkingen in batches bij en vergrendel de planning van orders die SkyPlanner beheert.
- Parallel testen. Laat SkyPlanner naast de huidige planning draaien, vergelijk de datums en corrigeer de stamgegevens.
- Ingebruikname. Schakel het terugschrijven in zodra de gegevens overeenkomen.
Aandachtspunten bij een integratie met Dynamics 365 SCM
- Efficiëntie kan dubbel worden verrekend. SCM rekent met “Scheduling time = Time x 100 / Efficiency percentage.” (De planningstijd is de tijd gedeeld door het efficiëntiepercentage, uitgedrukt als factor.) Koppel de efficiëntie één keer aan de efficiëntie van het werkcentrum in SkyPlanner, niet boven op tijden die al zijn aangepast.
- Kalenders zijn gekoppeld aan groepen productiemiddelen. Lees de kalendertoewijzing per groep en per productiemiddel uit, anders gaat de capaciteit afwijken.
- Bewerkingsplanning tegenover taakplanning. Orders die met bewerkingsplanning zijn ingepland, hebben geen begin- en eindtijden en geen specifiek productiemiddel. Synchroniseer de routebewerkingen en de vereisten voor productiemiddelen, niet alleen de datums.
- Instellingen voor capaciteitsbeperkingen. Productiemiddelen waarbij Finite capacity is ingesteld op No kunnen in SCM worden overboekt. Leg elke werkelijke capaciteitsbeperking vast in SkyPlanner, zodat de planning er rekening mee houdt.
- 32 productiemiddelen per bewerking. SCM beperkt de taakplanning tot 32 productiemiddelen per bewerking. In SkyPlanner legt u alternatieven vast in werkcentrumgroepen en alternatieve werkcentra.
- Paginering en gegevensvolume. OData gebruikt pagina’s van 10.000 records en haalt gerelateerde gegevens tot één niveau diep op. Gebruik de batch data API voor grote initiële gegevensimports.
- Rechtspersonen. Zonder
cross-company=trueen filters opdataAreaIdsynchroniseert een fabriek die met meerdere bedrijven werkt alleen het standaardbedrijf.
Wie configureert de integratie?
Het werk omvat het afstemmen van de gegevenskoppelingen op uw routes, productiemiddelen en SCM-inrichting, plus het instellen van de beperkingen in SkyPlanner: de omsteltijdenmatrix, gereedschappen, aantallen operators en alternatieve productiemiddelen.
- Het SkyPlanner-team configureert de integratie tijdens de onboarding en biedt ondersteuning na ingebruikname, zowel voor SkyPlanner als voor de afgesproken SCM-gegevensentiteiten. Elke fabriek gebruikt D365 SCM anders. Die praktijkkennis komt hier van pas.
- Uw Dynamics-partner kan meewerken. De partner kent uw configuratie, uitbreidingen en beveiligingsrollen en kan de Entra ID-toepassing en de toegang tot entiteiten instellen. SkyPlanner levert de REST API, Swagger/OpenAPI-documentatie en webhooks.
- Uw eigen ontwikkelaars kunnen hierop voortbouwen met dezelfde gedocumenteerde REST API en een API-token. Een API-token is voldoende om te beginnen. Het SkyPlanner-team helpt waar nodig.
Zodra de koppeling actief is, plant de Arcturus-engine op basis van actuele productieorders uit SCM en worden de geplande datums vastgelegd op de routebewerkingen. SkyPlanner is beschikbaar vanaf 199 € per maand, inclusief 5 werkcentra, met maandelijkse facturering. U ontvangt vooraf een offerte voor de integratie, afgestemd op uw proces en behoeften, samen met uw abonnement. Zo kent u de totale kosten voordat u begint.
Lees hoe de eigen planning van SCM zich verhoudt tot SkyPlanner in capaciteitsplanning in Dynamics 365 SCM. Het overzicht vindt u op de Dynamics 365 SCM-pagina. Andere ERP-systemen vindt u in het overzicht van ERP-integraties.
Ervaringen van fabrikanten met SkyPlanner
2 uurbespaard per week
“Dankzij SkyPlanner zijn we voor onze productieplanning overgestapt van Excel-spreadsheets naar realtime productieoptimalisatie.”
Kalle Kalliomäki, supplychainspecialist
UTU · Elektrische verdeelkasten en schakelapparatuur
De productieplanning bespaart elke week 2 uur werktijd en een nieuwe werklijst bereikt de productielijn binnen enkele seconden.
+90%productie-efficiëntie
“De efficiëntie in de productie is met 90% gestegen.”
Abdul Rucyinga, hoofd IT
Laboratory & Allied · Farmaceutische productie
De productie-efficiëntie is met 90% gestegen. Een geoptimaliseerde planning voor drie maanden voor alle werkcentra is in minder dan 30 minuten klaar.
100%leverbetrouwbaarheid sinds 2021
“SkyPlanner geeft ons inzicht in de capaciteit en maakt de planning voorspelbaar.”
Dan Berglund, COO/CFO
Opes Corporation · Chemische productie en voedingsmiddelenproductie
De leverbetrouwbaarheid bedraagt 100% sinds SkyPlanner in 2021 in gebruik werd genomen.
1.000-tallenwerkorders automatisch ingepland
“We hebben op een andere manier grip op de productie en ons inzicht in de capaciteit staat op een heel ander niveau.”
Hannu Ryynänen, CEO
Mamec · Industriële mengers, pompen en hightechproductie in opdracht
Duizenden werkorders worden automatisch ingepland en de hele organisatie heeft realtime inzicht in de productie.
Veelgestelde vragen
Welke API van D365 SCM gebruikt de integratie?
Het OData v4 REST-endpoint op /data. Dit ontsluit alle openbare gegevensentiteiten en ondersteunt het aanmaken, lezen, bijwerken en verwijderen ervan. Grote initiële gegevensimports verlopen via de batch data API. Bedrijfsgebeurtenissen voegen vrijwel realtime triggers toe waar uw catalogus die biedt.
Moeten we iets installeren in Supply Chain Management?
Nee. De integratie gebruikt standaardgegevensentiteiten via OData. Uw beheerder registreert een Microsoft Entra ID-toepassing en koppelt deze aan een SCM-gebruiker met de benodigde rollen.
Hoe worden geplande datums teruggeschreven naar Supply Chain Management?
SkyPlanner schrijft de geplande begin- en einddatum en -tijd en het productiemiddel voor de bewerking via OData batch changesets naar de routebewerkingen van de productieorder. Orders waarvan SkyPlanner de planning beheert, worden beschermd met IsProductionOrderSchedulingLocked.
Waarom SkyPlanner koppelen in plaats van de taakplanning van SCM te verfijnen?
Planning Optimization houdt alleen binnen de tijdshorizon voor eindige capaciteit rekening met capaciteitsgrenzen. Daarbuiten plant het met onbeperkte capaciteit (bron). De taakplanning van SCM plant telkens één productieorder in rond de al gereserveerde capaciteit, waarbij de insteltijd bij de bewerking wordt meegerekend (bron). Microsoft raadt hoofdplanning met eindige capaciteit af wanneer de capaciteit door ploegendiensten verandert (bron). SkyPlanner plant alle gefiatteerde orders samen met een omsteltijdenmatrix. Autopilot plant automatisch opnieuw bij elke relevante wijziging. Het SkyPlanner-team configureert en ondersteunt de tweerichtingsintegratie. Uw Dynamics-partner kan de SCM-kant beheren.
Moet SkyPlanner geplande productieorders inplannen?
Doorgaans niet. Planning Optimization genereert de geplande productieorders bij elke uitvoering opnieuw. SkyPlanner plant gefiatteerde productieorders in met de statussen die tijdens de scopebepaling zijn afgesproken.
Werkt de integratie met on-premises Supply Chain Management?
Bij on-premises implementaties verloopt de integratie via de batch data API, die Microsoft daar ondersteunt. Aan de SkyPlanner-kant wordt in beide gevallen dezelfde REST API gebruikt. De aanpak wordt tijdens de scopebepaling bevestigd.
Kunnen we SkyPlanner testen voordat we de integratie bouwen?
Ja. Tijdens de gratis proefperiode van 30 dagen kunt u met maximaal 20 werkcentra werken en gegevens uit Supply Chain Management importeren via CSV of Excel. Een creditcard is niet nodig. Start de proefperiode of neem contact op met sales om de scope van de integratie te bepalen.