Integrationer / ERP / Epicor Kinetic

Guide til integration af Epicor Kinetic med SkyPlanner APS til detailplanlægning

Denne guide viser Epicor-partnere, IT-teams og tekniske indkøbere, hvordan SkyPlanner APS bruges til produktionsplanlægning oven på Epicor Kinetic, så planen respekterer maskinernes og medarbejdernes faktiske kapacitet. SkyPlanner integreres med Epicor Kinetic i begge retninger via Kinetics egne REST-tjenester:

  • Produktionsordrer, operationer, ressourcer og leveranceplanlinjer på indkøbsordrer overføres til SkyPlanner.
  • De planlagte operationsdatoer skrives tilbage til produktionsordrerne.
  • Operatørernes tidsregistreringer bogføres som arbejdstid i Kinetic.
  • SkyPlanner-webhooks sender ændringer i planen, så snart de sker.
Gantt-tidslinje i SkyPlanner APS med opgaver fordelt på arbejdsstationer og en ordreliste nedenunder.

SkyPlanner-teamet tilpasser integrationen til jeres Kinetic-opsætning under opstarten og yder support efter idriftsættelsen. Denne guide er til partnere og udviklere, der vil bidrage eller selv bygge videre på SkyPlanners dokumenterede REST API (API-reference).

Har I endnu ikke afgjort, om Kinetics eget Scheduling and Resource Management eller APS-modulet dækker jeres behov, så læs først Understøtter Epicor Kinetic produktionsplanlægning?

Kinetics integrationsmuligheder

Epicor skriver: “All Kinetic services, including business objects, processes, reports, BAQs, and Epicor Functions, are accessible through REST endpoints.” (Alle Kinetic-tjenester, herunder forretningsobjekter, processer, rapporter, BAQs og Epicor Functions, er tilgængelige via REST-endpoints.) En integration til detailplanlægning bygger på fire Epicor-teknologier:

  1. Kinetic REST API v2 (OData v4). Forretningsobjekter udstilles som tjenester med navnet Erp.BO.<Name>Svc. Den sædvanlige sti er /api/v2/odata/{Company}/Erp.BO.{Svc}/{EntitySet}. REST v1 findes stadig, men er en ældre version, så byg på v2. Kontrollér entitetssæt og metoder for din version i REST Help på /api/help/v2/.
  2. Business Activity Queries (BAQ) via REST. En BAQ udstilles på /api/v2/odata/{Company}/BaqSvc/{BAQ}/Data. Det er den praktiske vej til at hente planlægningsdata, der sammenkobler JobHead, JobOper, JobMtl, PartWhse og PORel i ét kald (eksempel fra brugerforummet).
  3. Epicor Functions (EFx). Funktioner på serversiden, som kan kaldes på /api/v2/efx/{Company}/{Library}/{Function}. Epicor oplyser, at de “can be triggered from multiple entry points, including BPMs, REST services, schedules, and application events.” (kan udløses fra flere indgangspunkter, herunder BPM’er, REST-tjenester, tidsplaner og applikationshændelser).
  4. BPM-direktiver. Method and Data Directives udløses, når en produktionsordre eller operation ændres, og kan kalde en funktion, der sender data ud.

Ved filoverførsel håndterer DMT importen, mens BAQ-eksporter står for dataudtræk. Epicor tilbyder også Epicor Automation Studio, som virksomheden beskriver som “a low-code app for integration-led automations” (en low-code-app til automatisering baseret på integrationer). Undgå direkte databaseadgang: REST, BAQs og funktioner fungerer ens lokalt og på Kinetic Cloud.

Godkendelse og adgangsomfang

Kinetic REST v2 styrer adgangen for hver integration. Hver integration får en API-nøgle, der er knyttet til et adgangsomfang med de tjenester og metoder, den må kalde. Epicor formulerer det sådan: “API keys, access scopes, and standard authentication methods control which services and methods are available to each integration.” (API-nøgler, adgangsomfang og standardmetoder til godkendelse styrer, hvilke tjenester og metoder hver integration har adgang til.)

Ud over API-nøglen skal den kaldende part logge ind som Kinetic-bruger. Brug en særskilt integrationsbruger med netop de rettigheder, integrationen har brug for. Hos SkyPlanner bruger REST API’et JWT-godkendelse og er dokumenteret i Swagger/OpenAPI.

