Integrationer / ERP / Fulcrum
Guide til Fulcrum-integration til produktionsplanlægning med SkyPlanner APS
Denne guide til Fulcrum-integration viser konsulenter og IT-teams, hvordan de forbinder Fulcrum (Fulcrum Pro) med SkyPlanner APS. SkyPlanner integrerer med Fulcrum i begge retninger via Fulcrum Public API:
- Opgaver med tilhørende varer, der skal produceres, og operationer hentes ind sammen med vareruter, arbejdscentre, udstyr, afdelingernes skiftehold, nedetider, lagerbeholdning og indkøbsordrer.
- Planlagt start, planlagt slut og arbejdsstation skrives til brugerdefinerede felter på hver operation i opgaven.
- Operatørernes tidsforbrug og færdigmeldte mængder sendes tilbage som Fulcrum-timere og mængdeopdateringer.
- SkyPlanner-webhooks sender ændringer i planen, så snart de sker.
SkyPlanner-teamet tilpasser integrationen til jeres Fulcrum-opsætning under opstarten og yder support efter idriftsættelsen. Guiden er til konsulenter og udviklere, der vil deltage eller selv bygge videre på SkyPlanners dokumenterede REST API (API-reference).
Fulcrum Public API
Fulcrum er ét cloudprodukt med multi-tenant-arkitektur, så alle kunder bruger samme API. Udviklerportalen beskriver det som et offentligt API til “REST API calls directly into your Fulcrum site.” (REST API-kald direkte til jeres Fulcrum-miljø).
- Specifikation. OpenAPI “Fulcrum PublicAPI” v1 kan hentes på
https://api.fulcrumpro.com/swagger/v1/swagger.json. Fulcrum foreslår at generere en typet klient ud fra den. Siden History viser alle ændringer med dato. - Værter.
https://api.fulcrumpro.combruges til standardmiljøer. ITAR-miljøer brugerapi.fulcrumpro.us, og ITAR-tokens får en 401 på .com-værten. - Kaldstruktur. Lister hentes med
POST .../listmed et filter i forespørgslens body, sideinddeling viaSkipogTakesamtSort.Field/Sort.Dir. Mange objekter understøtter PUT, og opgaver understøtter også JSON Patch.
En integration til produktionsplanlægning bruger disse endpoints:
| Område | Endpoints |
|---|---|
| Varer og ruter | /api/items, /api/items/{itemId}/routing, /routing/operations, /routing/input-items, /routing/input-materials |
| Produktionsopsætning | /api/work-centers, /api/equipment, /api/operations, /api/department-shifts, /api/equipment-downtimes |
| Opgaver | /api/jobs, /api/jobs/{jobId}/items-to-make/{itemToMakeId}/operations, /api/work-orders |
| Materialer | /api/inventory, /api/materials, /api/purchase-orders, /api/reporting/material-requirements/list |
| Produktionsgulvet | /api/job-tracking-timers/start og /stop, /api/timers, .../operations/{operationId}/add-quantity-completed, .../complete |
Fulcrums egen integrationsside beskriver arbejdet ligefremt: “Every system is a little bit different and requires some configuration.” (Alle systemer er lidt forskellige og kræver en vis konfiguration). Det er netop den konfiguration, SkyPlanner-teamet står for under opstarten.
Autentificering
Fulcrum bruger et Bearer-token i Authorization-headeren. “A public API token can be generated within your fulcrum site via Business Setup -> System Data -> Public Api.” (Et token til det offentlige API kan oprettes i jeres Fulcrum-miljø via Business Setup -> System Data -> Public Api). Hvert token har et navn, en beskrivelse og en udløbsdato. I kan oprette så mange, I har brug for, og tilbagekalde et token ved at slette det. Giv SkyPlanner-integrationen sit eget token, og opret en påmindelse, inden det udløber.
På SkyPlanner-siden sker autentificering til REST API med et API-token i Authorization-Token-headeren (SkyPlanner Settings > API). API’et er dokumenteret i Swagger/OpenAPI. Integrationsvejledningen gennemgår de første kald.
Hændelser og polling
Fulcrum understøtter webhooks, som konfigureres af en administrator. Siden september 2026 sættes webhooks med fejl på pause og testes igen dagligt i stedet for at blive forsøgt igen i det uendelige. API History nævner hændelser som PurchaseOrderUpdated og ItemUpdated.
Integrationen læser data fra Fulcrum sådan:
- Åbne opgaver hentes med få minutters mellemrum, filtreret på
scheduledoginProgressmedhasIncompleteOperations: true. Det er det filter, Fulcrum selv angiver for at få samme resultat som på planlægningssiden. - Indkøbsordrer og lagerbeholdning hentes før hver planlægningskørsel eller ved en
PurchaseOrderUpdated-webhook, hvis den er konfigureret. - Varer, ruter, udstyr og skift hentes ved ændringer eller hver nat.
I den modsatte retning sender SkyPlanners egne webhooks ændringer i planen, så snart de sker. Tilbageskrivningen er derfor hændelsesstyret.
Datamapping
| Fulcrum-objekt (endpoint) | SkyPlanner-objekt | Retning | Hyppighed |
|---|---|---|---|
Item, Materials (/api/items, /api/materials) | Produkter og materialer | Fulcrum → SkyPlanner | Første indlæsning, derefter hver nat |
Varer og materialer, der indgår i ruten (/routing/input-items, /input-materials) | Produktstruktur, delprodukter, materialer pr. produkt | Fulcrum → SkyPlanner | Første indlæsning, derefter ved ændringer |
Rutens operationer (/routing/operations): setupTime, laborTime, machineTime (fast eller pr. enhed), selectedEquipmentIds | Procestrin, omstillingstider, varigheder, tilladte arbejdsstationer | Fulcrum → SkyPlanner | Første indlæsning, derefter ved ændringer |
Work Center (/api/work-centers) | Gruppe af arbejdsstationer | Fulcrum → SkyPlanner | Første indlæsning, derefter sjældent |
Equipment (/api/equipment): unlimitedCapacity, canRunUnattended, status | Arbejdsstationer, batchopgaver, ubemandet drift | Fulcrum → SkyPlanner | Første indlæsning, status derefter dagligt |
Department Shifts (/api/department-shifts), Equipment Downtimes | Skift og fravær | Fulcrum → SkyPlanner | Første indlæsning, derefter dagligt |
Opgave og tilhørende operationer (/api/jobs, .../items-to-make/{id}/operations): priority, productionDueDate, earliestStartDate, estimater | Ordrer og opgaver | Fulcrum → SkyPlanner | Polling med få minutters mellemrum |
| Inventory, Purchase Orders med datoer i Expected Receive | Lager og indgående materialer | Fulcrum → SkyPlanner | Før hver planlægningskørsel |
customFields på opgavens operation (POST .../operations/{operationId}) | Planlagt start, planlagt slut, arbejdsstation | SkyPlanner → Fulcrum | Ved ændringer i planen via SkyPlanner-webhook |
customFields på opgaven (PUT /api/jobs/{jobId}/custom-fields) | Opgavens planlagte sluttidspunkt | SkyPlanner → Fulcrum | Ved ændringer i planen |
Timere til opgaveregistrering, /api/timers, add-quantity-completed, complete | Tidsregistreringer, færdigmeldte og kasserede mængder | SkyPlanner → Fulcrum | Når operatørerne registrerer arbejde |
| Findes ikke i Fulcrum | Navngivne operatører, matrix for omstillingstider, værktøjer med begrænset tilgængelighed, alternative arbejdsstationer | Vedligeholdes i SkyPlanner | Konfigureres under opstarten |
Integrationsmønstre
1. Første indlæsning af stamdata. Hent varer, materialer, ruter, arbejdscentre og udstyr, derefter afdelingernes skiftehold og nedetider. Hvert arbejdscenter i Fulcrum bliver til en gruppe af arbejdsstationer i SkyPlanner med det tilhørende udstyr som medlemmer. Det udstyr, der er valgt for hver operation i ruten, bliver til operationens tilladte arbejdsstationer. Udstyr med Unlimited Capacity, f.eks. ovne og malerkabiner, bliver til batchopgaver.
2. Ordresynkronisering. Læs åbne opgaver med tilhørende varer, der skal produceres, og operationer samt åbne indkøbsordrer og lagerbeholdning. SkyPlanner regner bestilt materiale som tilgængeligt på indkøbsordrens leveringsdato og opdaterer lageret, når indkøbsordren markeres som Delivered. Ved hver omplanlægning kontrolleres lagerbeholdningen og de indgående indkøb.
3. Tilbageskrivning af planen. Fulcrum beregner selv scheduledStartUtc, scheduledEndUtc og scheduledEquipmentId og returnerer dem som skrivebeskyttede felter. Ved opdatering af en operation accepteres customFields. SkyPlanner skriver planlagt start, planlagt afslutning og arbejdsstation til brugerdefinerede felter på hver opgaveoperation og den planlagte afslutning til et brugerdefineret felt på opgaven. Salg og indkøb kan se SkyPlanners datoer på opgaven i Fulcrum.
4. Tilbagemeldinger fra produktionsgulvet. Operatørerne registrerer arbejde i SkyPlanner med Mobile Confirmations, Production Timer eller Quick Log Mode. SkyPlanner sender tiden til Fulcrum via /api/job-tracking-timers/start og /stop eller som en afsluttet tidsblok via /api/timers. Antal sendes via add-quantity-completed, og det endelige antal inklusive kassation sendes via complete. Omkostningsberegningen for opgaver i Fulcrum holdes løbende ajour.
5. Regler for dataansvar og konflikter. Fulcrums planlægningsfunktion “dictates the order of operations in Job Tracking.” (bestemmer rækkefølgen af operationer i Job Tracking). Vælg derfor én kanal til fordeling af arbejdet pr. operation: SkyPlanners operatørkø eller Fulcrum Job Tracking. Skriv reglerne ned før idriftsættelsen:
| Data | Dataansvarlig |
|---|---|
| Varer, ruter, estimater, lagerbeholdning, indkøb, omkostningsberegning | Fulcrum |
| Operationernes rækkefølge, start- og sluttidspunkter, tildeling af arbejdsstation | SkyPlanner |
| Operatører, omstillingstidsmatrix, værktøjer, alternative ressourcer | SkyPlanner |
| Skiftehold og driftsstop | Ét system, valgt under afklaringen |
| Registreret tid og færdigmeldte antal | SkyPlanner, overføres til Fulcrum |
Typiske projekttrin
Implementeringen er normalt afsluttet inden for få uger efter opstarten. Inden da kan I bruge jeres egne data i den gratis prøveperiode på 30 dage. Eksportér varer, ruter og åbne opgaver fra Fulcrums tabelvisninger til CSV, importér dem, og validér planen.
Selve projektet omfatter:
- Token og afklaring. Opret et token til Public API, og aftal, hvilke brugerdefinerede felter der skal bruges til tilbageskrivning.
- Datamapping. Fastlæg mappingtabellen, reglerne for dataansvar og kanalen til fordeling af arbejdet.
- Første indlæsning. Varer, materialer, ruter, arbejdscentre, udstyr, skiftehold og driftsstop.
- Synkronisering af ordrer og indkøbsordrer. Løbende polling efter nye og ændrede opgaver samt indkøbsordrer og lagerbeholdning.
- Opsætning af begrænsninger i SkyPlanner. Operatører og deres skiftehold, omstillingstidsmatrix, værktøjer og alternative arbejdsstationer.
- Tilbageskrivning. Brugerdefinerede felter på opgaveoperationer og opgaver.
- Overførsel fra produktionsgulvet. Tidsregistreringer og antal overføres til Fulcrum.
- Parallel test og idriftsættelse. Kør SkyPlanner parallelt med Fulcrums plan, sammenlign datoer, ret stamdata, og gå derefter over til at fordele arbejdet efter SkyPlanners plan.
Det skal I tage højde for i en Fulcrum-integration
- Bemandingen afspejles i antallet pr. skiftehold. Fulcrums Max Equipment pr. skiftehold “is usually determined by how many people you have working in a certain area at that time.” (bestemmes normalt af, hvor mange personer der arbejder i et bestemt område på det tidspunkt). Navngivne operatører og deres skiftehold opsættes i SkyPlanner. Navnene hentes fra brugerne i
/api/users. - Arbejdet planlægges på udstyr. Arbejdscentre i Fulcrum er grupper af udstyr, der kan bruges i stedet for hinanden. Sørg for, at det valgte udstyr på ruten er korrekt, da det danner de alternativer, planlægningsmotoren vælger mellem.
- Produktionsordrer samler opgaver. En produktionsordre samler operationer fra flere opgaver, for eksempel i et skærelayout. Når tidsregistreringen startes på en grupperet operation, startes produktionsordrens tidsregistrering i stedet, og den dækker alle opgaveoperationer i gruppen.
- Grænser for tidsregistrering. Efterregistrerede tidsblokke via
/api/timers“may not be in the future, older than 30 days, or longer than 7 days.” (må ikke ligge i fremtiden eller overskride de angivne grænser for alder og varighed). Overfør tiden, efterhånden som operatørerne registrerer den. - Tidsformaterne er forskellige. Skiftehold bruger lokale HHmm-værdier, driftsstop og planlagte datoer er i UTC, og estimater for operationer angives i sekunder.
- Opdatering af udstyr erstatter hele posten. En PUT-anmodning for udstyr rydder alle felter, der ikke er med i anmodningen. SkyPlanner læser udstyrsdata og skriver aldrig til dem.
- ITAR-miljøer. Brug
.us-værten og et ITAR-token.
Fulcrum-integrationen: Hvem står for opsætning og support?
Arbejdet omfatter mapping af jeres afdelinger, arbejdscentre, udstyr og ruter samt opsætning af de begrænsninger, Fulcrum ikke indeholder: navngivne operatører, omstillingstidsmatrix, værktøjer og alternative ressourcer.
- SkyPlanner-teamet opsætter integrationen under opstarten og yder support efter idriftsættelsen. Alle virksomheder bruger Fulcrum forskelligt, og her bringes den viden i spil.
- Jeres Fulcrum-konsulent eller integrationspartner kan bygge integrationen. SkyPlanner stiller REST API, Swagger/OpenAPI-dokumentation og webhooks til rådighed.
- Jeres egne udviklere kan bygge videre på den. Et API-token er nok til at komme i gang, og SkyPlanner-teamet hjælper efter behov. Produktdokumentation, herunder om indkøbsordrer og API til produkter og materialer, findes i SkyPlanners dokumentation.
SkyPlanner fås fra 199 € pr. måned med 5 arbejdsstationer inkluderet og månedlig fakturering. I får på forhånd et tilbud på integrationen ud fra jeres processer og behov sammen med abonnementet, så I kender den samlede pris, før I går i gang. Se priser og funktioner, og se sammenligningen med Fulcrums egen planlægningsfunktion i artiklen om produktionsplanlægning i Fulcrum inden for den faktiske maskin- og personalekapacitet. Overblikket findes på Fulcrum-siden, og andre ERP-systemer findes i oversigten over ERP-integrationer.
Produktionsvirksomheders erfaringer med SkyPlanner
2 hsparet hver uge
“SkyPlanner har flyttet vores produktionsplanlægning fra Excel-regneark 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.
+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 udarbejde en optimeret plan for tre måneder på tværs af alle arbejdsstationer.
99,2%leveringssikkerhed
“SkyPlanner har gjort det lettere at identificere flaskehalse og gjort produktionsstyringen mere overskuelig.”
Toni Tuori, produktionschef
Piristeel · Tagsikkerhed og regnvandssystemer
Leveringssikkerheden nåede 99,2% i år, og detailplanlægningen sparer op til fire timers arbejdstid om dagen.
98%leveringssikkerhed, steget fra ca. 50%
“SkyPlanner spiller en afgørende rolle i at opretholde vores leveringssikkerhed.”
Hannu Lahtinen, administrerende direktør
KJH-Comp · Pladebearbejdning og kontraktproduktion
Leveringssikkerheden steg fra omkring 50% til helt op på 98%, og detailplanlægningen kræver nu én arbejdsleder i stedet for to.
Ofte stillede spørgsmål
Har Fulcrum et API?
Ja. Fulcrum Public API er et REST API med en OpenAPI v1-specifikation. Det bruger et Bearer-token til godkendelse, som genereres under Business Setup > System Data > Public Api. ITAR-miljøer bruger en separat .us-vært.
Kan SkyPlanner skrive planen tilbage til Fulcrum?
Ja. Fulcrums egne planlagte datoer er skrivebeskyttede, så SkyPlanner skriver planlagt start, planlagt afslutning og arbejdsstation til brugerdefinerede felter på hver opgaveoperation og den planlagte afslutning til opgaven. Operatørernes tidsforbrug og færdigmeldte antal overføres som tidsregistreringer og opdateringer af antal.
Sender Fulcrum ændringer i realtid?
Fulcrum har webhooks, som opsættes af en administrator, med hændelser som PurchaseOrderUpdated. Åbne opgaver hentes ved polling med få minutters mellemrum med det samme filter, som Fulcrum bruger på sin planlægningsside. SkyPlanners egne webhooks sender ændringer i planen, så snart de sker.
Hvem bygger Fulcrum-integrationen?
SkyPlanner-teamet opsætter tovejsintegrationen under opstarten og yder support efter idriftsættelsen. Jeres Fulcrum-konsulent, en integrationspartner eller jeres egne udviklere kan også bygge videre på SkyPlanners dokumenterede REST API.
Kan vi teste SkyPlanner, før vi bygger integrationen?
Ja. Den gratis prøveperiode på 30 dage understøtter op til 20 arbejdsstationer med CSV-import fra Fulcrum, og der kræves ikke betalingskort. Start prøveperioden, eller tal med salg for at afklare integrationens omfang.