Kobler seg til ERP- og MES-systemer som

Integrasjoner / ERP / Microsoft Dynamics 365 Business Central

Integrasjonsguide for Business Central: produksjonsplanlegging med SkyPlanner APS

Denne guiden viser Business Central-partnere og IT-team hvordan de kobler Microsoft Dynamics 365 Business Central til SkyPlanner APS. SkyPlanner integreres med Business Central i begge retninger gjennom Business Centrals egne nettjenester:

  • Produksjonsordrer, produksjonsruter, arbeidssentre, varer og innkjøpsordrer overføres til SkyPlanner.
  • Planlagte start- og sluttider skrives til Prod. Order Routing Lines.
  • Operatørenes tidsregistreringer sendes tilbake for rapportering av produsert mengde.
  • SkyPlanner sender planendringer via webhooks så snart de skjer.
Gantt-tidslinje i SkyPlanner APS med jobber fordelt på arbeidsstasjoner og en ordreliste nedenfor.

SkyPlanner-teamet konfigurerer integrasjonen for deres Business Central-oppsett under innføringen og gir støtte etter produksjonssetting. Denne guiden er for partnere og utviklere som vil delta, eller selv bygge videre på SkyPlanners dokumenterte REST API (API-referanse).

To standardgrensesnitt i Business Central, ingen kode på Business Central-siden

Integrasjonen bruker to grensesnitt som allerede følger med Business Central:

  1. API v2.0 for salgs-, innkjøps- og lagerdata. Det gir tilgang til items, itemVariants, itemLedgerEntries, locations, unitsOfMeasure, salesOrders, salesOrderLines, purchaseOrders, purchaseOrderLines, vendors, customers og employees. Det har ingen produksjonsentiteter, så produksjonsdata hentes gjennom det andre grensesnittet.
  2. OData v4-nettjenester for produksjon. Alle sider i Business Central kan publiseres som OData v4-nettjenester fra siden Web Services. Velg objekttypen Page, side-ID og et tjenestenavn, og merk deretter av for Published. Da er endepunktet tilgjengelig, uten AL-kode og uten at du må distribuere en utvidelse. Integrasjonen publiserer standardsidene for frigitte produksjonsordrer, Prod. Order Routing Lines, arbeidssentre, maskinsentre og produksjonsruter. De er tilgjengelige under /ODataV4/Company('{name}')/{ServiceName}.

Publiserte sider støtter både lesing og skriving. 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,» (Hvis en redigerbar side gjøres tilgjengelig som en nettjeneste, kan dataene i den underliggende tabellen leses og endres med et OData-kall), med PATCH for oppdateringer. Slik skrives planlagte datoer tilbake til Business Central, gjennom samme side og med samme validering som planleggeren bruker.

Dropp SOAP. Microsoft har merket SOAP-nettjenester som foreldet, og muligheten til å publisere Microsofts brukergrensesnittsider som SOAP fjernes i 2026 release wave 2 (v29).

Autentisering

Bruk OAuth 2.0 via Microsoft Entra ID med en service-to-service-flyt (client credentials):

  • Registrer en app i Entra ID og gi den programtillatelsen API.ReadWrite.All for Dynamics 365 Business Central.
  • Be om tokener med omfanget https://api.businesscentral.dynamics.com/.default.
  • Åpne siden Microsoft Entra Applications i Business Central, legg til klient-ID-en, tildel tillatelsessett med bare de nødvendige rettighetene, og gi samtykke. SUPER kan ikke tildeles en S2S-app.

Basis-URL-er: https://api.businesscentral.dynamics.com/v2.0/{environment}/api/v2.0/companies({id})/{entity} for API v2.0 og https://api.businesscentral.dynamics.com/v2.0/{environment}/ODataV4/Company('{name}')/{ServiceName} for de publiserte sidene. Det samme tokenet fungerer for begge.

Tilgangsnøkler for nettjenester (basic auth) er foreldet og har ikke vært støttet i Business Central online siden oktober 2022. De krever alltid en lisensiert bruker. OAuth krever ingen lisens for service-to-service-integrasjoner. Lokale installasjoner støtter S2S fra versjonene 18.11 og 19.5, når serveren er konfigurert for Microsoft Entra-autentisering.