For en SkyPlanner-integration omfatter adgangsomfanget typisk:

  • Erp.BO.JobEntrySvc (JobEntries, JobOpers, GetDatasetForTree)
  • Erp.BO.ResourceGroupSvc og Erp.BO.ResourceSvc
  • Erp.BO.CapabilitySvc
  • Erp.BO.PartSvc (Parts, PartWhses)
  • Erp.BO.EmpBasicSvc
  • Erp.BO.ScheduleEngineSvc (GetNewParamsForJob, MoveJobItem, ChangeResource)
  • Erp.BO.LaborSvc (Labors, LaborDtls, StartActivity, EndActivityByEmp)
  • de BAQs og EFx-biblioteker, I publicerer til integrationen

Hvis en metode mangler i adgangsomfanget, fejler kaldet under drift, ikke under opsætningen. Medtag alle de metoder, I kalder, overvåg API-nøglens udløb, og opret alarmer ved HTTP-fejl, ikke kun ved tomme resultater.

Registrering af ændringer: BPM-direktiver, funktioner eller polling

Epicor dokumenterer ikke noget generelt API til udgående webhooks. Derfor overføres ændringer i Kinetic til SkyPlanner på en af to måder:

  • Hændelsesstyret. Et BPM Data Directive på JobHead eller JobOper kalder en Epicor Function, som sender den ændrede produktionsordre til SkyPlanners REST API.
  • Planlagt polling. En BAQ, der filtrerer på ændringsdato, køres med få minutters mellemrum eller hver time. Denne løsning er enklere at drive og genoprette efter fejl.

I den modsatte retning sender SkyPlanner status- og planændringer via sine webhooks. Jeres middleware eller et EFx-endpoint modtager dem og skriver til Kinetic.

Datamapping

Kinetic-entitet / -tjenesteSkyPlanner-objektRetningHyppighed
Part, PartRev (Erp.BO.PartSvc/Parts)ProduktFra Kinetic til SkyPlannerFørstegangsindlæsning, derefter efter fast tidsplan
PartMtl (metode), JobMtl (produktionsordre)Materialer til produkt og ordreFra Kinetic til SkyPlannerSammen med produktionsordren
PartOpr (metode), JobOper (produktionsordre)ProcestrinFra Kinetic til SkyPlannerSammen med produktionsordren
ResourceGroup, Resource (ResourceGroupSvc, ResourceSvc)Arbejdsstationsgrupper, arbejdsstationerFra Kinetic til SkyPlannerFørstegangsindlæsning og ved ændringer
Capability (CapabilitySvc)Alternative arbejdsstationerFra Kinetic til SkyPlannerFørstegangsindlæsning og ved ændringer
Kalendere for ressourcer og ressourcegrupperSkift og undtagelserFra Kinetic til SkyPlannerFørstegangsindlæsning, derefter ugentligt eller ved ændringer
EmpBasic (EmpBasicSvc)MedarbejdereFra Kinetic til SkyPlannerFørstegangsindlæsning og ved ændringer
JobHead (JobEntrySvc/JobEntries)OrdreFra Kinetic til SkyPlannerI realtid via BPM + EFx eller ved polling med BAQ
PartWhse via BAQLagerbeholdningFra Kinetic til SkyPlannerEfter fast tidsplan
Indkøbsordrer: POHeader, PODetail, PORel via BAQIndkøbsordrer / indgående materialer (forventet leveringsdato)Fra Kinetic til SkyPlannerEfter fast tidsplan eller ved ændringer i indkøbsordren via BPM + EFx
Planlagt start og slut pr. operationDatoer i JobOper via ScheduleEngineSvc (MoveJobItem, ChangeResource) i en EFxFra SkyPlanner til KineticVed ændringer i planen via webhook
Tidsregistreringer, mængder, fremdrift pr. operation, årsagerLabors / LaborDtls via LaborSvc; årsagskoder via Erp.BO.ReasonSvcFra SkyPlanner til KineticI realtid via webhook

Epicor kalder produktionsordren et Job. Knyt én JobHead til én SkyPlanner-ordre og hver JobOper til et procestrin. Bevar produktionsordrenummer, montagesekvens og operationssekvens som den eksterne nøgle.

Integrationsmønstre

