Ansluter med ERP & MES-system som

Integrationer / ERP / Epicor Kinetic

Integrationsguide för Epicor Kinetic för produktionsplanering med SkyPlanner APS

Den här guiden visar Epicor-partner, IT-team och tekniska inköpare hur SkyPlanner APS kan användas för finplanering tillsammans med Epicor Kinetic, med hänsyn till maskinernas och personalens faktiska kapacitet. SkyPlanner integreras med Epicor Kinetic i båda riktningarna via Kinetics egna REST-tjänster:

  • Tillverkningsorder, operationer, resurser och avrop på inköpsorder läses in.
  • Planerade operationsdatum förs tillbaka till tillverkningsorderna.
  • Operatörernas tidsregistreringar återrapporteras som arbetstid i Kinetic.
  • SkyPlanners webhooks skickar planändringar så snart de sker.
Gantt-tidslinje i SkyPlanner APS med operationer inplanerade på arbetsstationer och en orderlista nedanför.

SkyPlanner-teamet konfigurerar integrationen utifrån er Kinetic-miljö under införandet och ger support efter driftsättningen. Den här guiden är för partner och utvecklare som vill delta eller själva bygga vidare på SkyPlanners dokumenterade REST API (API-referens).

Om ni ännu inte har avgjort om Kinetics egna Scheduling and Resource Management eller APS-modulen täcker era behov, läs först Har Epicor Kinetic finplanering?

Kinetics integrationsgränssnitt

Epicor skriver: ”All Kinetic services, including business objects, processes, reports, BAQs, and Epicor Functions, are accessible through REST endpoints.” (Alla Kinetic-tjänster, inklusive affärsobjekt, processer, rapporter, BAQ-frågor och Epicor Functions, är tillgängliga via REST-endpoints.) En integration för produktionsplanering bygger på fyra Epicor-tekniker:

  1. Kinetic REST API v2 (OData v4). Affärsobjekt exponeras som tjänster med namnet Erp.BO.<Name>Svc. Den vanliga sökvägen är /api/v2/odata/{Company}/Erp.BO.{Svc}/{EntitySet}. REST v1 finns kvar men är en äldre version, så bygg på v2. Kontrollera vilka entitetsuppsättningar och metoder som gäller för din version i REST Help på /api/help/v2/.
  2. Business Activity Queries (BAQ) via REST. En BAQ exponeras på /api/v2/odata/{Company}/BaqSvc/{BAQ}/Data. Det är ett praktiskt sätt att läsa ut planeringsunderlag som sammanför JobHead, JobOper, JobMtl, PartWhse och PORel i ett enda anrop (exempel från användarforumet).
  3. Epicor Functions (EFx). Funktioner på serversidan som kan anropas på /api/v2/efx/{Company}/{Library}/{Function}. Epicor skriver att de ”can be triggered from multiple entry points, including BPMs, REST services, schedules, and application events.” (kan utlösas från flera ingångspunkter, bland annat BPM, REST-tjänster, scheman och applikationshändelser).
  4. BPM-direktiv. Method Directives och Data Directives utlöses när en tillverkningsorder eller operation ändras och kan anropa en funktion som skickar ut data.

För filöverföring hanterar DMT importen, medan BAQ-exporter används för att hämta ut data. Epicor erbjuder även Epicor Automation Studio, som företaget beskriver som ”a low-code app for integration-led automations” (en lågkodsapp för integrationsdriven automatisering). Undvik direkt databasåtkomst: REST, BAQ-frågor och funktioner fungerar på samma sätt lokalt och i Kinetic Cloud.

Autentisering och åtkomstomfång

Kinetic REST v2 styr åtkomsten per integration. Varje integration får en API-nyckel kopplad till ett åtkomstomfång som anger vilka tjänster och metoder den får anropa. Epicor formulerar det så här: ”API keys, access scopes, and standard authentication methods control which services and methods are available to each integration.” (API-nycklar, åtkomstomfång och standardmetoder för autentisering styr vilka tjänster och metoder varje integration får tillgång till.)

