Ansluter med ERP & MES-system som

Integrationer / ERP / Microsoft Dynamics 365 Business Central

Guide till Business Central-integration för produktionsplanering med SkyPlanner APS

Den här guiden visar Business Central-partner och IT-team hur Microsoft Dynamics 365 Business Central ansluts till SkyPlanner APS. SkyPlanner integreras med Business Central i båda riktningarna via Business Centrals egna webbtjänster:

  • Tillverkningsorder, operationsföljder, produktionsgrupper, artiklar och inköpsorder hämtas in.
  • Planerade start- och sluttider skrivs till Prod. Order Routing Lines.
  • Operatörernas tidregistreringar förs tillbaka för produktionsrapportering.
  • SkyPlanners webhooks skickar planändringar så snart de sker.
Gantt-tidslinje i SkyPlanner APS med operationer inplanerade på produktionsgrupper och en orderlista nedanför.

SkyPlanner-teamet konfigurerar integrationen efter er Business Central-miljö under införandet och ger support efter driftstart. Guiden vänder sig till partner och utvecklare som vill medverka eller själva bygga vidare på SkyPlanners dokumenterade REST API (API-referens).

Två standardgränssnitt i Business Central, ingen kod på Business Central-sidan

Integrationen använder två gränssnitt som redan ingår i Business Central:

  1. API v2.0 för affärs- och lagerdata. Det exponerar items, itemVariants, itemLedgerEntries, locations, unitsOfMeasure, salesOrders, salesOrderLines, purchaseOrders, purchaseOrderLines, vendors, customers och employees. Det saknar entiteter för tillverkning, så produktionsdata hämtas via det andra gränssnittet.
  2. OData v4-webbtjänster för tillverkning. Alla sidor i Business Central kan publiceras som OData v4-webbtjänster på sidan Web Services. Välj objekttypen Page, sidans ID och ett tjänstenamn och markera sedan Published. Då är ändpunkten aktiv, utan AL-kod eller något tillägg att driftsätta. Integrationen publicerar standardsidorna för frisläppta produktionsorder, Prod. Order Routing Lines, produktionsgrupper, maskingrupper och operationsföljder. De blir tillgängliga under /ODataV4/Company('{name}')/{ServiceName}.

Publicerade sidor stöder både läsning och skrivning. Microsoft skriver: ”If an editable page is exposed as a web service, the data in the underlying table can be accessed and modified by an OData call,” (om en redigerbar sida exponeras som en webbtjänst kan data i den underliggande tabellen läsas och ändras med ett OData-anrop). Uppdateringar görs med PATCH. Så förs planerade datum tillbaka till Business Central, via samma sida och med samma validering som en planerare använder.

Välj bort SOAP. Microsoft har markerat SOAP-webbtjänster som föråldrade, och möjligheten att publicera Microsofts gränssnittssidor som SOAP tas bort i 2026 release wave 2 (v29).

Autentisering

Använd OAuth 2.0 via Microsoft Entra ID med service-to-service-flödet (client credentials):

  • Registrera en app i Entra ID och tilldela den programbehörigheten API.ReadWrite.All för Dynamics 365 Business Central.
  • Begär token med omfånget https://api.businesscentral.dynamics.com/.default.
  • Öppna sidan Microsoft Entra Applications i Business Central, lägg till klient-ID:t, tilldela behörighetsuppsättningar med minsta nödvändiga behörighet och ge samtycke. SUPER kan inte tilldelas en S2S-app.

Bas-URL:er: https://api.businesscentral.dynamics.com/v2.0/{environment}/api/v2.0/companies({id})/{entity} för API v2.0 och https://api.businesscentral.dynamics.com/v2.0/{environment}/ODataV4/Company('{name}')/{ServiceName} för de publicerade sidorna. Samma token fungerar för båda.

Åtkomstnycklar för webbtjänster (basic auth) är föråldrade och stöds inte i Business Central online sedan oktober 2022. De kräver dessutom alltid en licensierad användare. OAuth kräver ingen licens för service-to-service-integrationer. Lokala installationer stöder S2S från versionerna 18.11 och 19.5, när servern har konfigurerats för Microsoft Entra-autentisering.

