Integrationer / ERP / Fulcrum
Guide till Fulcrum-integration för produktionsplanering med SkyPlanner APS
Den här guiden till Fulcrum-integration visar hur konsulter och IT-team ansluter Fulcrum (Fulcrum Pro) till SkyPlanner APS. SkyPlanner integreras med Fulcrum i båda riktningarna via Fulcrum Public API:
- Jobb med tillhörande artiklar som ska tillverkas och operationer läses in, liksom artiklarnas operationsföljder, produktionsgrupper, utrustning, avdelningsskift, stillestånd, lagersaldon och inköpsorder.
- Planerad start, planerat slut och produktionsgrupp skrivs till anpassade fält på varje operation i jobbet.
- Operatörstid och färdiga kvantiteter återförs som tidtagningar och kvantitetsuppdateringar i Fulcrum.
- SkyPlanners webhooks skickar planändringar direkt när de sker.
SkyPlanner-teamet konfigurerar integrationen för er Fulcrum-miljö under införandet och ger support efter driftsättningen. Den här guiden riktar sig till konsulter och utvecklare som vill delta eller själva bygga vidare på SkyPlanners dokumenterade REST API (API-referens).
Fulcrum Public API
Fulcrum är en gemensam molnprodukt med flera klientorganisationer, så alla kunder använder samma API. I utvecklarportalen beskrivs det som ett publikt API för ”REST API calls directly into your Fulcrum site.” (REST API-anrop direkt till er Fulcrum-miljö).
- Specifikation. OpenAPI ”Fulcrum PublicAPI” v1 kan laddas ned från
https://api.fulcrumpro.com/swagger/v1/swagger.json. Fulcrum föreslår att en typad klient genereras utifrån den. På sidan History listas alla ändringar med datum. - Värdar.
https://api.fulcrumpro.comanvänds för standardmiljöer. ITAR-miljöer använderapi.fulcrumpro.us, och ITAR-token får svaret 401 från .com-värden. - Anropsmönster. Listor hämtas med
POST .../listoch filter i anropskroppen, sidindelning medSkipochTakesamt sortering medSort.Field/Sort.Dir. Många objekt stöder PUT, och jobb stöder även JSON Patch.
En integration för produktionsplanering använder följande ändpunkter:
| Område | Ändpunkter |
|---|---|
| Artiklar och operationsföljder | /api/items, /api/items/{itemId}/routing, /routing/operations, /routing/input-items, /routing/input-materials |
| Produktionsinställningar | /api/work-centers, /api/equipment, /api/operations, /api/department-shifts, /api/equipment-downtimes |
| Jobb | /api/jobs, /api/jobs/{jobId}/items-to-make/{itemToMakeId}/operations, /api/work-orders |
| Material | /api/inventory, /api/materials, /api/purchase-orders, /api/reporting/material-requirements/list |
| Produktionsgolvet | /api/job-tracking-timers/start och /stop, /api/timers, .../operations/{operationId}/add-quantity-completed, .../complete |
Fulcrums egen integrationssida är tydlig med vad arbetet innebär: ”Every system is a little bit different and requires some configuration.” (Alla system skiljer sig lite åt och kräver viss konfigurering.) Det är just den konfigureringen som SkyPlanner-teamet tar hand om under införandet.
Autentisering
Fulcrum använder en Bearer-token i headern Authorization. ”A public API token can be generated within your fulcrum site via Business Setup -> System Data -> Public Api.” (En token för det publika API:et kan skapas i er Fulcrum-miljö via Business Setup -> System Data -> Public Api.) Varje token har ett namn, en beskrivning och ett utgångsdatum. Ni kan skapa så många ni behöver och återkalla en token genom att ta bort den. Ge SkyPlanner-integrationen en egen token och lägg in en påminnelse innan den löper ut.
På SkyPlanner-sidan autentiseras REST API med en API-token i headern Authorization-Token (SkyPlanner Settings > API). API:et är dokumenterat i Swagger/OpenAPI. Integrationshandledningen går igenom de första anropen.
Händelser och pollning
Fulcrum stöder webhooks som konfigureras av en administratör. Sedan september 2026 pausas webhooks som misslyckas och testas på nytt dagligen, i stället för att försöken fortsätter i all oändlighet. I API-historiken anges händelser som PurchaseOrderUpdated och ItemUpdated.
Integrationen läser data från Fulcrum på följande sätt:
- Öppna jobb filtreras på
scheduledochinProgressmedhasIncompleteOperations: trueoch hämtas med några minuters mellanrum. Det är det filter som Fulcrum självt anger för att matcha innehållet på sin planeringssida. - Inköpsorder och lagersaldon hämtas före varje planeringskörning, eller när en
PurchaseOrderUpdated-webhook utlöses där en sådan har konfigurerats. - Artiklar, operationsföljder, utrustning och skift hämtas vid ändring eller varje natt.
I motsatt riktning skickar SkyPlanners egna webhooks planändringar så snart de sker. Återföringen är alltså händelsestyrd.
Datamappning
| Fulcrum-objekt (ändpunkt) | SkyPlanner-objekt | Riktning | Frekvens |
|---|---|---|---|
Item, Materials (/api/items, /api/materials) | Produkter och material | Fulcrum → SkyPlanner | Första inläsningen, därefter varje natt |
Ingående artiklar och material i operationsföljden (/routing/input-items, /input-materials) | Produktstruktur, delprodukter, material per produkt | Fulcrum → SkyPlanner | Första inläsningen, därefter vid ändring |
Operationer i operationsföljden (/routing/operations): setupTime, laborTime, machineTime (fast eller per enhet), selectedEquipmentIds | Processteg, ställtider, varaktigheter, tillåtna produktionsgrupper | Fulcrum → SkyPlanner | Första inläsningen, därefter vid ändring |
Work Center (/api/work-centers) | Grupp av produktionsgrupper | Fulcrum → SkyPlanner | Första inläsningen, därefter sällan |
Equipment (/api/equipment): unlimitedCapacity, canRunUnattended, status | Produktionsgrupper, batchoperationer, obemannad drift | Fulcrum → SkyPlanner | Första inläsningen, dagligen för status |
Department Shifts (/api/department-shifts), Equipment Downtimes | Skift och frånvaro | Fulcrum → SkyPlanner | Första inläsningen, därefter dagligen |
Job och jobbets operationer (/api/jobs, .../items-to-make/{id}/operations): priority, productionDueDate, earliestStartDate, tidsuppskattningar | Order och operationer | Fulcrum → SkyPlanner | Pollning med några minuters mellanrum |
| Inventory, Purchase Orders med Expected Receive-datum | Lagersaldon och inkommande material | Fulcrum → SkyPlanner | Före varje planeringskörning |
customFields för jobbets operation (POST .../operations/{operationId}) | Planerad start, planerat slut, produktionsgrupp | SkyPlanner → Fulcrum | Vid planändring, via en webhook från SkyPlanner |
customFields för Job (PUT /api/jobs/{jobId}/custom-fields) | Planerat slut för jobbet | SkyPlanner → Fulcrum | Vid planändring |
Tidtagningar för jobbuppföljning, /api/timers, add-quantity-completed, complete | Tidsregistreringar, färdiga och kasserade kvantiteter | SkyPlanner → Fulcrum | När operatörerna registrerar arbete |
| Finns inte i Fulcrum | Namngivna operatörer, ställtidsmatris, verktyg med begränsad kapacitet, alternativa produktionsgrupper | Underhålls i SkyPlanner | Konfigureras under införandet |
Integrationsmönster
1. Första inläsningen av grunddata. Hämta artiklar, material, operationsföljder, produktionsgrupper och utrustning, och därefter avdelningsskift och stillestånd. Varje produktionsgrupp i Fulcrum blir en grupp av produktionsgrupper i SkyPlanner, med den tillhörande utrustningen som medlemmar. Den utrustning som valts för varje operation i operationsföljden blir operationens tillåtna produktionsgrupper. Utrustning med Unlimited Capacity, till exempel ugnar och lackeringsbås, blir batchoperationer.
2. Ordersynkronisering. Läs in öppna jobb med tillhörande artiklar som ska tillverkas och operationer, samt öppna inköpsorder och lagersaldon. SkyPlanner betraktar beställt material som tillgängligt på inköpsorderns leveransdatum och uppdaterar lagersaldot när inköpsordern markeras som Delivered. Vid varje omplanering kontrolleras lagersaldon och inkommande inköp.
3. Återskrivning av planen. Fulcrum beräknar själv scheduledStartUtc, scheduledEndUtc och scheduledEquipmentId och returnerar dem som skrivskyddade värden. Vid uppdatering av en operation accepteras customFields. SkyPlanner skriver planerad start, planerat slut och produktionsgrupp till anpassade fält på varje orderoperation, och planerat slut till ett anpassat fält på ordern. Försäljning och inköp ser SkyPlanners datum på ordern i Fulcrum.
4. Återrapportering från produktionsgolvet. Operatörerna registrerar arbete i SkyPlanner med Mobile Confirmations, Production Timer eller Quick Log Mode. SkyPlanner skickar tiden till Fulcrum via /api/job-tracking-timers/start och /stop, eller som ett avslutat tidsblock via /api/timers. Antal rapporteras via add-quantity-completed, och slutantalet inklusive kassation via complete. Orderkalkylen i Fulcrum hålls uppdaterad.
5. Regler för dataägarskap och konflikter. Fulcrums planeringsfunktion ”dictates the order of operations in Job Tracking.” (styr operationsordningen i Job Tracking). Välj därför en kanal för arbetsfördelning per operation: SkyPlanners operatörskö eller Fulcrum Job Tracking. Dokumentera reglerna före driftstart:
| Data | Ägare |
|---|---|
| Artiklar, operationsföljder, kalkyler, lager, inköp, kostnadsberäkning | Fulcrum |
| Operationsordning, start- och sluttider, tilldelning av produktionsgrupp | SkyPlanner |
| Operatörer, ställtidsmatris, verktyg, alternativa resurser | SkyPlanner |
| Skift och stillestånd | Ett system, som väljs under kartläggningen |
| Registrerad tid och färdigrapporterade antal | SkyPlanner, överförs till Fulcrum |
Typiska projektsteg
Implementeringen slutförs normalt inom några veckor efter att introduktionen har börjat. Före dess kan ni använda egna data under den kostnadsfria provperioden på 30 dagar. Exportera artiklar, operationsföljder och öppna order från Fulcrums tabellvyer till CSV, importera dem och kontrollera planen.
Själva projektet omfattar:
- Token och omfattning. Skapa en token för Public API och kom överens om vilka anpassade fält som ska användas för återskrivning.
- Mappning. Fastställ mappningstabellen, reglerna för dataägarskap och kanalen för arbetsfördelning.
- Första inläsning. Artiklar, material, operationsföljder, produktionsgrupper, utrustning, skift och stillestånd.
- Synkronisering av order och inköpsorder. Hämta orderändringar regelbundet, tillsammans med inköpsorder och lagersaldon.
- Inställning av begränsningar i SkyPlanner. Operatörer och deras skift, ställtidsmatris, verktyg och alternativa produktionsgrupper.
- Återskrivning. Anpassade fält på orderoperationer och order.
- Återrapportering från produktionsgolvet. Överför tidregistreringar och antal till Fulcrum.
- Parallelltestning och driftstart. Kör SkyPlanner parallellt med Fulcrums planering, jämför datum och rätta grunddata. Byt sedan kanal för arbetsfördelning.
Att tänka på vid en integration med Fulcrum
- Bemanningen avspeglas i antalet per skift. Fulcrums Max Equipment per skift ”is usually determined by how many people you have working in a certain area at that time.” (bestäms vanligtvis av hur många personer som arbetar i ett visst område vid den tidpunkten). Namngivna operatörer och deras skift läggs upp i SkyPlanner. Namnen hämtas från användarna i
/api/users. - Planeringen görs mot utrustning. Produktionsgrupper i Fulcrum består av utbytbar utrustning. Se till att rätt utrustning är vald i operationsföljden, eftersom valet avgör vilka alternativ planeringsmotorn kan välja mellan.
- Tillverkningsorder grupperar order. En tillverkningsorder samlar operationer från flera order, till exempel i en skärlayout. När tidtagning startas på en grupperad operation startas i stället tillverkningsorderns tidtagning, som omfattar alla orderoperationer i gruppen.
- Gränser för tidregistrering. Retroaktiva tidsblock i
/api/timers”may not be in the future, older than 30 days, or longer than 7 days.” (får inte ligga i framtiden eller överskrida de angivna gränserna för ålder och längd). Överför tiden allteftersom operatörerna registrerar den. - Tidsformaten skiljer sig åt. Skift använder lokal tid i formatet HHmm. Stillestånd och planerade datum anges i UTC, medan beräknade operationstider anges i sekunder.
- Uppdateringar av utrustning ersätter hela posten. Ett PUT-anrop för utrustning tömmer alla fält som inte ingår i anropet. SkyPlanner läser utrustningsdata men skriver aldrig till dem.
- ITAR-miljöer. Använd värden med
.usoch en ITAR-token.
Integrationen med Fulcrum: vem konfigurerar den och ger support?
Arbetet omfattar mappning av era avdelningar, produktionsgrupper, utrustning och operationsföljder. Dessutom konfigureras de begränsningar som inte finns i Fulcrum: namngivna operatörer, ställtidsmatris, verktyg och alternativa resurser.
- SkyPlanner-teamet konfigurerar integrationen under introduktionen och ger support efter driftstart. Varje fabrik använder Fulcrum på sitt sätt, och här tas den kunskapen till vara.
- Er Fulcrum-konsult eller integrationspartner kan bygga den. SkyPlanner tillhandahåller REST API, dokumentation i Swagger/OpenAPI och webhooks.
- Era egna utvecklare kan bygga vidare på den. Det räcker med en API-token för att komma igång, och SkyPlanner-teamet hjälper till vid behov. Produktdokumentation, bland annat om inköpsorder och API:et för produkter och material, finns i SkyPlanners dokumentation.
SkyPlanner kostar från 199 € per månad med 5 produktionsgrupper inkluderade och faktureras månadsvis. Ni får en offert för integrationen tillsammans med abonnemanget, anpassad efter era processer och behov, så att ni ser hela kostnaden innan ni börjar. Se priser, funktioner och hur Fulcrums egen planeringsfunktion står sig i Finplanering i Fulcrum. Översikten finns på Fulcrum-sidan, och andra ERP-system finns i översikten över ERP-integrationer.
Tillverkningsföretag om SkyPlanner
2 hsparade varje vecka
”SkyPlanner har tagit vår produktionsplanering från Excel-kalkylblad 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 arbetskö når produktionslinjen på några sekunder.
+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 under 30 minuter att skapa en optimerad plan för tre månader för alla produktionsgrupper.
99,2%leveransprecision
”SkyPlanner har gjort det lättare att upptäcka flaskhalsar 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.
98%leveransprecision, upp från cirka 50%
”SkyPlanner spelar en avgörande roll för att upprätthålla vår leveransprecision.”
Hannu Lahtinen, verkställande direktör
KJH-Comp · Plåtmekanik och kontraktstillverkning
Leveransprecisionen steg från omkring 50% till som högst 98%, och produktionsplaneringen kräver nu en arbetsledare i stället för två.
Vanliga frågor
Har Fulcrum ett API?
Ja. Fulcrum Public API är ett REST API med en OpenAPI v1-specifikation. Autentisering sker med en Bearer-token som genereras under Business Setup > System Data > Public Api. ITAR-miljöer använder en separat värd med .us.
Kan SkyPlanner skriva tillbaka produktionsplanen till Fulcrum?
Ja. Fulcrums egna planerade datum är skrivskyddade. Därför skriver SkyPlanner planerad start, planerat slut och produktionsgrupp till anpassade fält på varje orderoperation, och planerat slut till ordern. Operatörernas tid och färdigrapporterade antal återförs som tidregistreringar och antalsuppdateringar.
Skickar Fulcrum ändringar i realtid?
Fulcrum har webhooks som konfigureras av administratören, med händelser som PurchaseOrderUpdated. Öppna order hämtas med några minuters mellanrum med samma filter som Fulcrum använder för sin planeringssida. SkyPlanners egna webhooks skickar ändringar i planen så snart de sker.
Vem bygger integrationen med Fulcrum?
SkyPlanner-teamet konfigurerar tvåvägsintegrationen under introduktionen och ger support efter driftstart. Er Fulcrum-konsult, en integrationspartner eller era utvecklare kan också bygga vidare med SkyPlanners dokumenterade REST API.
Kan vi testa SkyPlanner innan vi bygger integrationen?
Ja. Under den kostnadsfria provperioden på 30 dagar kan ni använda upp till 20 produktionsgrupper med CSV-import från Fulcrum. Inget kreditkort behövs. Börja prova eller kontakta säljteamet för att kartlägga integrationen.