Utöver API-nyckeln måste den som anropar logga in som en Kinetic-användare. Använd ett särskilt integrationskonto med enbart de behörigheter integrationen behöver. På SkyPlanner-sidan använder REST API:et JWT-autentisering och är dokumenterat i Swagger/OpenAPI.

För en SkyPlanner-integration omfattar åtkomstomfånget vanligtvis:

  • Erp.BO.JobEntrySvc (JobEntries, JobOpers, GetDatasetForTree)
  • Erp.BO.ResourceGroupSvc och 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 BAQ-frågor och EFx-bibliotek som ni publicerar för integrationen

Om en metod saknas i åtkomstomfånget visar sig felet vid körning, inte vid konfigurationen. Lista alla metoder ni anropar, bevaka när API-nycklar löper ut och sätt upp larm för HTTP-fel, inte bara för tomma resultat.

Upptäcka ändringar: BPM-direktiv, funktioner eller polling

Epicor dokumenterar inget generellt API för utgående webhooks. Därför når ändringar i Kinetic SkyPlanner på ett av två sätt:

  • Händelsestyrt. Ett BPM Data Directive på JobHead eller JobOper anropar en Epicor Function, som skickar den ändrade tillverkningsordern till SkyPlanners REST API.
  • Schemalagd polling. En BAQ-fråga med filter på ändringsdatum körs med några minuters mellanrum eller varje timme. Det är enklare att förvalta och återställa efter fel.

I den andra riktningen skickar SkyPlanner status- och planeringsändringar via sina webhooks. Er mellanprogramvara eller en EFx-endpoint tar emot dem och skriver till Kinetic.

Datamappning

Entitet / tjänst i KineticObjekt i SkyPlannerRiktningFrekvens
Part, PartRev (Erp.BO.PartSvc/Parts)ProduktKinetic till SkyPlannerFörsta inläsning, därefter schemalagt
PartMtl (beredning), JobMtl (tillverkningsorder)Material för produkt och orderKinetic till SkyPlannerTillsammans med tillverkningsordern
PartOpr (beredning), JobOper (tillverkningsorder)ProcesstegKinetic till SkyPlannerTillsammans med tillverkningsordern
ResourceGroup, Resource (ResourceGroupSvc, ResourceSvc)Grupper av produktionsgrupper, produktionsgrupperKinetic till SkyPlannerFörsta inläsning, vid ändring
Capability (CapabilitySvc)Alternativa produktionsgrupperKinetic till SkyPlannerFörsta inläsning, vid ändring
Kalendrar för resurser och resursgrupperSkift och undantagKinetic till SkyPlannerFörsta inläsning, därefter varje vecka eller vid ändring
EmpBasic (EmpBasicSvc)PersonalKinetic till SkyPlannerFörsta inläsning, vid ändring
JobHead (JobEntrySvc/JobEntries)OrderKinetic till SkyPlannerI realtid via BPM + EFx, eller genom BAQ-pollning
PartWhse via BAQLagersaldoKinetic till SkyPlannerSchemalagt
Inköpsorder: POHeader, PODetail, PORel via BAQInköpsorder / inkommande material (förväntat leveransdatum)Kinetic till SkyPlannerSchemalagt, eller vid ändrad inköpsorder via BPM + EFx
Planerad start- och sluttid per operationDatum i JobOper via ScheduleEngineSvc (MoveJobItem, ChangeResource) i en EFxSkyPlanner till KineticVid ändrad produktionsplan, via webhook
Tidsregistreringar, kvantiteter, operationsstatus, orsakerLabors / LaborDtls via LaborSvc; orsakskoder via Erp.BO.ReasonSvcSkyPlanner till KineticI realtid via webhook