På SkyPlanner-sidan använder REST API:et JWT-autentisering och är dokumenterat i Swagger/OpenAPI. Integrationsguiden går igenom de första anropen.

Händelser, webhooks och pollning

Business Central stöder webhook-prenumerationer via POST /api/v2.0/subscriptions för API v2.0-entiteter som items och salesOrders. Följande regler gäller:

  • När en prenumeration skapas krävs en handskakning: din ändpunkt måste returnera validationToken med 200 OK.
  • Prenumerationerna löper ut efter tre dagar. Förnya med PATCH, så görs handskakningen om.
  • Aviseringarna innehåller resurssökvägen, changeType och ditt clientState, inte hela posten. Posten läser du in efteråt.
  • Aviseringarna är fördröjda: Business Central online väntar 30 sekunder efter den första ändringen. Om fler än 1 000 poster ändras under den tiden skickas de som en enda collection-avisering.
  • Högst 200 webhook-prenumerationer per onlinemiljö.

Produktionsorder, operationsrader och inköpsorder hämtas med några minuters mellanrum via de publicerade sidorna och purchaseOrders. Genom att filtrera på öppna order och använda sidindelning hålls antalet anrop väl inom gränserna i Business Central.

SkyPlanner skickar webhooks när status eller planeringen ändras, så återföringen av data är händelsestyrd.

Datamappning

Objekt i Business Central (gränssnitt)Objekt i SkyPlannerRiktningFrekvens
Item, Item Variant, Unit of Measure (items, itemVariants, unitsOfMeasure, API v2.0)Produkter och materialBC → SkyPlannerFörsta inläsning, därefter webhook eller polling av ändringar
Production BOM Header/Line, versioner med status Certified (publicerad sida)Produktstruktur, delprodukter, material per produktBC → SkyPlannerFörsta inläsning, därefter vid ändring
Routing Header/Line, versioner med status Certified (publicerad Routing-sida): Operation No., Setup, Run, Wait and Move Time, Concurrent Capacities, Send-Ahead QuantityProcessteg med varaktighet, ställtider och avrustningstiderBC → SkyPlannerFörsta inläsning, därefter vid ändring
Work Center, Machine Center: Capacity, Efficiency, Shop Calendar Code (publicerade sidor för Work Center och Machine Center)Produktionsgrupper, grupperingar av produktionsgrupper, effektivitetsgraderBC → SkyPlannerFörsta inläsning, därefter sällan
Shop Calendar, Work Shift, Calendar Entry, Absence (publicerade sidor)Skift, frånvaroBC → SkyPlannerDagligen, eller egna skift i SkyPlanner
Released Production Order, Prod. Order Line, Prod. Order Routing Line, Prod. Order Component (publicerade sidor; Firm Planned kan inkluderas)Order och operationer med slutdatum och materialbehovBC → SkyPlannerPolling med några minuters mellanrum
salesOrders, salesOrderLines (API v2.0)Leveransdatum till kund och underlag för prioriteringBC → SkyPlannerWebhook eller polling
itemLedgerEntries (API v2.0)LagersaldonBC → SkyPlannerPolling varje timme eller vid planeringskörning
purchaseOrders, purchaseOrderLines (API v2.0), Expected Receipt Date på radenInköpsorder / inkommande material med förväntat leveransdatum; lagret uppdateras när inköpsordern markeras som DeliveredBC → SkyPlannerPolling varje timme eller vid planeringskörning
Prod. Order Routing Line: Starting Date-Time, Ending Date-Time, Type, No. (PATCH på den publicerade sidan Prod. Order Routing)Planerad start, planerat slut och produktionsgrupp per operationSkyPlanner → BCNär planen ändras, via webhook från SkyPlanner
Output Journal (Item Journal Line, Entry Type Output)Tidrapporter, kvantiteter och operatörskvitteringarSkyPlanner → BCPer kvittering eller per skift, om automatisk bokföring är aktiverad
Routing Tool, Routing Personnel (publicerade sidor, valfri första inläsning)Verktygsbehov, antal operatörer per operationBC → SkyPlannerFörsta inläsning; därefter underhåll i SkyPlanner
Finns inte i Business CentralStälltidsmatris, verktyg som resurser med begränsad kapacitet, alternativa maskiner och personalUnderhålls i SkyPlannerKonfigureras vid införandet
Consumption Journal (om förbrukningen inte bokförs automatiskt)MaterialförbrukningSkyPlanner → BCPer kvittering eller per skift, om automatisk bokföring är aktiverad

