Katana 연동 가이드 SkyPlanner APS로 생산 스케줄링하기
이 가이드는 컨설턴트와 IT 팀을 대상으로 Katana Cloud Inventory(Katana MRP)를 SkyPlanner APS에 연결하는 방법을 설명합니다. SkyPlanner는 공개 Katana API를 통해 Katana와 양방향으로 연동됩니다.
- 제조 오더, 공정 행, 제품 레시피, 생산 공정, 자원, 재고, 구매 오더를 가져옵니다.
- 스케줄의 작업 순서를 Katana의 Schedule 탭에 반영하고, 각 제조 오더에 생산 마감일을 기록합니다.
- 공정 상태와 실제 소요 시간을 공정 행에 반영합니다.
- Katana 웹훅은 변경 사항을 SkyPlanner에 알리고, SkyPlanner 웹훅은 스케줄이 변경되는 즉시 이를 전송합니다.
SkyPlanner 팀은 온보딩 과정에서 고객의 Katana 환경에 맞게 연동을 구성하고, 운영 개시 후에도 지원합니다. 이 가이드는 연동 작업에 참여하거나 문서화된 SkyPlanner REST API(API 참조 문서)를 기반으로 직접 개발하려는 컨설턴트와 개발자를 위한 문서입니다.
Katana API
Katana는 단일 멀티테넌트 클라우드 제품이므로 모든 고객이 동일한 API를 사용합니다. REST API v1의 주소는 https://api.katanamrp.com/v1이며, OpenAPI 3.0 명세는 https://api.katanamrp.com/v1/openapi.json에서 확인할 수 있습니다. 관련 문서는 Katana Developer Hub에 있습니다.
스케줄링에 필요한 엔드포인트는 다음과 같습니다.
- 기준정보:
/products,/materials,/variants,/recipe_rows,/bom_rows,/product_operation_rows. - 오더:
/manufacturing_orders,/manufacturing_order_operation_rows,/manufacturing_order_recipe_rows,/manufacturing_order_productions. - 작업 순서:
/manufacturing_order_rerank. - 수급:
/inventory,/purchase_orders,/purchase_order_rows,/sales_orders,/sales_order_rows.
/resources 엔드포인트는 없습니다. 자원 정보는 제품 공정 행과 제조 오더 공정 행의 resource_id 및 resource_name에 담겨 있습니다.
인증 및 사용 한도
인증에는 API 키를 Bearer 토큰으로 사용합니다: Authorization: Bearer <api key>. Settings > API > Add new API key에서 키를 생성하세요. (출처)
동기화를 설계할 때는 다음 제한을 고려해야 합니다.
- Katana API는 기본적으로 60초당 60건의 요청을 허용합니다. (출처)
- 이 한도를 초과하면 API는
Retry-After와 함께 429를 반환합니다.X-Ratelimit-Remaining은 남은 요청 허용량을 나타냅니다. - 목록 엔드포인트는 페이지 단위로 결과를 반환하고 수정일 필터를 지원하므로, 변경분만 소량으로 동기화할 수 있습니다.
SkyPlanner의 REST API는 API 토큰(SkyPlanner Settings > API)으로 인증하며, Swagger/OpenAPI 문서가 제공됩니다. 연동 튜토리얼에서 첫 API 호출 방법을 단계별로 안내합니다.
웹훅
POST /webhooks에 HTTPS URL과 필요한 이벤트를 지정해 웹훅을 등록하세요. (출처) 스케줄링에 유용한 이벤트는 다음과 같습니다.
manufacturing_order.created,.updated,.deleted,.in_progress,.blocked,.donemanufacturing_order_operation_row.created,.updated,.in_progress,.paused,.completedcurrent_inventory.material_updated,.material_out_of_stock- 입고 이벤트를 포함한
purchase_order.*및purchase_order_row.* product.*,product_recipe_row.*및sales_order.*
페이로드에는 자원 유형, 동작, href만 담깁니다. 수신 측은 href에서 전체 객체를 가져옵니다. 전송할 때마다 검증용 x-sha2-signature 헤더(HMAC SHA-256)가 포함됩니다. 엔드포인트는 10초 이내에 20X로 응답해야 합니다. Katana는 30초, 2분, 15분 후에 총 세 번 재시도합니다.
데이터 매핑
| Katana 객체(엔드포인트) | SkyPlanner 개체 | 전송 방향 | 전송 주기 |
|---|---|---|---|
제품, 자재, 변형 제품(/products, /materials, /variants) | 제품 및 자재 | Katana → SkyPlanner | 최초 적재 후 웹훅 수신 시 |
제품 레시피 / BOM(/recipe_rows, /bom_rows) | 제품 구조, 하위 제품 | Katana → SkyPlanner | 최초 적재 후 웹훅 수신 시 |
생산 공정(/product_operation_rows): 유형, 자원, 시간 | 소요 시간과 준비 시간이 지정된 공정 단계 | Katana → SkyPlanner | 최초 적재 후 변경 시 |
자원(공정 행의 resource_id, resource_name) | 작업장, 작업장 그룹 | Katana → SkyPlanner | 최초 적재 시 및 새 자원 추가 시 |
공정 행을 포함한 제조 오더(/manufacturing_orders, /manufacturing_order_operation_rows) | 오더 및 작업 | Katana → SkyPlanner | 웹훅을 통한 실시간 동기화 |
제조 오더 투입 자재(/manufacturing_order_recipe_rows) | 작업별 자재 | Katana → SkyPlanner | 웹훅을 통한 실시간 동기화 |
재고, 입고 예정일이 포함된 구매 오더(/inventory, /purchase_order_rows) | 보유 재고 및 입고 예정 자재 | Katana → SkyPlanner | 웹훅을 통한 실시간 동기화 |
판매 오더의 delivery_date(/sales_orders) | 오더 납기, 고객 우선순위 | Katana → SkyPlanner | 웹훅을 통한 실시간 동기화 |
제조 오더 순서(POST /manufacturing_order_rerank) | 미완료 제조 오더의 스케줄 순서 | SkyPlanner → Katana | 스케줄 변경 시 |
제조 오더의 production_deadline_date(PATCH /manufacturing_orders/{id}) | 계획 완료 시점 | SkyPlanner → Katana | 스케줄 변경 시 |
공정 행의 status, total_actual_time(PATCH /manufacturing_order_operation_rows/{id}) | Mobile Confirmations, 작업 시간 기록 | SkyPlanner → Katana | 작업 기록 시 |
| Katana에 없음 | 교대 근무, 부재, 준비 시간 매트릭스, 공구, 작업자 수, 대체 작업장 | SkyPlanner에서 관리 | 온보딩 중 설정 |
연동 패턴
1. 기준정보 최초 적재. 호출 제한을 넘지 않도록 속도를 조절하면서 제품, 자재, 변형 제품, 레시피 행, 제품 공정 행을 페이지 단위로 가져오세요. 공정 행에 있는 자원을 중복 없이 추출해 SkyPlanner 작업장을 만들고, 1:1로 대응하는 키를 유지하세요. Katana에는 자원 캘린더가 없으므로 SkyPlanner에서 작업장별로 교대 근무, 휴가, 초과 근무를 설정하세요.
2. 오더 동기화. 제조 오더, 공정 행, 재고, 구매 오더 이벤트를 구독하세요. 이벤트가 발생할 때마다 href에서 객체를 가져와 작업을 업데이트하세요. SkyPlanner는 발주한 자재를 구매 오더의 납품일에 사용 가능한 것으로 간주하며, 입고가 처리되면 재고를 업데이트합니다. 매일 밤 수정일 필터로 데이터를 대조하면 누락된 이벤트를 확인할 수 있습니다.
3. 스케줄 반영. 다음 두 번의 호출로 계획을 Katana에 반영합니다.
- POST
/manufacturing_order_rerank는 “moves one or more manufacturing orders to an exact place in the production schedule”(하나 이상의 제조 오더를 생산 스케줄의 정확한 위치로 이동)하는 기능입니다. 요청당 미완료 제조 오더를 최대 250개까지 지정할 수 있으며, 맨 위나 맨 아래 또는 특정 제조 오더의 앞이나 뒤에 배치합니다. (출처) - PATCH
/manufacturing_orders/{id}는production_deadline_date를 설정합니다. Katana는 해당 공장 위치의 마감일 자동 계산이 꺼져 있을 때만 이 값을 허용합니다. (출처)
순위 재조정은 목록의 표시 순서만 바꾸는 것이 아닙니다. Katana에서는 “higher-priority MOs reserve required materials and subassemblies first”(우선순위가 높은 제조 오더가 필요한 자재와 하위 조립품을 먼저 예약)하므로, SkyPlanner에서 정한 순서는 Katana에서 어떤 제조 오더에 재고를 할당할지도 결정합니다.
4. 생산 현장 실적 보고. 작업자는 SkyPlanner Mobile Confirmations, Production Timer 또는 Quick Log Mode로 작업을 기록합니다. SkyPlanner는 제조 오더 공정 행에 상태와 실제 소요 시간을 기록합니다. 공장에서 Katana Shop Floor App을 계속 사용하는 경우에는 SkyPlanner가 공정 행 이벤트를 읽어옵니다. 공장마다 실적 보고 채널을 하나로 정하세요.
5. 데이터 관리 주체와 충돌 처리 규칙. 운영을 시작하기 전에 다음 사항을 문서로 정리하세요.
| 데이터 | 관리 주체 |
|---|---|
| 제품, 레시피, 생산 공정, 재고, 구매, 판매 오더 | Katana |
| 공정 순서, 시작 및 종료 시각, 공정별 작업장 | SkyPlanner |
| Schedule 탭의 제조 오더 순위 및 생산 마감일 | SkyPlanner에서 관리하고 Katana에 반영 |
| 교대 근무, 부재, 준비 시간 매트릭스, 공구, 대체 자원 | SkyPlanner |
| 공정 상태 및 기록된 작업 시간 | 범위 산정 시 선택한 단일 채널 |
일반적인 프로젝트 진행 단계
구축은 일반적으로 온보딩 시작 후 몇 주 안에 완료됩니다. 그에 앞서 30일 무료 체험에서는 Make 화면의 Tasks 목록 등 Katana에서 CSV로 내보낸 자사 데이터를 사용합니다.
프로젝트는 다음 단계로 진행됩니다.
- 요금제 확인 및 키 생성. Katana 요금제에 API와 Manufacturing Management가 포함되어 있는지 확인하고 API 키를 생성합니다.
- 마감일 모드. SkyPlanner가 생산 마감일을 관리하도록 해당 공장 위치의 마감일 자동 계산을 끄는 데 합의합니다.
- 매핑. 매핑 테이블, 자원 키, 데이터 관리 주체에 관한 규칙, 실적 보고 채널을 확정합니다.
- 초기 데이터 적재. 제품, 제품 변형, 레시피, 생산 공정, 자원을 불러옵니다.
- 이벤트 동기화. 주문, 공정, 재고, 구매 발주에 웹훅을 적용하고 매일 밤 데이터를 대조하여 일치시킵니다.
- SkyPlanner에서 제약 조건 설정. 교대 근무, 준비 시간 매트릭스, 공구, 작업자 수, 대체 작업장을 설정합니다.
- 결과 반영. 먼저 순서 재배치와 마감일을 반영한 뒤 공정 상태와 작업 시간을 반영합니다.
- 병행 테스트 및 정식 가동. SkyPlanner의 날짜를 현재 Schedule 탭의 날짜와 비교하고 기준정보를 수정한 뒤 결과 반영 기능을 켭니다.
Katana 연동 시 고려할 사항
- 마감일 모드에 따라 기존 날짜가 사라집니다. “Once automatic mode is enabled, all manual deadlines will be overwritten and cannot be restored.”(자동 모드를 활성화하면 수동으로 지정한 모든 마감일이 덮어써지며 복원할 수 없습니다.) 프로젝트 착수 시 사용할 모드를 한 번에 확정하세요.
- 자원별 캘린더가 없습니다. 단일 Weekly throughput 값으로 교대 근무를 산출하지 마세요. SkyPlanner에서 작업장별로 설정하세요.
- 자원은 공정 행에만 있습니다. Katana의 자원 이름은 SkyPlanner 작업장과 연결하는 키이므로 일관되게 유지하세요.
- 시간 단위.
planned_time_parameter의 단위는 초입니다. per-unit 공정에서는 단위당 시간이며, process, setup, fixed 유형에서는 총시간입니다. 유형을 올바르게 매핑하지 않으면 소요 시간이 수량에 해당하는 배수만큼 커지거나 작아집니다. - 수주생산 그룹. 순서를 재배치할 때 동일한 판매 주문에 연결된 MO는 함께 묶여 이동하므로 그룹 단위로 순서를 지정하세요.
- 순서 재배치 동작이 변경되었습니다. 2026년 10월 7일부터 rerank 엔드포인트는 요청한 위치에 정확히 주문을 배치합니다. 이전 동작을 기준으로 개발한 연동은 다시 테스트해야 합니다. (출처)
Katana 연동 설정 및 지원 담당
연동 작업은 자원, 생산 공정, 주문 흐름, 마감일 모드를 다룹니다. 여기에 Katana에서 관리하지 않는 교대 근무, 준비 시간 매트릭스, 공구, 작업자 수, 대체 자원을 추가합니다.
- SkyPlanner 팀이 온보딩 중에 연동을 설정하고 정식 가동 후에도 지원합니다. 공장마다 Katana의 자원과 공정을 설정하는 방식이 다르므로, 그에 대한 노하우를 이 과정에 반영합니다.
- 귀사의 Katana 컨설턴트나 연동 파트너가 구축할 수도 있습니다. SkyPlanner는 REST API, Swagger/OpenAPI 문서, 웹훅을 제공합니다.
- 사내 개발자도 API 토큰으로 연동 기능을 개발할 수 있습니다. API 토큰만 있으면 시작할 수 있으며, 필요할 때 SkyPlanner 팀이 지원합니다. 구매 발주 및 제품·자재 API를 비롯한 제품 문서는 SkyPlanner 문서에서 확인할 수 있습니다.
SkyPlanner는 작업장 5개를 포함하여 월 199 €부터 시작하며 매월 청구됩니다. 연동 비용은 귀사의 공정과 요구 사항에 맞춰 요금제와 함께 사전에 견적으로 제공하므로, 시작 전에 전체 비용을 확인할 수 있습니다. 요금과 기능을 확인하고, Katana 생산 스케줄링에서 실제 설비·인력의 생산능력을 고려한 스케줄링이 Katana 자체 스케줄링과 어떻게 다른지 비교해 보세요. 개요는 Katana 페이지에서, 다른 ERP는 ERP 연동 허브에서 확인할 수 있습니다.
제조업체의 SkyPlanner 사용 후기
2시간매주 절약
“SkyPlanner 덕분에 Excel 스프레드시트로 생산 계획을 세우던 방식에서 실시간으로 생산을 최적화하는 방식으로 전환했습니다.”
Kalle Kalliomäki, 공급망 전문가
UTU · 전기 배전반 및 개폐장치
생산 계획에 드는 업무 시간을 매주 2시간 절약하고, 새로운 작업 대기열을 몇 초 만에 생산 라인에 전달합니다.
+90%생산 효율 향상
“생산 효율이 90% 향상되었습니다.”
Abdul Rucyinga, IT 책임자
Laboratory & Allied · 의약품 제조
생산 효율이 90% 향상되었으며, 모든 작업장을 아우르는 석 달 치 최적화 계획을 수립하는 데 30분도 걸리지 않습니다.
감소자재 부족으로 인한 가동 중단
“SkyPlanner의 가치는 일상 업무에서 실질적으로 활용할 수 있는 도구라는 점입니다. 특히 납기일을 정할 때 유용합니다.”
Tommi Männistö, 생산 계획 관리자
Eskomatic · 위탁 기계가공
부하를 자동으로 배분해 일정을 수립하면서 납기일이 더 정확해졌고, 자재 부족으로 인한 생산 중단도 크게 줄었습니다.
수천 건작업 지시 일정 자동 수립
“생산을 관리하는 방식이 달라졌고, 생산능력에 대한 이해도 완전히 다른 수준으로 높아졌습니다.”
Hannu Ryynänen, CEO
Mamec · 산업용 혼합기, 펌프 및 첨단 위탁 제조
수천 건의 작업 지시 일정을 자동으로 수립하며, 조직 전체가 생산 현황을 실시간으로 파악합니다.
자주 묻는 질문
Katana에 API가 있나요? 어떤 요금제가 필요한가요?
네. Katana는 OpenAPI 3.0 명세를 갖춘 공개 REST API v1을 제공합니다. 요금 페이지에는 Free 및 Advantage 요금제에서 API를 사용할 수 있다고 안내되어 있습니다. 인증에는 Settings > API에서 생성한 bearer API 키를 사용합니다.
SkyPlanner에서 수립한 일정을 Katana에 다시 반영할 수 있나요?
네. SkyPlanner는 /manufacturing_order_rerank를 통해 Katana의 Schedule 탭에 있는 미완료 제조 주문을 SkyPlanner에서 정한 순서로 재배치하고, 각 MO의 production_deadline_date를 기록합니다. 공정 상태와 실제 작업 시간은 MO의 공정 행에 반영됩니다. 작업장별로 작업 시간을 배정한 일정은 SkyPlanner에서 관리하며, 작업자는 SkyPlanner의 작업 대기열에 따라 작업합니다.
Katana는 변경 사항을 실시간으로 전송하나요?
네. Katana 웹훅은 제조 주문, 공정 행, 재고, 구매 발주, 판매 주문을 지원합니다. SkyPlanner는 변경된 각 객체를 가져오고 매일 밤 데이터를 대조하여 일치시키므로, 이벤트가 누락되어도 작업이 오래된 상태로 남지 않습니다.
Katana의 자원은 SkyPlanner 작업장에 어떻게 연결되나요?
Katana의 공정 행에 있는 서로 다른 자원 각각이 1:1 키로 연결된 SkyPlanner 작업장이 됩니다. 이후 SkyPlanner에서 교대 근무, 부재, 대체 작업장을 설정합니다.