1. Førstegangsindlæsning af stamdata. Hent varer, ressourcegrupper, ressourcer, kapabiliteter, kalendere og medarbejdere. Opret arbejdsstationer i SkyPlanner ud fra Kinetic-ressourcer og arbejdsstationsgrupper ud fra ressourcegrupper. Opdel store dataudtræk i sider med $top og $skip, eller hent store datamængder via en BAQ.

2. Ordresynkronisering. Send frigivne og fastlagte produktionsordrer med deres operationer og materialer. Hent hele ordrestrukturen med GetDatasetForTree eller en BAQ, ikke én entitet ad gangen. Lad ikke-fastlagte MRP-ordrer blive i Kinetic, indtil de er fastlagt. Synkronisér åbne delleverancer på indkøbsordrer med deres leveringsdatoer, samtidig med at lagerbeholdningen hentes. SkyPlanner betragter bestilte materialer som tilgængelige på leveringsdatoen og opdaterer lagerbeholdningen, når indkøbsordren markeres som Delivered. Planlægningen kontrollerer dermed både lagerbeholdningen og kommende materialeleverancer fra indkøb.

3. Tilbageskrivning af planen. SkyPlanners webhook sender planlagt start, slut og arbejdsstation for hver operation til et EFx-endpoint (/api/v2/efx/{Company}/{Library}/{Function}). Funktionen skriver via Kinetics planlægningsmotor, som er det samme forretningsobjekt, der ligger bag planlægningen i Job Entry og på planlægningstavlerne (eksempel fra brugerforummet):

  1. ScheduleEngine.GetNewParamsForJob opretter planlægningsmotorens datasæt for produktionsordren.
  2. Funktionen angiver produktionsordrenummer, montage- og operationssekvens samt planlagt startdato og -tidspunkt og kalder derefter ScheduleEngine.MoveJobItem.
  3. Hvis SkyPlanner har placeret operationen på en anden ressource i gruppen, flytter ScheduleEngine.ChangeResource den dertil. MoveJobItem alene beholder gruppens standardressource.
  4. Funktionen låser produktionsordrens plan (JobHead.SchedLocked, indstillingen Lock i Job Entry), så Global Scheduling bevarer SkyPlanners datoer.

Ved at samle disse kald i én Epicor Function bliver skrivningen atomar pr. produktionsordre, og du kan tilføje din egen validering. Hvis virksomheden foretrækker at undgå en tilpasset funktion, kan den samme sekvens køres som direkte REST-kald til Erp.BO.ScheduleEngineSvc. Skriv aldrig direkte til ResourceTimeUsed eller datofelter i JobOper: Det omgår motoren, så allokeringerne på planlægningstavlen ikke længere stemmer.

4. Tilbagemeldinger fra produktionen. Operatørerne registrerer arbejde i SkyPlanner med Mobile Confirmations, Production Timer eller Quick Log Mode. Hver afsluttet tidsregistrering bliver til en arbejdsregistrering i Kinetic via Erp.BO.LaborSvc: StartActivity og EndActivityByEmp til løbende registrering eller Labors med Update til efterregistrering. Hvis virksomheden kræver godkendelse, skal submitForApproval med i både forløbet og adgangsomfanget.

5. Dataejerskab og konfliktregler. Skriv dem ned før idriftsættelsen:

DataEjer
Varer, fremstillingsmetoder, ressourcer, kalendere, produktionsordrer, MRP, lager, kostberegningKinetic
Mængder og ordrestatusKinetic
Operationsrækkefølge, planlagte datoer, ressource inden for gruppenSkyPlanner

Produktionsordrer, som SkyPlanner planlægger, har en planlægningslås, så Global Scheduling ikke ændrer deres datoer. Behold Kinetics planlægning for de ressourcer, SkyPlanner ikke planlægger.