Integrationsmönster

1. Första inläsning av grunddata. Hämta operationsföljder och tillverknings-BOM:ar med status Certified samt produktionsgrupper och maskingrupper från de publicerade sidorna. Hämta artiklar och måttenheter från API v2.0. Gör ett medvetet val när varje produktionsgrupp eller maskingrupp mappas till en produktionsgrupp i SkyPlanner: bestäm om en produktionsgrupp med tre maskingrupper ska bli en samlad grupp eller tre separata produktionsgrupper.

2. Ordersynkronisering. Läs in tillverkningsorder med status Released (och Firm Planned, om ni planerar dem) med tillhörande operationsrader och komponenter från de publicerade sidorna. Läs också in öppna inköpsorderrader från API v2.0. SkyPlanner räknar beställt material som tillgängligt på inköpsorderns leveransdatum och uppdaterar lagret när inköpsordern markeras som Delivered. Planeringen tar därmed hänsyn till både lagersaldo och kommande inleveranser.

Planera aldrig tillverkningsorder med status Planned. Microsoft skriver att Business Central ”deletes them the next time you run planning.” (tar bort dem nästa gång du kör planeringen). Planning Worksheet fortsätter att föreslå försörjning, och SkyPlanner planerar de fastställda orderna mot verklig kapacitet.

3. Återskrivning av planen. Standardsidan Prod. Order Routing publiceras som en OData v4-webbtjänst. För varje operation som motorn har placerat eller flyttat skickar SkyPlanner ett PATCH-anrop till motsvarande operationsrad med ETag i If-Match. Anropet anger Starting Date-Time och Ending Date-Time samt Type och No. om operationen har flyttats till en alternativ maskin.

PATCH kör sidans och tabellens triggers, så Business Central validerar fälten med sin egen logik, precis som när en planerare redigerar sidan Prod. Order Routing. Tillverkningsorderradens Starting and Ending Date-Time uppdateras i sin tur. Business Central behåller ansvaret för kvantiteter, status och kostnader.

4. Återrapportering från produktionen. Operatörerna registrerar arbete med SkyPlanner Mobile Confirmations eller Production Timer, och tidregistreringarna håller planeringen aktuell. Produktionen kan rapporteras i Business Central som tidigare, via Production Journal eller Output Journal.

Om ni vill bokföra produktion och förbrukning helt automatiskt läggs en standard-API-sida i Business Central till för bokföring via Output Journal. SkyPlanner bokför då ställtid, körtid och producerad kvantitet per operation. Bokföringen uppdaterar Capacity Ledger Entries, och rapportering på den sista operationen i operationsföljden lägger artikeln i lager.

Välj en enda kanal för produktionsbokföring. Om ni bokför från både SkyPlanner och Production Journal i Business Central blir posterna dubblerade.

5. Regler för dataägarskap och konflikter. Dokumentera dem före driftstart:

DataÄgare
Artiklar, BOM:ar, operationsföljder, kvantiteter, orderstatusBusiness Central
Operationsordning, start- och sluttider, tilldelning av produktionsgruppSkyPlanner
Ställtidsmatris, verktygs- och operatörskrav, alternativa resurserSkyPlanner
Skift och frånvaroEtt system, valt under kartläggningen
Produktion och förbrukningBusiness Central, med manuell bokföring eller automatisk bokföring från SkyPlanners tidregistreringar

