Integrationer / ERP / Katana
Guide til Katana-integration – produktionsplanlægning med SkyPlanner APS
Denne guide til Katana-integration viser konsulenter og IT-teams, hvordan de forbinder Katana Cloud Inventory (Katana MRP) med SkyPlanner APS. SkyPlanner udveksler data med Katana i begge retninger via det offentlige Katana API:
- Produktionsordrer, operationslinjer, produktopskrifter, produktionsoperationer, ressourcer, lagerbeholdninger og indkøbsordrer overføres til SkyPlanner.
- Den planlagte rækkefølge sendes tilbage til fanen Schedule i Katana med en produktionsfrist på hver produktionsordre.
- Operationsstatus og faktisk tidsforbrug sendes tilbage til operationslinjerne.
- Webhooks fra Katana giver besked om ændringer til SkyPlanner, og webhooks fra SkyPlanner sender planændringer, så snart de sker.
SkyPlanner-teamet tilpasser integrationen til jeres Katana-opsætning under opstarten og yder support efter idriftsættelsen. Denne guide er til konsulenter og udviklere, der vil deltage eller selv bygge videre på SkyPlanners dokumenterede REST API (API-reference).
Katana API
Katana er ét cloudprodukt med multitenant-arkitektur, så alle kunder bruger samme API. Det er et REST API i version v1 på https://api.katanamrp.com/v1 med en OpenAPI 3.0-specifikation på https://api.katanamrp.com/v1/openapi.json. Dokumentationen findes i Katana Developer Hub.
Disse endpoints er relevante for planlægningen:
- Stamdata:
/products,/materials,/variants,/recipe_rows,/bom_rows,/product_operation_rows. - Ordrer:
/manufacturing_orders,/manufacturing_order_operation_rows,/manufacturing_order_recipe_rows,/manufacturing_order_productions. - Rækkefølge:
/manufacturing_order_rerank. - Forsyning og efterspørgsel:
/inventory,/purchase_orders,/purchase_order_rows,/sales_orders,/sales_order_rows.
Der findes ikke noget /resources-endpoint. Ressourcer er angivet som resource_id og resource_name på produkternes og produktionsordrernes operationslinjer.
Godkendelse og grænser
Godkendelse sker med en API-nøgle som bearer-token: Authorization: Bearer <api key>. Opret nøglen under Settings > API > Add new API key. (kilde)
Synkroniseringen skal tilrettelægges efter disse grænser:
- Som standard tillader Katana API 60 forespørgsler pr. 60 sekunder (kilde)
- Overskrides grænsen, returnerer API’et 429 med
Retry-After.X-Ratelimit-Remainingviser, hvor mange forespørgsler der er tilbage. - Liste-endpoints returnerer resultaterne sidevis og understøtter filtrering efter opdateringsdato, så kun små datamængder skal overføres ved ændringer.
Hos SkyPlanner bruger REST API’et et API-token til godkendelse (SkyPlanner Settings > API) og er dokumenteret i Swagger/OpenAPI. Integrationsvejledningen gennemgår de første kald.
Webhooks
Registrer en webhook med POST /webhooks, en HTTPS-URL og de hændelser, I har brug for. (kilde) Følgende hændelser er relevante for planlægningen:
manufacturing_order.created,.updated,.deleted,.in_progress,.blocked,.donemanufacturing_order_operation_row.created,.updated,.in_progress,.paused,.completedcurrent_inventory.material_updated,.material_out_of_stockpurchase_order.*ogpurchase_order_row.*, herunder modtagelseproduct.*,product_recipe_row.*ogsales_order.*
Payloads indeholder kun ressourcetype, handling og en href. Modtageren henter det fulde objekt fra href-adressen. Hver levering indeholder en x-sha2-signature-header (HMAC SHA-256) til verificering. Jeres endpoint skal svare med 20X inden for 10 sekunder. Katana forsøger igen tre gange: efter 30 sekunder, 2 minutter og 15 minutter.
Datamapping
| Katana-objekt (endpoint) | SkyPlanner-objekt | Retning | Hyppighed |
|---|---|---|---|
Produkter, materialer, varianter (/products, /materials, /variants) | Produkter og materialer | Katana → SkyPlanner | Indledende indlæsning, derefter via webhook |
Produktopskrift / stykliste (/recipe_rows, /bom_rows) | Produktstruktur, delprodukter | Katana → SkyPlanner | Indledende indlæsning, derefter via webhook |
Produktionsoperationer (/product_operation_rows): type, ressource, tid | Procestrin med varigheder og omstillingstider | Katana → SkyPlanner | Første indlæsning, derefter ved ændringer |
Ressourcer (resource_id, resource_name på operationslinjer) | Arbejdsstationer, grupper af arbejdsstationer | Katana → SkyPlanner | Indledende indlæsning og ved nye ressourcer |
Produktionsordre med operationslinjer (/manufacturing_orders, /manufacturing_order_operation_rows) | Ordrer og opgaver | Katana → SkyPlanner | I realtid via webhook |
Materialer på produktionsordren (/manufacturing_order_recipe_rows) | Materialer pr. opgave | Katana → SkyPlanner | I realtid via webhook |
Lagerbeholdning, indkøbsordrer med ankomstdatoer (/inventory, /purchase_order_rows) | Lagerbeholdning og indgående materialer | Katana → SkyPlanner | I realtid via webhook |
Salgsordrens delivery_date (/sales_orders) | Ordrens leveringsfrist, kundeprioritet | Katana → SkyPlanner | I realtid via webhook |
Produktionsordrernes rækkefølge (POST /manufacturing_order_rerank) | Planlagt rækkefølge for åbne produktionsordrer | SkyPlanner → Katana | Ved planændringer |
Produktionsordrens production_deadline_date (PATCH /manufacturing_orders/{id}) | Planlagt afslutning | SkyPlanner → Katana | Ved planændringer |
Operationslinjens status, total_actual_time (PATCH /manufacturing_order_operation_rows/{id}) | Mobile Confirmations, tidsregistreringer | SkyPlanner → Katana | Når arbejdet registreres |
| Findes ikke i Katana | Skiftehold, fravær, omstillingstidsmatrix, værktøjer, antal operatører, alternative arbejdsstationer | Vedligeholdes i SkyPlanner | Opsættes under opstarten |
Integrationsmønstre
1. Indledende indlæsning af stamdata. Hent produkter, materialer, varianter, opskriftslinjer og produktoperationslinjer side for side, og hold kaldhyppigheden under grænsen. Opret arbejdsstationer i SkyPlanner ud fra de unikke ressourcer på operationslinjerne, og bevar en 1:1-kobling via nøglerne. Opsæt skiftehold, ferie og overarbejde for hver arbejdsstation i SkyPlanner, da Katana ikke har en ressourcekalender.
2. Ordresynkronisering. Abonner på hændelser for produktionsordrer, operationslinjer, lagerbeholdning og indkøbsordrer. Hent objektet fra dets href-adresse ved hver hændelse, og opdater opgaven. SkyPlanner betragter bestilte materialer som tilgængelige på indkøbsordrens leveringsdato og opdaterer lagerbeholdningen, når indkøbsordren modtages. En natlig afstemning med filtre på opdateringsdato opfanger eventuelle oversete hændelser.
3. Tilbageskrivning af planen. To kald overfører planen til Katana:
- POST
/manufacturing_order_rerank“moves one or more manufacturing orders to an exact place in the production schedule” (flytter en eller flere produktionsordrer til en bestemt plads i produktionsplanen). Kaldet accepterer op til 250 åbne produktionsordrer pr. forespørgsel og placerer dem øverst, nederst eller før eller efter en bestemt produktionsordre. (kilde) - PATCH
/manufacturing_orders/{id}angiverproduction_deadline_date. Katana accepterer kun værdien, når automatisk beregning af produktionsfrister er slået fra for den pågældende fabrikslokation. (kilde)
Omrangeringen påvirker mere end listen. I Katana gælder det, at “higher-priority MOs reserve required materials and subassemblies first” (produktionsordrer med højere prioritet reserverer de nødvendige materialer og delmontager først). Rækkefølgen fra SkyPlanner afgør derfor også, hvilken produktionsordre der får tildelt lagerbeholdningen i Katana.
4. Tilbagemeldinger fra produktionsgulvet. Operatørerne registrerer arbejdet med SkyPlanner Mobile Confirmations, Production Timer eller Quick Log Mode. SkyPlanner skriver status og faktisk tidsforbrug til produktionsordrens operationslinje. Hvis en fabrik i stedet beholder Katana Shop Floor App, læser SkyPlanner hændelserne på operationslinjerne. Vælg én indberetningskanal pr. fabrik.
5. Dataejerskab og regler for konflikter. Skriv dem ned inden idriftsættelsen:
| Data | Ejer |
|---|---|
| Produkter, opskrifter, produktionsoperationer, lagerbeholdning, indkøb, salgsordrer | Katana |
| Operationsrækkefølge, start- og sluttidspunkter, arbejdsstation pr. operation | SkyPlanner |
| Produktionsordrens placering på fanen Schedule og produktionsfrist | SkyPlanner, skrives til Katana |
| Skiftehold, fravær, omstillingstidsmatrix, værktøjer, alternative ressourcer | SkyPlanner |
| Operationsstatus og registreret tid | Én kanal, valgt under afklaringen |
Typiske trin i projektet
Implementeringen er normalt afsluttet inden for få uger efter opstarten. Inden da kan I bruge den gratis prøveperiode på 30 dage med jeres egne data fra en CSV-eksport fra Katana, f.eks. listen Tasks på skærmbilledet Make.
Selve projektet omfatter:
- Abonnement og nøgle. Kontrollér, at jeres Katana-abonnement omfatter API og Manufacturing Management, og opret API-nøglen.
- Indstilling af frister. Aftal at slå automatiske frister fra for fabrikslokationen, så SkyPlanner styrer produktionsfristerne.
- Mapping. Fastlæg mappingtabellen, ressourcenøglerne, reglerne for dataejerskab og indberetningskanalen.
- Første indlæsning. Produkter, varianter, recepter, produktionsoperationer og ressourcer.
- Hændelsesbaseret synkronisering. Webhooks til ordrer, operationer, lagerbeholdning og indkøbsordrer samt natlig afstemning.
- Opsætning af begrænsninger i SkyPlanner. Skiftehold, omstillingstidsmatrix, værktøjer, antal operatører og alternative arbejdsstationer.
- Tilbageskrivning. Omprioritering og frister, derefter operationsstatus og tid.
- Parallel test og idriftsættelse. Sammenlign datoerne i SkyPlanner med de aktuelle datoer på fanen Schedule, ret stamdata, og aktivér derefter tilbageskrivning.
Det skal I tage højde for i en Katana-integration
- Automatiske frister overskriver datoer. “Once automatic mode is enabled, all manual deadlines will be overwritten and cannot be restored.” (Når automatisk tilstand aktiveres, overskrives alle manuelle frister og kan ikke gendannes.) Vælg indstillingen én gang ved projektstart.
- Ingen ressourcekalender. Udled ikke skiftehold af den ene værdi i Weekly throughput. Opret dem for hver arbejdsstation i SkyPlanner.
- Ressourcer findes kun på operationslinjer. Hold ressourcenavnene i Katana uændrede, da de bruges som nøgle til arbejdsstationerne i SkyPlanner.
- Tidsenheder.
planned_time_parameterangives i sekunder: pr. enhed for operationer af typen per-unit og som samlet tid for typerne process, setup og fixed. Map typen korrekt, ellers bliver varighederne forkerte med en faktor svarende til antallet. - Grupper ved ordreproduktion. Ved omprioritering forbliver produktionsordrer (MO’er), der er knyttet til samme salgsordre, samlet. Placér dem derfor som en gruppe i rækkefølgen.
- Ændret adfærd ved omprioritering. Siden 7. oktober 2026 har rerank-endpoints placeret ordrer præcis på den angivne plads. Integrationer, der er udviklet til den tidligere adfærd, skal testes igen. (kilde)
Katana-integrationen: Hvem står for opsætning og support?
Arbejdet omfatter jeres ressourcer, produktionsoperationer, ordreflow og den måde, frister håndteres på. Opsætningen tilføjer det, Katana ikke indeholder: skiftehold, en matrix for omstillingstider, værktøjer, antal operatører og alternative ressourcer.
- SkyPlanner-teamet sætter integrationen op under opstarten og yder support efter idriftsættelsen. Hver fabrik har sin egen måde at sætte ressourcer og operationer op i Katana på, og den viden bruges i opsætningen.
- Jeres Katana-konsulent eller integrationspartner kan bygge den. SkyPlanner stiller REST API, Swagger/OpenAPI-dokumentation og webhooks til rådighed.
- Jeres egne udviklere kan bygge videre på den med et API-token. Et API-token er nok til at komme i gang, og SkyPlanner-teamet hjælper efter behov. Produktdokumentation, herunder indkøbsordrer og API til produkter og materialer, findes i SkyPlanner-dokumentationen.
SkyPlanner koster fra 199 € pr. måned med 5 arbejdsstationer inkluderet og månedlig fakturering. I får på forhånd et tilbud på integrationen, der tager højde for jeres proces og behov, sammen med jeres abonnement. Dermed kender I den samlede pris, før I starter. Se priser og funktioner, og læs, hvordan Katanas egen planlægning klarer sig i sammenligningen på siden om produktionsplanlægning med reel maskin- og personalekapacitet i Katana. Overblikket findes på Katana-siden, og andre ERP-systemer findes i oversigten over ERP-integrationer.
Produktionsvirksomheders anmeldelser af SkyPlanner
2 hsparet hver uge
“SkyPlanner har flyttet vores produktionsplanlægning fra Excel-regneark til produktionsoptimering i realtid.”
Kalle Kalliomäki, forsyningskædespecialist
UTU · Eltavler og koblingsanlæg
Produktionsplanlægningen sparer 2 timers arbejdstid hver uge, og en ny opgavekø når ud til produktionslinjen 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 lave en optimeret plan for tre måneder på tværs af alle arbejdsstationer.
Færrestop på grund af materialemangel
“Værdien af SkyPlanner for os er, at det er et værktøj, der fungerer i hverdagen, især når vi skal fastlægge leveringsdatoer.”
Tommi Männistö, chef for produktionsplanlægning
Eskomatic · Maskinbearbejdning som underleverandør
Automatisk belastningsplanlægning giver mere præcise leveringsdatoer, og antallet af produktionsstop på grund af materialemangel er faldet markant.
1.000-vis afproduktionsordrer planlagt 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 · Industriblandere, pumper og højteknologisk kontraktproduktion
Tusindvis af produktionsordrer planlægges automatisk, og hele organisationen har et overblik over produktionen i realtid.
Ofte stillede spørgsmål
Har Katana et API, og hvilket abonnement skal jeg bruge?
Ja. Katana tilbyder et offentligt REST API, v1, med en OpenAPI 3.0-specifikation. På prissiden er API-adgang angivet som en del af abonnementerne Free og Advantage. Godkendelse sker med en API-nøgle som bearer-token fra Settings > API.
Kan SkyPlanner skrive produktionsplanen tilbage til Katana?
Ja. SkyPlanner placerer åbne produktionsordrer i sin egen rækkefølge på Katanas Schedule-fane via /manufacturing_order_rerank og skriver production_deadline_date for hver produktionsordre (MO). Operationsstatus og faktisk tidsforbrug skrives på produktionsordrens operationslinjer. Planen med tidspunkter for hver arbejdsstation ligger i SkyPlanner, hvor operatørerne arbejder ud fra deres opgavekø.
Sender Katana ændringer i realtid?
Ja. Katanas webhooks dækker produktionsordrer, operationslinjer, lagerbeholdning, indkøbsordrer og salgsordrer. SkyPlanner henter hvert ændret objekt og afstemmer data hver nat, så en mistet hændelse aldrig efterlader en opgave med forældede data.
Hvordan bliver ressourcer i Katana til arbejdsstationer i SkyPlanner?
Hver unik ressource på Katanas operationslinjer bliver til en arbejdsstation i SkyPlanner med en 1:1-nøgle. Skiftehold, fravær og alternative arbejdsstationer sættes derefter op i SkyPlanner.
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 Katana, og der kræves intet betalingskort. Start prøveperioden, eller kontakt salg for at afklare integrationens omfang.