På SkyPlanner-siden bruker REST API-et JWT-autentisering og er dokumentert i Swagger/OpenAPI. Integrasjonsveiledningen viser de første kallene trinn for trinn.

Hendelser, webhooks og polling

Business Central støtter webhook-abonnementer via POST /api/v2.0/subscriptions for API v2.0-entiteter som items og salesOrders. Følgende regler gjelder:

  • Når et abonnement opprettes, kreves en håndtrykksutveksling: Endepunktet ditt må returnere validationToken med 200 OK.
  • Abonnementer utløper etter tre dager. Forny med PATCH, så kjøres håndtrykket på nytt.
  • Varslene inneholder ressursbanen, changeType og din clientState, ikke hele posten. Selve posten henter du etterpå.
  • Varslene er forsinket: Business Central online venter 30 sekunder etter den første endringen. Hvis mer enn 1 000 poster endres i dette tidsrommet, sendes de som ett collection-varsel.
  • Maksimalt 200 webhook-abonnementer per miljø i nettversjonen.

Produksjonsordrer, produksjonsrutelinjer og innkjøpsordrer hentes med noen minutters mellomrom fra de publiserte sidene og fra purchaseOrders. Ved å filtrere på åpne ordrer og hente data sidevis holdes antallet forespørsler godt innenfor grensene i Business Central.

SkyPlanner sender webhooks når tilstanden eller planen endres, så tilbakeskrivingen er hendelsesstyrt.

Datakobling

Business Central-objekt (grensesnitt)SkyPlanner-objektRetningHyppighet
Item, Item Variant, Unit of Measure (items, itemVariants, unitsOfMeasure, API v2.0)Produkter og materialerBC → SkyPlannerFørstegangsinnlasting, deretter webhook eller polling av endringer
Production BOM Header/Line, versjoner med status Certified (publisert side)Produktstruktur, delprodukter, materialer per produktBC → SkyPlannerFørstegangsinnlasting, deretter ved endringer
Routing Header/Line, versjoner med status Certified (publisert Routing-side): Operation No., Setup, Run, Wait and Move Time, Concurrent Capacities, Send-Ahead QuantityProsesstrinn med varighet, omstillings- og nedriggingstidBC → SkyPlannerFørstegangsinnlasting, deretter ved endringer
Work Center, Machine Center: Capacity, Efficiency, Shop Calendar Code (publiserte Work Center- og Machine Center-sider)Arbeidsstasjoner, arbeidsstasjonsgrupper, effektivitetsgraderBC → SkyPlannerFørstegangsinnlasting, deretter sjelden
Shop Calendar, Work Shift, Calendar Entry, Absence (publiserte sider)Skift, fraværBC → SkyPlannerDaglig, eller administrer skift i SkyPlanner
Released Production Order, Prod. Order Line, Prod. Order Routing Line, Prod. Order Component (publiserte sider; Firm Planned er valgfritt)Ordrer og jobber med frister og materialbehovBC → SkyPlannerPolling med noen minutters mellomrom
salesOrders, salesOrderLines (API v2.0)Kundenes leveringsfrister og grunnlag for prioriteringBC → SkyPlannerWebhook eller polling
itemLedgerEntries (API v2.0)LagerbeholdningerBC → SkyPlannerPolling hver time eller ved plankjøring
purchaseOrders, purchaseOrderLines (API v2.0), Expected Receipt Date på linjenInnkjøpsordrer / innkommende materialer med forventet leveringsdato; lagerbeholdningen oppdateres når innkjøpsordren merkes som DeliveredBC → SkyPlannerPolling hver time eller ved plankjøring
Prod. Order Routing Line: Starting Date-Time, Ending Date-Time, Type, No. (PATCH mot den publiserte Prod. Order Routing-siden)Planlagt start, slutt og arbeidsstasjon per operasjonSkyPlanner → BCVed endringer i planen, via webhook fra SkyPlanner
Output Journal (Item Journal Line, Entry Type Output)Tidsregistreringer, antall og operatørbekreftelserSkyPlanner → BCPer bekreftelse eller per skift, hvis automatisk bokføring er aktivert
Routing Tool, Routing Personnel (publiserte sider, valgfritt som startdata)Verktøybehov, antall operatører per jobbBC → SkyPlannerFørstegangsinnlasting; vedlikeholdes deretter i SkyPlanner
Finnes ikke i Business CentralMatrise for omstillingstider, verktøy som ressurser med begrenset kapasitet, alternative maskiner og personellVedlikeholdes i SkyPlannerSettes opp under innføringen
Consumption Journal (hvis forbruket ikke bokføres automatisk)MaterialforbrukSkyPlanner → BCPer bekreftelse eller per skift, hvis automatisk bokføring er aktivert