Den främsta konfliktkällan är åtgärderna Refresh och Replan på tillverkningsorder. Microsoft skriver: ”If you use the Refresh action to recalculate production order lines, Business Central deletes the existing production order lines and calculates new lines.” (Om du använder åtgärden Refresh för att beräkna om tillverkningsorderrader tar Business Central bort de befintliga raderna och beräknar nya.) Replan kan också ändra kapacitetsbehovet, och en omberäkning av komponenter ”deletes previous changes in the components.” (tar bort tidigare ändringar av komponenterna).

Behandla en uppdaterad order som en ny version, synkronisera den igen och låt SkyPlanner planera om. Med Autopilot planerar SkyPlanner om automatiskt när produktionen ändras.

Vanliga projektsteg

Implementeringen är normalt klar inom några veckor efter att införandet har påbörjats. Innan dess testar ni kostnadsfritt i 30 dagar med era egna data. Exportera produktionsgrupper, operationsföljder och öppna tillverkningsorder från Business Central med Open in Excel eller Edit in Excel på listsidorna. Importera dem som CSV eller Excel och validera planeringen innan integrationsarbetet påbörjas.

Själva projektet omfattar:

  1. Mappning av grunddata. Fastställ mappningstabellen, reglerna för dataägarskap, synkroniseringsintervallen och kanalen för produktionsbokföring.
  2. Konfiguration av webbtjänster. Publicera sidorna för tillverkningsorder, operationsrader, komponenter, produktionsgrupper, maskingrupper, operationsföljder, BOM:ar och kalendrar på sidan Web Services och registrera Entra-appen. Det handlar enbart om konfiguration, först i en sandbox och sedan i produktionsmiljön.
  3. Första inläsning. Artiklar, måttenheter, BOM:ar och operationsföljder med status Certified, produktionsgrupper och maskingrupper samt kalendrar.
  4. Synkronisering av order och inköpsorder. Tillverkningsorder med status Released och öppna inköpsorder hämtas genom pollning, försäljningsorder via webhook. Här ingår hantering av token, förnyelse av prenumerationer och nya försök vid 429.
  5. Konfiguration av begränsningar i SkyPlanner. Ställtidsmatris, verktyg, antal operatörer per operation och alternativa maskiner eller personal. Inget av detta finns i Business Central som data som kan användas i planeringen.
  6. Återföring av planeringen. PATCH på den publicerade sidan Prod. Order Routing. Automatisk produktionsbokföring läggs till här om ni har valt det.
  7. Parallelltestning. Kör SkyPlanner parallellt med den befintliga planen, jämför datum och rätta grunddata.
  8. Driftstart. Aktivera återföringen när data stämmer överens.

Fallgropar i Business Central

  • Enheter i operationsföljder. Setup Time gäller per tillverkningsorder, Run Time per producerad artikel, och båda har en egen Unit of Measure Code. Wait Time och Move Time förbrukar ingen kapacitet i produktionsgruppen. Om produktionsgruppens enhet är Days motsvarar en dag 24 timmar, inte ett åttatimmarsskift. Räkna om vid importen, annars blir alla tidslängder fel.
  • Inaktuella kalendrar. Kapacitet finns först när Calculate Work Center Calendar har körts för planeringshorisonten. Kontrollera fältet Calendar Entries Available Until före den första inläsningen.
  • Dold kapacitet i maskingrupper. När Consolidated Calendar är avstängt planeras bara produktionsgruppens egen kapacitet: ”The machine center capacity is excluded.” (Maskingruppens kapacitet räknas inte med.) Läs maskingruppernas kapacitet direkt i stället för att förlita er på produktionsgruppens totalsiffror.
  • Capacity och Efficiency. Business Central beräknar tidsåtgången som Run Time / Efficiency / Capacity, och de beräknade kalenderposterna tar redan hänsyn till båda. Mappa Efficiency till produktionsgruppens effektivitet i SkyPlanner en gång, inte två.
  • Alternate Work Center är bara information. Microsoft skriver att det ”isn’t automatically included in planning processes.” (inte automatiskt tas med i planeringsprocesser). Lägg uttryckligen upp alternativen som alternativa produktionsgrupper i SkyPlanner.
  • Anropsbegränsning. Online gäller gränserna per användare, och en tjänstidentitet räknas som en användare: 6 000 OData-anrop under ett rullande intervall på 5 minuter och 5 samtidiga anrop. Sidstorleken är begränsad till 20 000, en $batch till 100 operationer, och en operation får timeout efter 8 minuter. Om anropsfrekvensen överskrids returneras 429. Använd batchanrop, sidindelning och polling av ändringar i stället för att läsa in allt på nytt.
  • Licensiering. Tillverkning finns bara i Premium-upplevelsen. Användare med Essentials kan inte logga in i ett företag som är inställt på Premium.