Nøgler, genforsøg og afstemning

  • Stabile nøgler. Hver post indeholder sin Kinetic-nøgle: ordrenummer, montagesekvens og operationssekvens for operationer; registreringshoved og -linje for arbejdstid. Skrivninger udføres som upserts på denne nøgle, så en gentaget meddelelse opdaterer posten i stedet for at oprette en dublet.
  • Genforsøg. Hvis en skrivning til et af systemerne fejler, forsøges den igen. Arbejdstid bogføres én gang pr. tidsregistrerings-ID i SkyPlanner, så et genforsøg ikke kan medføre, at timer tælles dobbelt.
  • Afstemning. En planlagt BAQ sammenligner åbne produktionsordrer, operationsstatus og mængder med SkyPlanner og retter afvigelser, for eksempel hvis en ordre blev lukket i Kinetic, mens en meddelelse var undervejs.
  • Mængdeændringer og annulleringer. En ændret mængde i Kinetic opdaterer ordren og dens procestrin i SkyPlanner. En delvis færdigmelding reducerer den resterende køretid. En produktionsordre, der lukkes eller slettes i Kinetic, fjernes fra planen ved næste synkronisering.

Det indeholder projektet

Implementeringen afsluttes normalt inden for få uger efter opstarten. Et Kinetic-projekt omfatter:

  1. En prøveperiode på 30 dage med CSV- eller Excel-eksporter af produktionsordrer, operationer og ressourcer, før udviklingsarbejdet begynder.
  2. API-nøgle, adgangsomfang, en særskilt integrationsbruger og de BAQs, integrationen læser.
  3. Mapping af stamdata: kapabiliteter, ressourcegrupper, ressourcer, kalendere og medarbejdere knyttes til arbejdsstationer, grupper, skift og personale i SkyPlanner.
  4. Førstegangsindlæsning af varer, fremstillingsmetoder (BOM og operationer) og ressourcer.
  5. Synkronisering af produktionsordrer og indkøbsordrer (leveringsdatoer i PORel) samt lagerbeholdning fra PartWhse.
  6. Tilbageskrivning af planlagte operationsdatoer via ScheduleEngineSvc (MoveJobItem, ChangeResource) i en Epicor Function, hvor produktionsordrens plan låses.
  7. Tilbagemeldinger fra produktionen bogføres som arbejdsregistreringer via LaborSvc.
  8. Test parallelt med den eksisterende Kinetic-plan og derefter idriftsættelse.

Faldgruber i Kinetic

  • Finite indstilles flere steder. Afkrydsningsfeltet Finite findes på ressourcen. Den tidshorisont, hvor produktionsplanlægningen skal respektere den faktiske kapacitet, indstilles på ressourcen, på ressourcegruppen og på fanen Planning i Site Maintenance. Hvert planlægningsværktøj har også sit eget Finite-afkrydsningsfelt. Før I importerer Kinetic-datoer som udgangspunkt, skal I kontrollere, om de overhovedet er planlagt under hensyn til den faktiske kapacitet.
  • Capability eller Resource Group og Resource. Når en operation angiver en kapabilitet, er felterne for ressourcegruppe og ressource tomme. Ellers angiver den en ressourcegruppe, nogle gange med en bestemt ressource. Integrationen skal læse de samme felter og selv finde de ressourcer, der opfylder den angivne kapabilitet.
  • Kalendere afspejler tidligere tilpasninger. Ressourcekalendere og medarbejderantal er ofte justeret for at få den indbyggede planlægning til at fungere som ønsket. Overfør de reelle skiftmønstre og de faktiske medarbejdere til SkyPlanner, og lad systemet tildele flere operatører til en opgave, når den kræver et hold.
  • Datoer skal gennem motoren, ikke CRUD. En simpel opdatering af operationsdatoer via JobEntrySvc omplanlægger ikke ordren. Et indlæg i brugerforummet viser et JobScheduling-kald, der returnerer 200 OK, uden at produktionsordren ændres. Brug ScheduleEngine-sekvensen ovenfor.
  • Datadisciplin afgør resultatet. For optimistiske operationstider, manglende indkøbsleveringstider, produktionsordrer, der ikke bliver lukket, og driftsstop, der mangler i kalenderne, forringer enhver plan, uanset om den laves i Kinetic eller et eksternt system (Bluesky ERP).

Hvem opsætter Kinetic-integrationen?