Integrasjonsmønstre

1. Første innlasting av grunndata. Hent produksjonsruter og produksjonsstykklister med status Certified samt arbeidssentre og maskinsentre fra de publiserte sidene. Hent varer og måleenheter fra API v2.0. Avklar hvordan hvert arbeids- eller maskinsenter skal kobles til en arbeidsstasjon i SkyPlanner: Skal et arbeidssenter med tre maskinsentre bli én arbeidsstasjonsgruppe eller tre arbeidsstasjoner?

2. Ordresynkronisering. Les produksjonsordrer med status Released (og Firm Planned hvis dere planlegger dem), med tilhørende produksjonsrutelinjer og komponenter, fra de publiserte sidene. Hent også åpne innkjøpsordrelinjer fra API v2.0. SkyPlanner regner bestilt materiale som tilgjengelig på innkjøpsordrens leveringsdato og oppdaterer lagerbeholdningen når innkjøpsordren merkes Delivered. Planen tar dermed hensyn til både lagerbeholdning og innkommende innkjøp.

Planlegg aldri produksjonsordrer med status Planned: Microsoft sier at Business Central «deletes them the next time you run planning.» (sletter dem neste gang du kjører planlegging). Planning Worksheet fortsetter å foreslå forsyninger, mens SkyPlanner planlegger de fastlagte ordrene mot faktisk kapasitet.

3. Tilbakeskriving av planen. Standardsiden Prod. Order Routing publiseres som en OData v4-nettjeneste. For hver operasjon motoren har plassert eller flyttet, sender SkyPlanner en PATCH til den aktuelle produksjonsrutelinjen med ETag i If-Match. Den angir Starting Date-Time og Ending Date-Time, samt Type og No. når operasjonen er flyttet til en alternativ maskin.

PATCH kjører side- og tabelltriggerne, slik at Business Central validerer feltene med sin egen logikk, akkurat som når en planlegger redigerer siden Prod. Order Routing. Produksjonsordrelinjens Starting og Ending Date-Time oppdateres tilsvarende. Business Central beholder ansvaret for mengder, status og kostnader.

4. Tilbakemeldinger fra produksjonen. Operatørene registrerer arbeid med SkyPlanner Mobile Confirmations eller Production Timer, og tidsregistreringene holder planen oppdatert. Produsert mengde kan rapporteres i Business Central som før, fra Production Journal eller Output Journal.

Hvis dere vil bokføre produsert mengde og forbruk helt automatisk, legges det til en standard API-side i Business Central for bokføring i avgangskladden. SkyPlanner bokfører da omstillingstid, kjøretid og produsert mengde per operasjon. Bokføringen oppdaterer Capacity Ledger Entries, og rapportert produsert mengde på siste operasjon i produksjonsruten legger varen til lagerbeholdningen.

Velg én kanal for bokføring av produsert mengde. Bokføring fra både SkyPlanner og Production Journal i Business Central gir doble posteringer.

5. Regler for dataeierskap og konflikter. Skriv dem ned før produksjonssetting:

DataEier
Varer, stykklister, produksjonsruter, mengder, ordrestatusBusiness Central
Operasjonsrekkefølge, start- og sluttider, tildeling av arbeidsstasjonerSkyPlanner
Matrise for omstillingstider, krav til verktøy og operatører, alternative ressurserSkyPlanner
Skift og fraværEtt system, valgt under avklaringen
Produsert mengde og forbrukBusiness Central, bokført manuelt eller automatisk fra tidsregistreringene i SkyPlanner