Business Central-integrationen: vem ansvarar för konfiguration och support?

Arbetet omfattar mappning mot era operationsföljder, produktionsgrupper och er Business Central-konfiguration. Det omfattar också de begränsningar som inte finns i Business Central: ställtidsmatris, verktyg, antal operatörer och alternativa resurser.

  1. SkyPlanner-teamet konfigurerar integrationen under införandet och ger support efter driftstart. Ansvaret omfattar SkyPlanner-sidan och de överenskomna webbtjänsterna i Business Central. Varje fabrik använder Business Central på sitt sätt, och den kunskapen kommer till användning här. Integrationen använder Business Centrals standard-API v2.0 och publicerade webbtjänster, som följer med när Business Central uppdateras.
  2. Er Business Central-partner kan medverka. Partnern känner till er konfiguration och era tillägg och kan granska de publicerade sidorna, behörighetsuppsättningarna och Entra-appen tillsammans med SkyPlanner-teamet. SkyPlanner tillhandahåller REST API, Swagger/OpenAPI-dokumentation och webhooks.
  3. Era egna utvecklare kan bygga vidare på integrationen med samma dokumenterade REST API och JWT-autentisering. En API-nyckel räcker för att komma igång, och SkyPlanner-teamet hjälper till vid behov. Offentlig produktdokumentation, bland annat om inköpsorder och API:et för produkter och material, finns i SkyPlanners dokumentation. Laboratory & Allied valde den här vägen för SAP Business One: företagets interna IT-team byggde integrationen till stor del på egen hand, med hjälp av SkyPlanner. UTU använder NetSuite och kör SkyPlanner vid sidan av sitt ERP-system.

Testa först att produktionsplanen fungerar under den kostnadsfria provperioden på 30 dagar. Då utgår integrationen från en plan som redan passar fabriken.

När anslutningen är på plats planerar Arcturus utifrån aktuella order i Business Central, och de planerade datumen förs över till tillverkningsorderns operationsföljd. SkyPlanner kostar från 199 € per månad med 5 produktionsgrupper inkluderade och faktureras månadsvis. Du får en offert på integrationen utifrån dina processer och behov, tillsammans med abonnemanget, så att du ser hela kostnaden innan du börjar. Se priser, funktioner och hur Business Centrals egen planering står sig i Finplanering i Business Central. En översikt finns på sidan om Business Central, och andra ERP-system finns på samlingssidan för ERP-integrationer.

Tillverkningsföretag om SkyPlanner

Kalle Kalliomäki, specialist inom försörjningskedjan på UTU, i produktionen av elcentraler i Ulvila

2 hsparas varje vecka

”SkyPlanner har tagit vår produktionsplanering från Excel-ark till produktionsoptimering i realtid.”

Kalle Kalliomäki, specialist inom försörjningskedjan
UTU · Elcentraler och ställverk

Produktionsplaneringen sparar 2 timmars arbetstid varje vecka, och en ny körplan når produktionslinjen på några sekunder.

Läs vad UTU säger

Operatörer i renrumsdräkter vid en flaskfyllningslinje i Laboratory & Allieds läkemedelsfabrik i Nairobi

+90%produktionseffektivitet

”Effektiviteten i produktionen har ökat med 90%.”

Abdul Rucyinga, IT-chef
Laboratory & Allied · Läkemedelstillverkning