Epicor kallar tillverkningsordern för Job. Mappa en JobHead till en order i SkyPlanner och varje JobOper till ett processteg. Använd tillverkningsordernummer, sammanbyggnadssekvens och operationssekvens som extern nyckel.

Integrationsmönster

1. Första inläsningen av grunddata. Läs in artiklar, resursgrupper, resurser, förmågor, kalendrar och anställda. Skapa produktionsgrupper i SkyPlanner utifrån resurserna i Kinetic och gruppera dem utifrån resursgrupperna. Använd $top och $skip för att hämta stora datamängder sida för sida, eller hämta större datamängder via en BAQ.

2. Ordersynkronisering. Skicka frisläppta och fastställda tillverkningsorder med tillhörande operationer och material. Hämta hela orderträdet med GetDatasetForTree eller en BAQ, inte entitet för entitet. Låt preliminära MRP-order ligga kvar i Kinetic tills de har fastställts. Synkronisera öppna avrop på inköpsorder och deras leveransdatum samtidigt som lagersaldot läses in. SkyPlanner räknar beställt material som tillgängligt på leveransdagen och uppdaterar lagersaldot när inköpsordern markeras som Delivered. Planeringen tar därmed hänsyn till både lagersaldo och inkommande inköp.

3. Återskrivning av produktionsplanen. SkyPlanners webhook skickar planerad start, sluttid och produktionsgrupp per operation till en EFx-endpoint (/api/v2/efx/{Company}/{Library}/{Function}). Funktionen skriver via Kinetics planeringsmotor, samma affärsobjekt som används för planeringen i Job Entry och på planeringstavlorna (exempel från användarforumet):

  1. ScheduleEngine.GetNewParamsForJob skapar planeringsmotorns dataset för tillverkningsordern.
  2. Funktionen anger tillverkningsordernummer, sammanbyggnads- och operationssekvens samt planerat startdatum och klockslag och anropar sedan ScheduleEngine.MoveJobItem.
  3. När SkyPlanner har lagt operationen på en annan resurs i gruppen flyttar ScheduleEngine.ChangeResource den dit. Enbart MoveJobItem behåller gruppens standardresurs.
  4. Funktionen låser tillverkningsorderns planering (JobHead.SchedLocked, alternativet Lock i Job Entry), så att Global Scheduling behåller datumen från SkyPlanner.

Genom att samla anropen i en Epicor Function blir skrivningen atomär per tillverkningsorder, och du kan lägga till egen validering. Om anläggningen föredrar att inte använda en anpassad funktion kan samma sekvens köras som direkta REST-anrop till Erp.BO.ScheduleEngineSvc. Skriv aldrig direkt till ResourceTimeUsed eller datumfälten i JobOper: då kringgås motorn och allokeringarna på planeringstavlan hamnar ur synk.

4. Återrapportering från produktionen. Operatörerna registrerar arbete i SkyPlanner med Mobile Confirmations, Production Timer eller Quick Log Mode. Varje avslutad tidsregistrering blir en arbetsrapportering i Kinetic via Erp.BO.LaborSvc: StartActivity och EndActivityByEmp för pågående arbete, eller Labors med Update för efterhandsregistrering. Om anläggningen kräver godkännande ska submitForApproval ingå i både flödet och behörighetsomfånget.

5. Dataägarskap och konfliktregler. Dokumentera dem före driftsättning:

DataÄgare
Artiklar, tillverkningsmetoder, resurser, kalendrar, tillverkningsorder, MRP, lager, kostnadsberäkningKinetic
Kvantiteter och tillverkningsorderns statusKinetic
Operationsordning, planerade datum, resurs inom gruppenSkyPlanner

Tillverkningsorder som SkyPlanner planerar är låsta för omplanering, så Global Scheduling lämnar deras datum oförändrade. Behåll Kinetics planering för de resurser som SkyPlanner inte planerar.