Den viktigste kilden til konflikter er Refresh og Replan på produksjonsordrer. 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.» (Hvis du bruker handlingen Refresh til å beregne produksjonsordrelinjer på nytt, sletter Business Central de eksisterende produksjonsordrelinjene og beregner nye.) Replan kan også endre kapasitetsbehovet, og ny beregning av komponenter «deletes previous changes in the components.» (sletter tidligere endringer i komponentene).

Behandle en oppdatert ordre som en ny versjon, synkroniser den på nytt, og la SkyPlanner planlegge den på nytt. Med Autopilot planlegger SkyPlanner automatisk på nytt når produksjonen endres.

Typiske prosjekttrinn

Implementeringen er normalt fullført noen uker etter at innføringen starter. Før det kan dere bruke egne data i den gratis prøveperioden på 30 dager. Eksporter arbeidssentre, produksjonsruter og åpne produksjonsordrer fra Business Central med Open in Excel eller Edit in Excel på listesidene. Importer dem som CSV eller Excel, og valider planen før integrasjonsarbeidet begynner.

Selve prosjektet omfatter:

  1. Kobling av grunndata. Fastsett koblingstabellen, reglene for dataeierskap, synkroniseringsfrekvensene og kanalen for bokføring av produsert mengde.
  2. Oppsett av nettjenester. Publiser sidene for produksjonsordrer, produksjonsrutelinjer, komponenter, arbeidssentre, maskinsentre, produksjonsruter, stykklister og kalendere på siden Web Services, og registrer Entra-appen. Dette krever bare konfigurasjon, først i sandkassemiljøet og deretter i produksjonsmiljøet.
  3. Første innlasting. Varer, måleenheter, stykklister og produksjonsruter med status Certified, arbeidssentre og maskinsentre samt kalendere.
  4. Synkronisering av ordrer og innkjøpsordrer. Produksjonsordrer med status Released og åpne innkjøpsordrer hentes med polling, salgsordrer via webhook. Dette trinnet omfatter også håndtering av tokener, fornyelse av abonnementer og nye forsøk ved 429.
  5. Oppsett av begrensninger i SkyPlanner. Matrise for omstillingstider, verktøy, antall operatører per jobb og alternative maskiner eller medarbeidere. Ingen av disse finnes i Business Central som data som kan brukes i produksjonsplanleggingen.
  6. Tilbakeskriving av planen. PATCH på den publiserte siden Prod. Order Routing. Automatisk bokføring av produsert mengde legges til her hvis det er valgt.
  7. Parallell testing. Kjør SkyPlanner parallelt med gjeldende plan, sammenlign datoer og korriger grunndata.
  8. Produksjonssetting. Slå på tilbakeskriving når dataene stemmer overens.

Fallgruver i Business Central

  • Enheter i produksjonsruter. Setup Time gjelder per produksjonsordre, Run Time per produsert vare, og begge har sin egen Unit of Measure Code. Wait Time og Move Time bruker ikke kapasitet på arbeidssenteret. Hvis arbeidssenterets enhet er Days, er én dag 24 timer, ikke et skift på åtte timer. Konverter ved import, ellers blir alle varigheter feil.
  • Utdaterte kalendere. Kapasitet finnes først når Calculate Work Center Calendar er kjørt for planleggingshorisonten. Kontroller feltet Calendar Entries Available Until før første innlasting.
  • Skjult maskinsenterkapasitet. Når Consolidated Calendar er slått av, planlegges bare arbeidssenterets egen kapasitet: «The machine center capacity is excluded.» (Maskinsenterets kapasitet er ikke inkludert.) Les maskinsenterets kapasitet direkte i stedet for å stole på arbeidssenterets totaler.
  • Capacity og Efficiency. Business Central beregner varighet som Run Time / Efficiency / Capacity, og de beregnede kalenderpostene inkluderer allerede begge faktorene. Koble Efficiency til arbeidsstasjonens effektivitet i SkyPlanner én gang, ikke to.
  • Alternate Work Center er bare til informasjon. Microsoft skriver at det «isn’t automatically included in planning processes.» (ikke tas med automatisk i planleggingsprosesser). Legg alternativene eksplisitt inn som alternative arbeidsstasjoner i SkyPlanner.
  • Begrensning av forespørsler. Grensene i nettversjonen gjelder per bruker, og en tjenestekontohaver regnes som én bruker: 6 000 OData-forespørsler i et rullerende tidsvindu på 5 minutter og 5 samtidige forespørsler. Sidestørrelsen er begrenset til 20 000, en $batch til 100 operasjoner, og en operasjon får tidsavbrudd etter 8 minutter. Hvis forespørselsgrensen overskrides, returneres 429. Bruk batcher, sidevis henting og polling av endringer i stedet for å laste inn alt på nytt.
  • Lisensiering. Produksjonsfunksjonene finnes bare i Premium. Brukere med Essentials kan ikke logge på et selskap som er satt til Premium.