Produktionseffektiviteten har ökat med 90%, och det tar mindre än 30 minuter att skapa en optimerad plan för tre månader som omfattar alla produktionsgrupper.

Läs vad Laboratory & Allied säger

En svetsare på KJH-Comp slipar en svetsad stålkonstruktion i fabriken i Alahärmä

98%leveransprecision, upp från cirka 50%

”SkyPlanner spelar en avgörande roll för att upprätthålla vår leveransprecision.”

Hannu Lahtinen, vd
KJH-Comp · Plåtmekanik och legotillverkning

Leveransprecisionen steg från cirka 50% till hela 98%, och nu behövs en arbetsledare för planeringen i stället för två.

Läs vad KJH-Comp säger

Hannu Ryynänen, vd för Mamec, i företagets produktionshall i Lohja

1 000-talstillverkningsorder planeras automatiskt

”Vi har kontroll över produktionen på ett annat sätt, och vår förståelse för kapaciteten är på en helt annan nivå.”

Hannu Ryynänen, vd
Mamec · Industriella omrörare, pumpar och högteknologisk legotillverkning

Tusentals tillverkningsorder planeras automatiskt, och hela organisationen har en realtidsbild av produktionen.

Läs vad Mamec säger

Vanliga frågor

Omfattar Business Centrals API tillverkningsorder?

Standard-API:et v2.0 saknar entiteter för tillverkningsorder, operationsföljder, stycklistor och produktionsgrupper. Business Central tillhandahåller dem i stället via sina OData v4-webbtjänster. Standardsidorna för tillverkning publiceras på sidan Web Services utan kod och läses och skrivs via OData.

Vem bygger integrationen med Business Central?

SkyPlanner-teamet konfigurerar tvåvägsintegrationen för din Business Central-miljö under införandet och ger support efter driftsättningen. På Business Central-sidan används API v2.0 och publicerade OData v4-webbtjänster. Din Business Central-partner eller dina egna utvecklare kan också bygga integrationen med SkyPlanners dokumenterade REST API. En API-nyckel räcker för att komma igång.

Behöver vi installera ett tillägg i Business Central?

Nej. API v2.0 ingår som standard, och tillverkningssidorna publiceras som webbtjänster genom inställningar på sidan Web Services. En standard-API-sida läggs till bara om du vill att utflöde och förbrukning ska bokföras helt automatiskt.

Vilken autentisering ska integrationen använda?

OAuth 2.0 med klientautentiseringsuppgifter via Microsoft Entra ID, med registrering på sidan Microsoft Entra Applications i Business Central. Åtkomstnycklar för webbtjänster är föråldrade. Lokala installationer stöder samma åtkomst mellan tjänster från versionerna 18.11 och 19.5 när servern har konfigurerats för Microsoft Entra-autentisering. Under kartläggningen bekräftar vi vilken lösning som gäller för din version.

Kan Business Central skicka ändringar i realtid?

Nästan i realtid. Meddelanden från webhook-prenumerationer på API v2.0-entiteter, till exempel artiklar och försäljningsorder, kommer cirka 30 sekunder efter den första ändringen. Business Central online samlar dem i batchar. Tillverkningsorder hämtas genom pollning med några minuters mellanrum. I motsatt riktning skickar SkyPlanners egna webhooks ändringar i produktionsplanen så snart de sker.

Hur skrivs operationernas datum tillbaka till Business Central?

Med en PATCH mot standardsidan Prod. Order Routing, publicerad som en OData v4-webbtjänst. Den anger Starting Date-Time, Ending Date-Time och produktionsgrupp eller maskingrupp. Business Central validerar värdena med sin egen logik, precis som när en planerare redigerar sidan.

Kan vi testa SkyPlanner innan vi bygger integrationen?

Ja. Under den kostnadsfria provperioden på 30 dagar kan du använda upp till 20 produktionsgrupper och importera CSV- eller Excel-filer från Business Central. Inget kreditkort behövs. Starta provperioden eller kontakta säljteamet för att kartlägga integrationen.