Nycklar, återförsök och avstämning

  • Stabila nycklar. Varje post har sin Kinetic-nyckel: tillverkningsordernummer, monteringssekvens och operationssekvens för operationer, samt huvud- och detaljpost för arbetstid. Skrivningar använder upsert med den nyckeln, så ett upprepat meddelande uppdaterar posten i stället för att skapa en dubblett.
  • Återförsök. En misslyckad skrivning till något av systemen görs om. Arbetstid registreras en gång per tidsregistrerings-ID i SkyPlanner, så ett återförsök kan inte dubbelräkna timmar.
  • Avstämning. En schemalagd BAQ-fråga jämför öppna tillverkningsorder, operationsstatus och kvantiteter med SkyPlanner och korrigerar avvikelser, till exempel om en tillverkningsorder stängdes i Kinetic medan ett meddelande var på väg.
  • Kvantitetsändringar och annulleringar. En ändrad kvantitet i Kinetic uppdaterar ordern och dess processteg i SkyPlanner. En delrapportering minskar den återstående körtiden. En tillverkningsorder som stängs eller tas bort i Kinetic tas bort ur planen vid nästa synkronisering.

Det här ingår i projektet

Implementeringen blir normalt klar inom några veckor efter att införandet har startat. Ett Kinetic-projekt omfattar:

  1. En 30-dagars provperiod med CSV- eller Excel-exporter av tillverkningsorder, operationer och resurser, innan någon utveckling påbörjas.
  2. API-nyckel, åtkomstomfång, ett särskilt integrationskonto och de BAQ-frågor som integrationen läser.
  3. Mappning av grunddata: förmågor, resursgrupper, resurser, kalendrar och anställda till arbetsstationer, grupper, skift och personal i SkyPlanner.
  4. Initial inläsning av artiklar, tillverkningsmetoder (BOM och operationer) och resurser.
  5. Synkronisering av tillverkningsorder och inköpsorder (leveransdatum i PORel) samt lagersaldo från PartWhse.
  6. Återskrivning av planerade operationsdatum via ScheduleEngineSvc (MoveJobItem, ChangeResource) i en Epicor Function, med tillverkningsorderns planering låst.
  7. Återrapportering från produktionen som registreras som arbetsrapportering via LaborSvc.
  8. Testning parallellt med den befintliga Kinetic-planen, följt av driftsättning.

Fallgropar i Kinetic

  • Finplanering ställs in på flera ställen. Kryssrutan Finite finns på resursen. Tidshorisonten för finplanering anges på resursen, på resursgruppen och på fliken Planning i Site Maintenance. Varje planeringsverktyg har dessutom en egen kryssruta för finplanering. Innan ni importerar datum från Kinetic som utgångspunkt bör ni kontrollera om de över huvud taget har tagits fram med finplanering.
  • Capability eller Resource Group och Resource. När en operation anger en förmåga lämnas resursgrupp och resurs tomma. Annars anges en resursgrupp, ibland tillsammans med en specifik resurs. Integrationen måste läsa samma fält och själv avgöra vilka resurser som uppfyller den angivna förmågan.
  • Kalendrar präglas av tidigare anpassningar. Resurskalendrar och personalantal har ofta justerats för att få den inbyggda planeringen att fungera som önskat. För över verkliga skiftmönster och den faktiska personalen till SkyPlanner och låt systemet tilldela flera operatörer till en operation när ett arbetslag behövs.
  • Datum ska gå via motorn, inte CRUD. En vanlig uppdatering av operationsdatum via JobEntrySvc gör ingen omplanering. Ett foruminlägg visar hur ett JobScheduling-anrop returnerar 200 OK utan att tillverkningsordern ändras. Använd sekvensen med ScheduleEngine ovan.
  • Datadisciplin avgör resultatet. Optimistiska operationstider, saknade inköpsledtider, tillverkningsorder som lämnas öppna och driftstopp som saknas i kalendrarna försämrar alla planer, oavsett om planeringen är inbyggd eller extern (Bluesky ERP).