Business Central-integrasjonen: hvem konfigurerer den og gir støtte?

Arbeidet omfatter kobling mot deres produksjonsruter, arbeidssentre og Business Central-oppsett, i tillegg til begrensningene Business Central ikke lagrer: matrise for omstillingstider, verktøy, antall operatører og alternative ressurser.

  1. SkyPlanner-teamet konfigurerer integrasjonen under innføringen og gir støtte etter produksjonssetting. Dette dekker SkyPlanner-siden og de avtalte nettjenestene i Business Central. Hver fabrikk bruker Business Central på sin måte, og denne kunnskapen brukes i oppsettet. Integrasjonen bruker Business Centrals standard API v2.0 og publiserte nettjenester, som følger oppdateringene av Business Central.
  2. Deres Business Central-partner kan delta. Partneren kjenner oppsettet og utvidelsene deres og kan gjennomgå de publiserte sidene, tillatelsessettene og Entra-appen sammen med SkyPlanner-teamet. SkyPlanner leverer REST API-et, Swagger/OpenAPI-dokumentasjonen og webhooks.
  3. Egne utviklere kan bygge videre på integrasjonen med det samme dokumenterte REST API-et og JWT-autentisering. En API-nøkkel er nok til å komme i gang, og SkyPlanner-teamet hjelper til ved behov. Offentlig produktdokumentasjon, blant annet om innkjøpsordrer og API-et for produkter og materialer, finnes i SkyPlanner-dokumentasjonen. Laboratory & Allied valgte denne fremgangsmåten med SAP Business One: Det interne IT-teamet bygde i stor grad integrasjonen selv, med hjelp fra SkyPlanner. UTU bruker SkyPlanner ved siden av sitt NetSuite ERP-system.

Test først at produksjonsplanen fungerer i den gratis prøveperioden på 30 dager, slik at integrasjonen tar utgangspunkt i en plan som allerede passer fabrikken.

Når integrasjonen er på plass, planlegger Arcturus-motoren ut fra oppdaterte ordrer i Business Central, og de planlagte datoene overføres til produksjonsordrens produksjonsrute. SkyPlanner koster fra 199 € per måned med 5 arbeidsstasjoner inkludert og månedlig fakturering. Du får et pristilbud på integrasjonen på forhånd, tilpasset prosessene og behovene dine, sammen med abonnementet. Dermed ser du totalkostnaden før du starter. Se priser, funksjoner og hvordan Business Centrals egen planlegging står seg i artikkelen om produksjonsplanlegging i Business Central. Temaet i artikkelen er produksjonsplanlegging der planen tilpasses den faktiske kapasiteten til både maskiner og ansatte. Du finner oversikten på Business Central-siden og andre ERP-systemer i oversikten over ERP-integrasjoner.

Produsentenes erfaringer med SkyPlanner

Kalle Kalliomäki, spesialist på forsyningskjeder hos UTU, i tavleproduksjonen i Ulvila

2 hspart hver uke

«SkyPlanner har tatt produksjonsplanleggingen vår fra Excel-regneark til produksjonsoptimalisering i sanntid.»

Kalle Kalliomäki, spesialist på forsyningskjeder
UTU · Elektriske tavler og koblingsanlegg

Produksjonsplanleggingen sparer 2 arbeidstimer hver uke, og en ny jobbkø når produksjonslinjen på sekunder.

Les om UTUs erfaringer

Operatører i renromsdrakter ved en flaskefyllingslinje på legemiddelfabrikken til Laboratory & Allied i Nairobi

+90%produksjonseffektivitet

«Effektiviteten i produksjonen har økt med 90%.»

Abdul Rucyinga, IT-sjef
Laboratory & Allied · Legemiddelproduksjon