Ingen fabrikker bruger Kinetic helt ens. Ruter baseret på kapabiliteter, ressourcegruppernes kalendere, BAQ-design, BPM-direktiver og versionsspecifikke metoder til tilbageskrivning varierer fra fabrik til fabrik. Den korrekte opsætning gør forskellen mellem en plan, planlæggerne stoler på, og en, de må lave om.

  1. SkyPlanner-teamet opsætter integrationen under opstarten og yder support efter idriftsættelsen. Teamet mapper jeres ressourcer, produktionsordrer og leveranceplanlinjer på indkøbsordrer og opsætter BAQ-læsninger, BPM-triggere og funktionen til tilbageskrivning. Teamet forbinder SkyPlanners REST API og webhooks med Kinetic REST v2. Supporten fortsætter, når jeres BAQs, BPMs eller Kinetic-version ændres.
  2. Jeres Epicor-partner. Partnere, der allerede udvikler BAQs, BPMs og Epicor Functions, kan arbejde med det samme dokumenterede SkyPlanner REST API, som læser og skriver ordrer, produkter, materialer, procestrin og tidsregistreringer.
  3. Jeres egne udviklere. Interne teams med erfaring i Kinetic REST kan bygge integrationen direkte eller i Automation Studio, hvis I bruger det. En SkyPlanner-API-nøgle er nok til at komme i gang (integrationsvejledning), og SkyPlanner-teamet hjælper efter behov. Produktdokumentationen er offentligt tilgængelig i SkyPlanners dokumentation.

Det samme integrationsmønster med API og webhooks er i drift med andre ERP-systemer, for eksempel hos UTU. Hos Laboratory & Allied byggede det interne IT-team i vid udstrækning selv integrationen til SAP Business One med hjælp fra SkyPlanner.

Uanset hvem der bygger integrationen, er starten den samme: Brug først den gratis prøveperiode på 30 dage med CSV-import, afprøv planen, og byg derefter integrationen. Prisen er fra 199 € pr. måned med 5 arbejdsstationer, månedlig fakturering og mulighed for at opsige når som helst. I får på forhånd et tilbud på integrationen tilpasset jeres processer og behov sammen med abonnementet, så I kender den samlede pris, før I starter.

Hvorfor vælge denne løsning frem for en licens til Kinetic APS?

For en teknisk indkøber handler sammenligningen om omfang, og hvor hurtigt løsningen skaber værdi. Vælg SkyPlanner, når:

  • Integrationen skal holdes enkel. Produktionsordrer, operationer, ressourcer og materialer sendes ud. Planlagte datoer og arbejdstid kommer retur. Datamappingen ovenfor dækker hele omfanget.
  • Planen skal reagere mellem planlægningskørsler. Arcturus laver produktionsplanen på få sekunder under hensyn til maskinernes og medarbejdernes faktiske kapacitet, og Autopilot omplanlægger automatisk, når produktionen ændres. SkyPlanners webhooks sender hver ændring, så Kinetic får nye datoer uden en Global Scheduling-kørsel.
  • Rapportering fra produktionen bør føres over i Kinetics arbejdsregistreringer. Operatørerne registrerer arbejde på telefon eller tablet med Mobile Confirmations, Production Timer og Quick Log Mode. Bogføring via LaborSvc er en del af den samme integration.
  • Indkøbte materialer afgør, hvornår opgaver kan starte. Både lagerbeholdning og åbne leveranceplanlinjer på indkøbsordrer indgår i planen, så operationerne starter, når materialerne faktisk forventes at være til rådighed.
  • I har flere end to begrænsninger. Flere operatører på samme opgave, værktøjer, der er optaget andre steder, samt alternative arbejdsstationer og medarbejdere indgår alle i én plan. En matrix for omstillingstider styrer rækkefølgen af omstillinger, og integrationen skriver resultatet tilbage.
  • I vil se beviset før projektet og holde projektet kort. Prøveperioden viser jeres egen plan baseret på en BAQ-eksport med op til 20 arbejdsstationer og uden krav om kreditkort. Implementeringen afsluttes normalt inden for få uger efter opstarten.

Se funktioner, læs kundeanmeldelser, eller book en demo.

Produktionsvirksomheders anmeldelser af SkyPlanner

Kalle Kalliomäki, forsyningskædespecialist hos UTU, i eltavleproduktionen i Ulvila

2 hsparet hver uge

“Med SkyPlanner er vi gået fra produktionsplanlægning i Excel-ark til optimering af produktionen i realtid.”

Kalle Kalliomäki, specialist i forsyningskæder
UTU · Eltavler og koblingsanlæg