Vem konfigurerar Kinetic-integrationen?

Ingen fabrik använder Kinetic på exakt samma sätt som en annan. Förmågebaserade operationsföljder, resursgruppernas kalendrar, BAQ-utformning, BPM-direktiv och versionsspecifika metoder för återskrivning skiljer sig mellan anläggningar. Hur väl dessa delar fungerar avgör om planerarna litar på planen eller måste arbeta om den.

  1. SkyPlanner-teamet konfigurerar integrationen under införandet och ger support efter driftsättningen. Teamet mappar era resurser, tillverkningsorder och avrop på inköpsorder samt konfigurerar BAQ-läsningar, BPM-utlösare och funktionen för återskrivning. Teamet kopplar SkyPlanners REST API och webhooks till Kinetic REST v2. Supporten fortsätter när era BAQ-frågor, BPM-direktiv eller er Kinetic-version ändras.
  2. Er Epicor-partner. Partner som redan utvecklar BAQ-frågor, BPM-direktiv och Epicor Functions kan använda samma dokumenterade REST API i SkyPlanner för att läsa och skriva order, produkter, material, processteg och tidsregistreringar.
  3. Era egna utvecklare. Interna team med erfarenhet av Kinetic REST kan bygga direkt, eller i Automation Studio om ni använder det. En API-nyckel till SkyPlanner räcker för att komma igång (integrationshandledning), och SkyPlanner-teamet hjälper till vid behov. Produktdokumentationen finns öppet tillgänglig i SkyPlanners dokumentation.

Samma integrationsmönster med API och webhooks används i produktion med andra ERP-system, till exempel hos UTU. Hos Laboratory & Allied byggde det interna IT-teamet integrationen med SAP Business One till stor del på egen hand med hjälp från SkyPlanner.

Alla alternativ börjar på samma sätt: använd först den kostnadsfria provperioden på 30 dagar med CSV-importer, verifiera planen och bygg sedan integrationen. Priset är från 199 € per månad med 5 arbetsstationer. Fakturering sker månadsvis och ni kan säga upp när som helst. Ni får en offert på integrationen i förväg utifrån era processer och behov, tillsammans med ert abonnemang, så att ni ser hela kostnaden innan ni börjar.

Varför välja den här lösningen i stället för en licens för Kinetic APS?

För en teknisk inköpare handlar jämförelsen om omfattning och hur snabbt lösningen ger nytta. Välj SkyPlanner när:

  • Integrationen ska ha begränsad omfattning. Tillverkningsorder, operationer, resurser och material skickas ut. Planerade datum och arbetstid kommer tillbaka. Integrationen omfattar endast den datamappning som beskrivs ovan.
  • Planen måste reagera mellan körningarna. Arcturus finplanerar produktionen på några sekunder, och Autopilot planerar om automatiskt när produktionen förändras. SkyPlanners webhooks skickar varje ändring, så att Kinetic får nya datum utan att Global Scheduling behöver köras.
  • Produktionsrapporteringen ska föras över till Kinetics arbetsrapportering. Operatörerna registrerar arbete på telefon eller surfplatta med Mobile Confirmations, Production Timer och Quick Log Mode. Registreringen via LaborSvc ingår i samma integration.
  • Inköpt material styr när tillverkningsorder kan starta. Både lagersaldon och öppna avrop på inköpsorder ligger till grund för planen, så att operationerna startar när materialet faktiskt väntas vara på plats.
  • Ni har fler än två begränsningar att ta hänsyn till. Flera operatörer på samma operation, verktyg som är blockerade medan de används på annat håll samt alternativa arbetsstationer och personal hanteras i en och samma plan. En ställtidsmatris styr ordningen på omställningarna, och integrationen skriver tillbaka resultatet.
  • Ni vill se att det fungerar före projektet och hålla projektet kort. Provperioden visar er egen plan utifrån en BAQ-export, med upp till 20 arbetsstationer och utan krav på kreditkort. Implementeringen blir normalt klar inom några veckor efter att införandet har startat.

