MRPeasy 연동 가이드 SkyPlanner APS로 생산 스케줄링하기
이 가이드는 컨설턴트와 IT 팀을 위해 MRPeasy를 SkyPlanner APS에 연결하는 방법을 설명합니다. SkyPlanner는 MRPeasy REST API를 통해 다음과 같이 MRPeasy와 양방향으로 연동됩니다.
- 제조 오더, 공정 순서, BOM, 작업장 그룹, 작업장, 품목, 재고 및 구매 오더를 가져옵니다.
- 계획 일자와 진행 상황을 각 Manufacturing Order에 다시 기록합니다.
- SkyPlanner 웹훅은 일정이 변경되는 즉시 변경 내용을 전송합니다.
SkyPlanner는 고객 프로젝트에서 MRPeasy와 연동한 경험이 있습니다. SkyPlanner 팀은 온보딩 중에 고객의 MRPeasy 환경에 맞춰 연동을 구성하고, 운영 개시 후에도 지원합니다. 이 가이드는 연동 작업에 참여하거나 SkyPlanner의 문서화된 REST API(API 참조 문서)를 기반으로 직접 개발하려는 컨설턴트와 개발자를 위한 자료입니다.
MRPeasy REST API: v1과 v2
MRPeasy는 온프레미스 버전 없이 단일 클라우드 제품으로 제공되므로 모든 고객이 같은 API를 사용합니다. API에는 두 가지 버전이 있습니다.
- REST API v1(OpenAPI 1.0, 서버
https://api.mrpeasy.com/rest/v1)은 운영용 API입니다./items,/boms,/routings,/manufacturing-orders,/work-centers,/work-center-types,/customer-orders,/purchase-orders,/stock/inventory,/lots,/units와/report/production/operations등의 생산 보고서를 지원합니다. - REST API v2(OpenAPI 2.0.0, 서버
https://api.mrpeasy.com/rest/v2)는 개발 초기 단계입니다. 이 버전에는work_hours와holidays를 포함하는/workstation-groups,productivity와idle을 포함하는/workstations, 그리고/inventory,/stock-movement, PATCH가 추가됩니다. 제조 오더는 계속 v1을 사용합니다.
명칭 차이에 주의해야 합니다. MRPeasy UI의 Workstation group은 v1의 work-center-types(type_id)에 해당합니다. Workstation은 work-centers(center_id)에 해당합니다. 공정 순서에 포함된 각 공정은 type_id를 통해 그룹을 참조하며, 개별 설비를 참조하지 않습니다.
API는 MRPeasy의 Unlimited 요금제를 사용하는 유료 계정에 제공됩니다. MRPeasy는 “Our Support Department cannot help you using the API.”(지원 부서에서는 API 사용을 도와드릴 수 없습니다.)라고도 명시합니다. 따라서 SkyPlanner, MRPeasy 컨설턴트 또는 개발자 중 누가 연동을 책임질지 정해야 합니다. SkyPlanner 팀은 온보딩 과정에서 바로 이 작업을 맡습니다.
인증 및 제한
MRPeasy는 HTTP Basic 인증을 사용합니다. 인증 헤더는 Authorization: Basic base64(api-key:api-secret)입니다. 키와 시크릿은 Settings → Integration → API access에서 생성합니다. 키를 삭제하면 API가 비활성화됩니다.
동기화는 다음 제한을 고려해 설계해야 합니다.
- 클라이언트당 한 번에 하나의 요청만 처리하며, 요청은 순차적으로 처리됩니다.
- 10초당 최대 100건의 요청을 허용합니다. 이를 초과하면 API가 429를 반환합니다.
- 목록 조회 시 기본으로 100개 레코드를 반환하며,
Range헤더를 사용하면 최대 1,000개까지 반환합니다. 전체 레코드 수는 응답의Content-Range에 표시됩니다.
SkyPlanner의 REST API는 API 토큰(SkyPlanner Settings > API)으로 인증하며, Swagger/OpenAPI 문서가 제공됩니다. 연동 튜토리얼에서 첫 API 호출 방법을 단계별로 안내합니다.
이벤트와 폴링
MRPeasy 요금 페이지에는 “API, webhooks (for paid accounts)”(유료 계정용 API 및 웹훅)이 명시되어 있지만, v1과 v2 명세에는 제조 오더의 웹훅 이벤트가 문서화되어 있지 않습니다. 따라서 연동 시 MRPeasy를 폴링하여 변경분을 가져옵니다.
- 제조 오더는 Not scheduled(15), Scheduled(20), In progress(30), Paused(35) 상태로 필터링해 조회합니다.
- 구매 오더와 재고는 정해진 주기로, 또는 스케줄링을 실행하기 전에 매번 조회합니다.
- 기준정보는 변경 시 또는 매일 밤 조회합니다.
필터를 적용해 순차적으로 폴링하면 10초당 100개 요청 제한 내에서 충분히 여유 있게 처리할 수 있습니다. 반대 방향에서는 SkyPlanner 자체 웹훅이 일정 변경을 즉시 전송하므로, MRPeasy에 결과를 다시 반영하는 처리는 이벤트 기반으로 이루어집니다.
데이터 매핑
| MRPeasy 객체(엔드포인트) | SkyPlanner 객체 | 방향 | 주기 |
|---|---|---|---|
Item, Unit of measurement(/items, /units) | 제품 및 자재 | MRPeasy → SkyPlanner | 최초 적재 후 매일 밤 |
구성품을 포함한 BOM(/boms) | 제품 구조, 하위 제품, 제품별 자재 | MRPeasy → SkyPlanner | 최초 적재 후 변경 시 |
공정 순서의 각 공정(/routings): type_id, fixed_time, variable_time, variable_quantity | 소요 시간, 셋업 시간, 배치 크기를 포함한 공정 단계 | MRPeasy → SkyPlanner | 최초 적재 후 변경 시 |
Workstation group(/work-center-types; v2 /workstation-groups) | 작업장 그룹, 교대 근무 | MRPeasy → SkyPlanner | 최초 적재 후에는 드물게 갱신 |
Workstation(/work-centers; v2 /workstations: productivity, idle) | 작업장, 효율, 비가동 일정 | MRPeasy → SkyPlanner | 최초 적재, 비가동 시간은 매일 갱신 |
공정과 due_date를 포함한 Manufacturing Order(/manufacturing-orders) | 오더 및 작업 | MRPeasy → SkyPlanner | 몇 분 간격으로 폴링 |
Inventory, Stock lots(/stock/inventory, /lots) | 재고 잔량 | MRPeasy → SkyPlanner | 매시간 또는 스케줄링 실행 시마다 |
Purchase Order(/purchase-orders) | 납품 예정일이 포함된 입고 예정 자재 | MRPeasy → SkyPlanner | 매시간 또는 스케줄링 실행 시마다 |
Manufacturing Order의 due_date 및 custom_<id> 필드(PUT /manufacturing-orders/{id}) | 계획 시작일, 계획 완료일, 진행 상황 | SkyPlanner → MRPeasy | 일정 변경 시 SkyPlanner 웹훅으로 전송 |
| MRPeasy에 없음 | 작업 전환 시간 매트릭스, 수량이 제한된 자원으로 관리하는 공구, 작업자 수, 대체 작업장 | SkyPlanner에서 관리 | 온보딩 중 설정 |
연동 패턴
1. 기준정보 최초 적재. 품목, 단위, BOM, 공정 순서는 v1에서 가져오고, 작업장 그룹과 작업장은 v1 또는 v2에서 가져옵니다. 작업 캘린더는 v2의 /workstation-groups(work_hours, holidays)에서 가져오거나 SkyPlanner에서 교대 근무를 직접 설정합니다. Active processing 그룹 각각을 SkyPlanner 작업장 그룹에 매핑하고, 해당 작업장들을 그룹 구성원으로 지정합니다.
2. 오더 동기화. 미완료 제조 오더와 해당 공정, 미완료 구매 오더 및 재고를 조회합니다. SkyPlanner는 발주한 자재를 구매 오더의 납품일에 사용 가능한 것으로 처리하고, 구매 오더가 Delivered로 표시되면 재고를 갱신합니다. 일정을 다시 계획할 때마다 현재 재고와 입고 예정 구매 물량을 모두 확인합니다.
3. 일정 결과 반영. PUT /manufacturing-orders/{id}는 code, quantity, due_date, assigned_id와 custom_<id> 형식의 사용자 정의 필드를 지원합니다. SkyPlanner는 합의된 경우 계획 완료일을 due_date에 기록하고, 계획 시작일, 계획 완료일, 진행 상황을 MRPeasy 사용자 정의 필드에 기록합니다. 그러면 MRPeasy를 사용하는 영업 및 구매 담당자가 실제 일정을 확인할 수 있습니다. 상세 공정 실행 순서와 공정별 작업장 배정은 SkyPlanner에서 관리하며, 현장에서는 SkyPlanner를 작업 지시 화면으로 사용합니다.
4. MRPeasy 외부에서 생성하는 오더. API로 오더를 생성하는 경우, POST /manufacturing-orders에 no_scheduling과 no_bookings를 사용할 수 있습니다. SkyPlanner가 이미 일정을 배정하는 작업장을 MRPeasy가 중복 예약하지 않도록 이 옵션을 사용하세요.
5. 현장 실적 등록. 작업자는 SkyPlanner Mobile Confirmations, Production Timer 또는 Quick Log Mode로 작업을 기록하며, 이 시간 기록을 통해 일정이 최신 상태로 유지됩니다. 실적 입력 경로는 하나로 정하세요. 동일한 공정에 MRPeasy의 Internet-kiosk와 SkyPlanner를 함께 사용하면 서로 다른 두 실적 데이터가 생깁니다.
6. 데이터 관리 주체 및 충돌 처리 규칙. 운영 개시 전에 다음 사항을 문서화하세요.
| 데이터 | 관리 주체 |
|---|---|
| 품목, BOM, 공정 순서, 수량, 재고, 조달 | MRPeasy |
| 공정 실행 순서, 시작 및 종료 시각, 작업장 배정 | SkyPlanner |
| 작업 전환 시간 매트릭스, 공구, 작업자 수, 대체 자원 | SkyPlanner |
| 근무조 및 부재 정보 | 범위 산정 시 선택한 하나의 시스템 |
| 오더 진행 상황 및 작업 기록 | SkyPlanner에서 관리하고 Manufacturing Order에 요약 반영 |
설계주문생산 흐름. 구축이 완료된 한 MRPeasy 프로젝트에서는 각 고객 프로젝트를 주제품 하나와 반제품 한 개에서 세 개까지로 구성했습니다. 각 제품은 MRPeasy에 자체 BOM과 공정 순서를 가지며, 제조 오더는 두 시스템 모두에 존재합니다. 갱신 시 중복 오더가 생성되지 않도록 모든 오더에 변경되지 않는 공통 식별자를 유지하세요.
일반적인 프로젝트 진행 단계
구축은 보통 온보딩 시작 후 몇 주 안에 완료됩니다. 그에 앞서 MRPeasy의 어떤 요금제를 사용하든 자체 데이터로 30일 무료 체험을 진행할 수 있습니다. MRPeasy 목록 화면에서 품목, BOM, 공정 순서, 작업장, 미완료 제조 오더를 CSV로 내보낸 뒤 SkyPlanner로 가져와 일정을 검증하세요.
실제 프로젝트는 다음 단계로 진행됩니다.
- 요금제 확인. MRPeasy 요금제에 API가 포함되어 있는지 확인하고 API 키와 시크릿을 생성합니다.
- 매핑. 매핑 표, 데이터 관리 책임 규칙, 결과를 다시 기록할 사용자 정의 필드, 보고 채널을 확정합니다.
- 초기 데이터 적재. 품목, 단위, BOM, 공정 순서, 작업장 그룹, 작업장, 캘린더를 적재합니다.
- 오더 및 구매 오더 동기화. 상태별로 변경분을 폴링하고 429 응답을 처리합니다.
- SkyPlanner 제약 조건 설정. 준비·전환 시간 매트릭스, 공구, 작업자 수, 대체 작업장을 설정합니다.
- 결과 기록. 각 Manufacturing Order에 납기일과 사용자 정의 필드 값을 다시 기록합니다.
- 병행 테스트. 기존 Production schedule과 SkyPlanner를 병행 운영하면서 날짜를 비교하고 기준정보를 수정합니다.
- 정식 가동. 데이터가 일치하면 결과 기록 기능을 활성화합니다.
MRPeasy 연동 시 미리 고려할 사항
- 시간 필드는 인터페이스마다 다릅니다. UI의 Setup time, Cycle time, Capacity는 API에서 각각
fixed_time,variable_time,variable_quantity에 해당합니다. Capacity가 1보다 크면 오븐처럼 배치 단위로 처리한다는 뜻입니다. 사이클 시간이 긴 작업이 아니라 배치 작업으로 매핑하세요. - Passive processing 그룹. 건조 및 냉각 그룹은 생산능력 제한 없이 24/7 운영됩니다. 생산능력이 제한된 작업장이 아니라 대기 시간으로 매핑하세요.
- v1에는 캘린더가 없습니다.
work-centers는center_id,type_id,code,title만 반환합니다. v2를 사용하거나 SkyPlanner에서 교대 근무를 관리하세요. - 유휴 시간. 작업장 유휴 시간에는 정비 시간과 가동 중단 시간이 기록됩니다. 이 정보를 동기화하지 않으면 SkyPlanner가 가동이 중단된 설비에도 작업을 배정합니다.
- 공정 순서는 그룹을 참조합니다. MRPeasy는 가용성이 가장 높은 설비를 선택합니다. SkyPlanner에서는 그룹 내 작업장들이 실제 대체 자원이 되며, 엔진이 그중 하나를 선택합니다.
MRPeasy 연동은 누가 설정하고 지원하나요?
연동 작업에는 공정 순서, 작업장 그룹, 오더 흐름의 매핑이 포함됩니다. MRPeasy에서 관리하지 않는 준비·전환 시간 매트릭스, 공구, 작업자 수, 대체 자원 등의 제약 조건도 설정합니다.
- SkyPlanner 팀이 온보딩 중에 연동을 설정하고 정식 가동 후에도 지원합니다. 공장마다 MRPeasy를 운영하는 방식이 다르므로, 설정 과정에 각 공장의 운영 노하우를 반영합니다. MRPeasy 지원에는 API 작업이 포함되지 않기 때문에 한 팀이 연동을 전담하는 것이 중요합니다.
- MRPeasy 컨설턴트나 연동 파트너가 구축할 수도 있습니다. 실제로 완료된 MRPeasy 프로젝트에서는 연동 파트너가 양쪽 시스템의 REST API를 통해 두 시스템을 연결했습니다. SkyPlanner는 REST API, Swagger/OpenAPI 문서, 웹훅을 제공합니다.
- 사내 개발자도 API 토큰으로 연동을 개발할 수 있습니다. API 토큰만 있으면 시작할 수 있으며, 필요할 때 SkyPlanner 팀이 지원합니다. 구매 오더와 제품 및 자재 API를 비롯한 제품 문서는 SkyPlanner 문서에서 확인할 수 있습니다.
SkyPlanner는 작업장 5개를 포함해 월 199 €부터 시작하며 매월 청구됩니다. 연동 비용은 공정과 요구 사항에 맞춰 요금제와 함께 사전에 견적을 제공하므로, 시작 전에 전체 비용을 확인할 수 있습니다. 요금과 기능을 확인하고, MRPeasy 생산 스케줄링에서 실제 설비와 인력의 가용 능력을 반영하는 스케줄링과 MRPeasy 자체 스케줄러의 차이를 살펴보세요. 전반적인 내용은 MRPeasy 페이지에서, 다른 ERP와의 연동은 ERP 연동 허브에서 확인할 수 있습니다.
제조업체의 SkyPlanner 사용 후기
2시간매주 절약
“SkyPlanner 덕분에 Excel 스프레드시트로 생산 계획을 세우던 방식에서 실시간으로 생산을 최적화하는 방식으로 전환했습니다.”
Kalle Kalliomäki, 공급망 전문가
UTU · 배전반 및 개폐장치
생산 계획에 드는 업무 시간이 매주 2시간 줄었고, 새로운 작업 대기열이 몇 초 만에 생산 라인에 전달됩니다.
+90%생산 효율 향상
“생산 효율이 90% 높아졌습니다.”
Abdul Rucyinga, IT 책임자
Laboratory & Allied · 의약품 제조
생산 효율이 90% 높아졌으며, 모든 작업장에 걸쳐 석 달간의 최적화된 계획을 수립하는 데 30분도 걸리지 않습니다.
6개월앞의 여유 생산능력을 영업팀에서 확인
“SkyPlanner는 모든 생산 계획의 토대를 마련하고 신뢰성을 확보해 줍니다.”
Anu Järvinen, 생산 관리자
Fredman Operations · 식품용 포장지
영업팀은 여섯 달 앞의 여유 생산능력을 확인할 수 있습니다. 한 시간 이상 걸리던 일정 변경 요청에도 이제 몇 초 만에 답할 수 있습니다.
자주 묻는 질문
MRPeasy에 API가 있나요? 어떤 요금제가 필요한가요?
네. MRPeasy는 유료 계정의 Unlimited 요금제에서 REST API를 제공합니다. v1은 운영 중이며 v2는 개발 중입니다. 인증에는 Settings → Integration → API access에서 발급한 API 키와 시크릿을 사용하는 HTTP Basic 방식을 씁니다.
SkyPlanner에서 만든 일정을 MRPeasy에 다시 기록할 수 있나요?
네. SkyPlanner는 PUT /manufacturing-orders/{id}를 통해 각 Manufacturing Order를 업데이트합니다. 납기일과 함께 계획 시작일, 계획 완료일, 진행률을 담은 사용자 정의 필드 값을 기록합니다. 상세 공정 순서는 SkyPlanner에서 관리하며, 작업자는 각자의 작업 대기열에 따라 작업합니다.
MRPeasy는 변경 사항을 실시간으로 전송하나요?
API 명세에 제조 오더용 웹훅 이벤트가 명시되어 있지 않으므로, SkyPlanner는 몇 분마다 상태별로 미완료 오더를 폴링합니다. SkyPlanner 자체 웹훅은 일정이 변경되는 즉시 변경 사항을 전송합니다.
MRPeasy 연동은 누가 구축하나요?
SkyPlanner 팀이 온보딩 중에 양방향 연동을 설정하고 정식 가동 후에도 지원합니다. MRPeasy 컨설턴트, 연동 파트너 또는 사내 개발자가 SkyPlanner의 문서화된 REST API를 기반으로 구축할 수도 있습니다.