Produksjonseffektiviteten har økt med 90%, og det tar under 30 minutter å lage en optimalisert plan for tre måneder på tvers av alle arbeidsstasjoner.

Les om erfaringene til Laboratory & Allied

En sveiser hos KJH-Comp sliper en sveiset stålkonstruksjon ved fabrikken i Alahärmä

98%leveringspålitelighet, opp fra omtrent 50%

«SkyPlanner spiller en avgjørende rolle for å opprettholde leveringspåliteligheten vår.»

Hannu Lahtinen, daglig leder
KJH-Comp · Tynnplatebearbeiding og kontraktsproduksjon

Leveringspåliteligheten steg fra rundt 50% til hele 98%, og planleggingen krever nå én arbeidsleder i stedet for to.

Les om KJH-Comps erfaringer

Hannu Ryynänen, daglig leder i Mamec, i selskapets produksjonshall i Lohja

1 000-visav arbeidsordrer planlegges automatisk

«Vi har kontroll på produksjonen på en helt annen måte, og forståelsen vår av kapasiteten er på et helt annet nivå.»

Hannu Ryynänen, daglig leder
Mamec · Industrielle miksere, pumper og høyteknologisk kontraktsproduksjon

Tusenvis av arbeidsordrer planlegges automatisk, og hele organisasjonen har oversikt over produksjonen i sanntid.

Les om Mamecs erfaringer

Vanlige spørsmål

Omfatter API-et i Business Central produksjonsordrer?

API v2.0 har som standard ingen entiteter for produksjonsordrer, produksjonsruter, stykklister (BOM) eller arbeidssentre. Business Central gjør disse tilgjengelige gjennom OData v4-nettjenester i stedet. Standardsidene for produksjon publiseres på siden Web Services uten kode, og dataene leses og skrives via OData.

Hvem bygger integrasjonen med Business Central?

SkyPlanner-teamet konfigurerer toveisintegrasjonen for ditt Business Central-oppsett under innføringen og gir støtte etter produksjonssetting. På Business Central-siden bruker integrasjonen API v2.0 og publiserte OData v4-nettjenester. Business Central-partneren din eller egne utviklere kan også bygge på det dokumenterte REST API-et til SkyPlanner. En API-nøkkel er nok til å komme i gang.

Må vi installere en utvidelse i Business Central?

Nei. API v2.0 er standard, og produksjonssidene publiseres som nettjenester gjennom konfigurasjon på siden Web Services. En standard API-side legges bare til hvis dere vil at produsert mengde og forbruk skal bokføres helt automatisk.

Hvilken autentisering bør integrasjonen bruke?

OAuth 2.0 client credentials gjennom Microsoft Entra ID, registrert på siden Microsoft Entra Applications i Business Central. Tilgangsnøkler for nettjenester er merket som foreldet. Lokale installasjoner støtter samme tjeneste-til-tjeneste-tilgang fra versjonene 18.11 og 19.5 når serveren er konfigurert for Microsoft Entra-autentisering. Under avklaringen bekrefter vi hvilken løsning som gjelder for deres versjon.

Kan Business Central sende endringer i sanntid?

Nær sanntid. Varsler fra webhook-abonnementer på API v2.0-entiteter, som varer og salgsordrer, kommer omtrent 30 sekunder etter den første endringen. Business Central online sender dem samlet. Produksjonsordrer hentes ved polling med noen minutters mellomrom. I motsatt retning sender SkyPlanners egne webhooks planendringer fortløpende.

Hvordan skrives datoene for operasjonene tilbake til Business Central?

Med en PATCH mot standardsiden Prod. Order Routing, publisert som en OData v4-nettjeneste. Den angir Starting Date-Time, Ending Date-Time og arbeids- eller maskinsenteret. Business Central validerer verdiene med sin egen logikk, akkurat som når en planlegger redigerer siden.

Kan vi teste SkyPlanner før vi bygger integrasjonen?

Ja. Den gratis prøveperioden på 30 dager støtter opptil 20 arbeidsstasjoner med import av CSV- eller Excel-filer fra Business Central. Du trenger ikke kredittkort. Start prøveperioden, eller kontakt salg for å avklare integrasjonens omfang.