Se funktioner, läs kundomdömen eller boka en demo.

Tillverkningsföretagens omdömen om SkyPlanner

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

2 hsparade varje vecka

”Med SkyPlanner har vi gått från produktionsplanering i Excel till att optimera produktionen 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 arbetskö når produktionslinjen på några sekunder.

Läs kundberättelsen om UTU

Operatörer i renrumsdräkter vid en flaskfyllningslinje på 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 ta fram en optimerad plan för tre månader för samtliga arbetsstationer.

Läs kundberättelsen om Laboratory & Allied

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

1 000-talstillverkningsorder planeras automatiskt

”Vi har kontroll över produktionen på ett annat sätt, och vår förståelse för kapaciteten ligger 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 får en realtidsbild av produktionen.

Läs kundberättelsen om Mamec

Flygbild över Piristeels fabrik för taksäkerhetsprodukter i Kauhava

99,2%leveransprecision

”SkyPlanner har gjort det lättare att se flaskhalsarna och gett oss en tydligare produktionsstyrning.”

Toni Tuori, produktionschef
Piristeel · Taksäkerhet och takavvattningssystem

Leveransprecisionen nådde 99,2% i år, och produktionsplaneringen sparar upp till fyra timmars arbetstid per dag.

Läs kundberättelsen om Piristeel

Vanliga frågor

Hur integreras SkyPlanner APS med Epicor Kinetic?

Integrationen går i båda riktningarna via Kinetic REST v2, BAQs och Epicor Functions. Tillverkningsorder, operationer, resurser och inköpsavrop förs över till SkyPlanner. Planerade operationsdatum och arbetstid förs tillbaka, och webhooks skickar ändringar i produktionsplanen så snart de sker. SkyPlanner-teamet anpassar integrationen till er Kinetic-miljö under införandet. Er Epicor-partner eller era utvecklare kan använda samma REST API.

Vilket API i Kinetic bör användas för en integration för produktionsplanering?

REST v2. Använd JobEntrySvc för tillverkningsorder och operationer, ResourceGroupSvc, ResourceSvc och CapabilitySvc för kapacitet, BAQ för läsning av större datamängder och LaborSvc för att återrapportera arbete.

Har Epicor Kinetic stöd för webhooks?

Inte i form av ett generellt API för utgående webhooks. Händelsestyrda överföringar sker via BPM-direktiv som anropar Epicor Functions. Ett alternativ är att läsa av en BAQ med jämna intervall.

Kan SkyPlanner skriva tillbaka planerade datum till tillverkningsorder i Kinetic?

Ja. En Epicor Function anropar ScheduleEngine.GetNewParamsForJob, MoveJobItem per operation och ChangeResource när resursen har ändrats. Därefter låser den tillverkningsorderns planering så att Global Scheduling behåller datumen. Samma anrop kan också köras direkt via REST mot Erp.BO.ScheduleEngineSvc.

Vem underhåller integrationen?

SkyPlanner-teamet konfigurerar integrationen under införandet och ger support efter driftsättningen, även när era BAQs, BPMs eller er Kinetic-version ändras.

Fungerar integrationen med lokalt installerad Epicor Kinetic?

Ja. REST API, BAQs, BPMs och Epicor Functions fungerar på samma sätt i en lokal installation som i Kinetics molnmiljö. Därför kan samma integrationslösning användas för båda.

Hur lång tid tar det att integrera SkyPlanner APS med Epicor Kinetic?

Implementeringen är normalt klar inom några veckor efter att införandet har börjat. Den omfattar mappning, inledande datainläsning, synkronisering av tillverkningsorder och inköpsorder, återföring av produktionsplanen och rapportering av arbetstid enligt beskrivningen ovan. Allt testas parallellt med er nuvarande produktionsplan.