Produktionsplanlægningen sparer 2 timers arbejdstid hver uge, og en ny opgavekø når ud til linjen på få sekunder.

Læs UTU’s anmeldelse

Operatører i renrumsdragter ved en flaskepåfyldningslinje på Laboratory & Allieds lægemiddelfabrik i Nairobi

+90%produktionseffektivitet

“Effektiviteten i produktionen er steget med 90%.”

Abdul Rucyinga, IT-chef
Laboratory & Allied · Lægemiddelproduktion

Produktionseffektiviteten er steget med 90%, og det tager under 30 minutter at lave en optimeret plan for tre måneder på tværs af alle arbejdsstationer.

Læs Laboratory & Allieds anmeldelse

Hannu Ryynänen, administrerende direktør for Mamec, i virksomhedens produktionshal i Lohja

1.000-visaf produktionsordrer planlægges automatisk

“Vi har styr på produktionen på en helt anden måde, og vores forståelse af kapaciteten er på et helt andet niveau.”

Hannu Ryynänen, administrerende direktør
Mamec · Industrielle blandere, pumper og højteknologisk kontraktproduktion

Tusindvis af produktionsordrer planlægges automatisk, og hele organisationen har overblik over produktionen i realtid.

Læs Mamecs anmeldelse

Luftfoto af Piristeels fabrik for tagsikkerhedsudstyr i Kauhava

99,2%leveringssikkerhed

“SkyPlanner har givet os overblik, så vi kan identificere flaskehalse, og gjort produktionsstyringen mere overskuelig.”

Toni Tuori, produktionschef
Piristeel · Tagsikkerhed og regnvandssystemer

Leveringssikkerheden nåede op på 99,2% i år, og detailplanlægningen sparer op til fire timers arbejdstid om dagen.

Læs Piristeels anmeldelse

Ofte stillede spørgsmål

Hvordan integreres SkyPlanner APS med Epicor Kinetic?

Integrationen går begge veje via Kinetic REST v2, BAQs og Epicor Functions. Produktionsordrer, operationer, ressourcer og indkøbsordrefrigivelser overføres til SkyPlanner. Planlagte operationsdatoer og arbejdstimer sendes tilbage, og webhooks sender ændringer i planen, så snart de sker. SkyPlanner-teamet tilpasser integrationen til jeres Kinetic-opsætning under opstarten, og jeres Epicor-partner eller udviklere kan bruge samme REST API.

Hvilket Kinetic API bør en integration til detailplanlægning bruge?

REST v2. Brug JobEntrySvc til produktionsordrer og operationer, ResourceGroupSvc, ResourceSvc og CapabilitySvc til kapacitet, BAQ’er til store dataudtræk og LaborSvc til at skrive arbejdsregistreringer tilbage.

Understøtter Epicor Kinetic webhooks?

Ikke som et generelt API til udgående webhooks. Hændelsesstyrede overførsler sker via BPM-direktiver, der kalder Epicor Functions. Alternativt kan I forespørge en BAQ med faste intervaller.

Kan SkyPlanner skrive planlagte datoer tilbage til produktionsordrer i Kinetic?

Ja. En Epicor Function kalder ScheduleEngine.GetNewParamsForJob, MoveJobItem for hver operation og ChangeResource, når ressourcen er ændret. Derefter låser den produktionsordrens plan, så Global Scheduling bevarer datoerne. De samme kald kan også køres direkte via REST på Erp.BO.ScheduleEngineSvc.

Hvem vedligeholder integrationen?

SkyPlanner-teamet konfigurerer integrationen under opstarten og yder support efter idriftsættelsen, også når jeres BAQs, BPMs eller Kinetic-version ændres.

Fungerer integrationen med Epicor Kinetic installeret lokalt?

Ja. REST API, BAQs, BPMs og Epicor Functions fungerer på samme måde lokalt og i Kinetic-cloudmiljøet, så det samme integrationsdesign dækker begge dele.

Hvor lang tid tager det at integrere SkyPlanner APS og Epicor Kinetic?

Implementeringen er normalt færdig inden for få uger efter opstarten. Den omfatter den mapping, indledende dataindlæsning, synkronisering af produktions- og indkøbsordrer, tilbageskrivning af planen og bogføring af arbejdstimer, som er beskrevet ovenfor. Det hele testes parallelt med jeres nuværende plan.