생산 스케줄링을 위한 Visma L7 APS 연동 가이드
이 Visma L7 연동 가이드는 파트너와 IT 팀을 대상으로 Visma L7을 SkyPlanner APS에 연결하는 방법을 안내합니다. SkyPlanner는 Visma L7 REST API를 통해 Visma L7과 양방향으로 연동됩니다.
- 작업 번호(työnumero), 공정 단계(työnvaihe), 자원, 제품 구조, 부품, 자재, 재고 잔량, 판매 주문 항목, 구매 주문 항목을 가져옵니다.
PUT /manufphases/로 각 작업 카드의 자원, 시작일, 우선순위, 담당자, 일별 작업 시간을 다시 전송합니다.POST /resourceupdates/로 자원 캘린더의 생산능력을 동기화합니다.GET /manufevents/로 L7 작업 대기열에 등록된 생산 이벤트를 가져옵니다.- SkyPlanner 웹훅은 일정이 변경될 때마다 변경 사항을 전송합니다.
SkyPlanner 팀은 온보딩 과정에서 고객의 L7 환경에 맞게 연동을 구성하고, 운영 개시 후에도 지원합니다. 파트너와 개발자는 문서화된 SkyPlanner REST API를 활용해 직접 개발할 수도 있습니다(API 참조 문서).
Visma L7의 REST API
사용하는 API는 Visma L7 – REST API입니다. OpenAPI 3.0.3 형식으로 문서화되어 있으며 변경 이력도 제공됩니다(문서). 이 API는 Visma LTR에서 실행됩니다.
- 기본 경로는 고객의 LTR 호스트에 있는
/ltrws/REST/L7입니다. 호스트는 온프레미스 또는 Visma의 호스팅 애플리케이션 서비스에 둘 수 있습니다. - 라이선스. 엔드포인트마다 별도 라이선스가 필요합니다. 일정을 기록하려면
PUT /manufphases/용 L7RMFPP 라이선스가, 생산능력을 업데이트하려면 L7RMCAP 라이선스가 필요합니다. 조회 엔드포인트에도 각각 별도 라이선스가 적용됩니다. - 페이징. 목록은
pageSize와recAfter로 페이지를 나누고,queryKey1,queryKey2,queryString으로 필터링합니다.
인증
모든 L7 호출에는 두 개의 토큰이 함께 전달됩니다.
- hash는 데이터베이스와 회사를 선택합니다.
- token은 API 사용자를 식별합니다.
LTR 관리자는 Visma LTR에서 API 사용자를 생성하고, L7 회사에 연결한 뒤 프로필을 부여하고 사용자 토큰을 생성합니다(시작 안내). 연동에 필요한 권한만 부여한 전용 연동 사용자를 사용하세요.
SkyPlanner의 REST API는 Authorization-Token 헤더로 전달하는 API 토큰으로 인증합니다. 토큰은 Settings > API에서 생성합니다. 첫 API 호출 방법은 연동 튜토리얼에서 안내합니다.
변경 감지: modifiedAfter
L7 REST API는 웹훅을 제공하지 않습니다. 변경 사항은 폴링으로 가져옵니다.
- L7 파일 관리(Tiedostohuolto)에서 작업 카드, 부품 등 연동 시 조회하는 테이블의 변경 로깅(DBLOG)을 활성화하세요.
modifiedAfter를 마지막 실행 시점으로 설정해 조회 엔드포인트를 호출하세요. 삭제된 레코드는 삭제 표시와 함께 반환되므로 취소된 작업은 일정에서 제외됩니다.- 몇 분 간격으로 폴링하세요. SkyPlanner는 상태나 일정이 변경되면 웹훅을 전송하므로, L7으로 데이터를 다시 전송하는 쪽은 이벤트 기반으로 동작합니다.
데이터 매핑
| Visma L7 객체(엔드포인트) | SkyPlanner 객체 | 방향 | 주기 |
|---|---|---|---|
Tuote (GET /products/) | 제품 및 자재 | L7 → SkyPlanner | 최초 적재 후 변경 시 |
작업 번호별 부품 (GET /manufcomponents/) | 하위 제품 | L7 → SkyPlanner | modifiedAfter를 사용한 폴링 |
자재 소요량 (GET /manufmaterials/) | 작업별 자재 소요량 | L7 → SkyPlanner | modifiedAfter를 사용한 폴링 |
설비 대수를 포함한 자원(KRYH) 트리 (GET /manufresources/) | 작업장 및 작업장 그룹 | L7 → SkyPlanner | 최초 적재 후에는 드물게 |
공정 단계별 작업 카드(TSUUNR) (GET /manufphases/) | 작업장별 작업(공정 단계) | L7 → SkyPlanner | 몇 분 간격으로 폴링 |
재고 잔량 (GET /stockbalances/) | 재고 | L7 → SkyPlanner | 폴링 |
구매 주문 항목 (GET /purchaserows/) | 납품일을 포함한 구매 주문 | L7 → SkyPlanner | 폴링 |
판매 주문 및 주문 항목 (GET /salesorders/, GET /salesrows/) | 납기, 고객 우선순위 | L7 → SkyPlanner | 폴링 |
생산 이벤트 (GET /manufevents/) | 작업별 진행 상황 | L7 → SkyPlanner | 폴링 |
작업 카드의 resource, startDate, priority, person, schedulingDays (PUT /manufphases/) | 계획된 작업장, 시작 시점, 작업 순서, 일별 작업 시간 | SkyPlanner → L7 | 일정 변경 시 SkyPlanner 웹훅으로 전송 |
자원 캘린더의 생산능력 (POST /resourceupdates/) | 교대조별 생산능력 | SkyPlanner → L7 | 교대 근무 변경 시 |
| SkyPlanner에서 설정하는 스케줄링 규칙 | 사용 가능한 작업장, 준비 시간 매트릭스, 공구, 인력 | SkyPlanner에서 관리 | 온보딩 중 설정 |
연동 방식
1. 기준정보 최초 적재. 자원 트리를 조회하고 각 설비를 개별 SkyPlanner 작업장에 매핑합니다. 하나의 L7 자원에 여러 설비가 있으면 설비마다 작업장을 하나씩 생성하고, 해당 자원에 대한 작업장 그룹을 생성합니다. 제품과 제품 구조, 그에 속한 공정 단계를 가져옵니다.
2. 작업 번호 동기화. GET /manufphases/로 미완료 작업 카드를 조회한 뒤 modifiedAfter로 최신 상태를 유지합니다. 작업 번호별 부품과 자재 소요량, 재고 잔량, 구매 주문 항목을 가져와 각 공정 단계가 해당 구매 주문 항목의 납품일까지 대기하도록 합니다.
3. 일정 역전송. 엔진이 배치하거나 이동한 모든 공정 단계에 대해 SkyPlanner가 PUT /manufphases/를 호출합니다. 요청 본문에는 작업 카드마다 하나의 workSheet 항목이 들어가며, 다음 정보가 포함됩니다.
- 작업 카드를 나타내는
number와 선택한 자원을 나타내는resource - L7 작업 대기열에 SkyPlanner의 작업 순서가 표시되도록 하는
startDate와priority - 특정 작업자를 배정한 경우
person - 날짜별 계획 작업 시간을 나타내는
schedulingDays
L7은 외부 시스템이 설정한 우선순위를 그대로 유지하므로(출처), 작업 대기열에서도 해당 순서가 유지됩니다.
4. 생산능력 동기화. SkyPlanner에서 교대 근무, 휴일 또는 연장 근무가 변경되면 POST /resourceupdates/로 새로운 생산능력을 L7 자원 캘린더에 기록합니다. 그러면 L7의 부하 현황 화면에도 계획과 동일한 내용이 표시됩니다.
5. 생산 현장 진행 상황. 작업자는 기존처럼 L7 작업 대기열과 Visma LTR에 실적을 등록하고, SkyPlanner는 GET /manufevents/로 해당 이벤트를 가져옵니다. 작업자는 SkyPlanner Mobile Confirmations에서도 작업 실적을 확정할 수 있습니다. Autopilot은 어느 쪽에서 들어온 정보든 반영해 일정을 다시 계획하고, 다음 역전송 시 새 작업 시간을 전달합니다.
6. 관리 주체와 충돌 처리 규칙. 운영 개시 전에 다음 내용을 문서화하세요.
| 데이터 | 관리 주체 |
|---|---|
| 제품, 제품 구조, 공정 단계, 수량, 작업 번호 상태 | Visma L7 |
| 공정 단계 순서, 시작일, 일별 작업 시간, 자원 선택 | SkyPlanner |
| 사용 가능한 작업장, 준비 시간 매트릭스, 공구, 인력 | SkyPlanner |
| 교대 근무 및 부재 | SkyPlanner에서 관리하고 L7 자원 캘린더에 기록 |
| 생산 이벤트 및 재고 수불 | Visma L7 작업 대기열 및 LTR |
충돌의 주된 원인은 L7 자체 계획 기능입니다. 소요량 계산과 상세 계획 기능이 잠기지 않은 공정 단계를 다시 배치할 수 있습니다. 이 기능은 자재와 예약 처리에만 사용하고, SkyPlanner가 관리하는 공정 단계는 다시 계획하지 마세요.
일반적인 프로젝트 진행 단계
구축은 보통 온보딩 시작 후 몇 주 안에 완료됩니다. 그에 앞서 작업 번호, 공정 단계, 자원 정보를 Excel로 내보내 고객의 실제 데이터로 30일 무료 체험을 진행합니다.
- 범위 산정. 매핑 표, 관리 주체별 규칙, 폴링 주기를 확정합니다.
- 접근 권한 및 라이선스. 연동 범위에 해당하는 REST 엔드포인트의 라이선스를 확보합니다. LTR 관리자가 API 사용자, hash, token을 생성하며, 가급적 테스트 회사에서 먼저 생성하는 것이 좋습니다.
- 변경 로깅. 조회할 테이블의 DBLOG를 활성화합니다.
- 최초 적재. 자원, 제품, 제품 구조, 공정 단계를 가져옵니다.
- 작업 번호 동기화. modifiedAfter를 사용한 폴링, 삭제 처리, 페이징을 구현합니다.
- SkyPlanner 제약 조건 설정. 사용 가능한 작업장, 준비 시간 매트릭스, 공구, 인력을 설정합니다.
- 역전송. 테스트 회사에서
PUT /manufphases/와POST /resourceupdates/를 테스트합니다. - 병행 운영 및 운영 개시. 현재 계획과 비교하고 기준정보를 수정한 뒤, 운영 환경에서 역전송을 활성화합니다.
Visma L7 연동 시 미리 계획할 사항
- 엔드포인트별 라이선스. 초기에 필요한 모든 엔드포인트를 목록으로 정리하고 테스트 전에 라이선스를 확보하세요.
- 설비 수. L7에서는 여러 설비가 속한 자원이 작업을 나누어 처리합니다(출처). SkyPlanner에서는 이를 개별 작업장으로 나누고, L7에 다시 기록할 때는 L7에서 요구하는 자원으로 보내세요.
- 일자별 시간. L7은 계획을 일자별 시간으로 저장합니다. SkyPlanner는 합계가 해당 공정의 소요 시간과 일치하도록
schedulingDays를 전송합니다. - 공장 캘린더. 누락된 부분이 있으면 공정 일정이 과거로 밀리므로 빠짐없이 입력해 두세요(출처).
- 재고 생산 오더.
mainNumber,subNumber,rowNumber,newQuantity는 재고 생산 오더의 수량을 변경할 때만 사용합니다. 고객 주문 작업에는 이 필드를 포함하지 마세요. - 차기 ERP. Visma는 L7의 신규 개발을 종료했으며, 제품 사용은 2028년 말에 종료됩니다(Visma 공지). ERP를 교체해도 스케줄링 규칙을 그대로 사용할 수 있도록 L7 필드가 아닌 SkyPlanner에서 관리하세요.
Visma L7 연동의 설정 및 지원 담당
연동 작업에는 귀사의 자원, 작업 공정, L7 설정에 맞춘 매핑이 포함됩니다. SkyPlanner에서 관리할 스케줄링 규칙도 설정합니다. 여기에는 사용 가능한 작업장, 준비 시간 매트릭스, 공구, 인력이 포함됩니다.
- SkyPlanner 팀이 온보딩 과정에서 연동을 설정하고 정식 가동 후에도 지원합니다. 공장마다 L7 운영 방식이 다르므로 각 현장의 노하우를 이 과정에 반영합니다.
- 귀사의 Visma 파트너도 참여할 수 있습니다. 파트너는 귀사의 L7 및 LTR 설정을 잘 알고 있으며 API 사용자, 라이선스, 테스트 회사를 담당할 수 있습니다. SkyPlanner는 REST API, Swagger/OpenAPI 문서, 웹훅을 제공합니다.
- 사내 개발자도 연동 기능을 개발할 수 있습니다. 앞서 설명한 REST API 문서를 바탕으로 API 토큰을 사용해 개발하면 됩니다. API 토큰만 있으면 시작할 수 있으며, 필요할 때 SkyPlanner 팀이 지원합니다.
L7을 교체할 때도 기존 SkyPlanner 설정을 그대로 새 ERP에 연결할 수 있습니다. Business Central, Visma Net, Lemonsoft, Monitor ERP, Odoo 페이지를 참고하세요.
SkyPlanner 요금은 작업장 5개를 포함해 월 199 €부터 시작하며 매월 청구됩니다. 연동 비용은 귀사의 공정과 요구사항에 맞춰 요금제와 함께 사전에 견적으로 안내하므로, 시작 전에 전체 비용을 확인할 수 있습니다.
L7 자체 계획 기능과의 비교는 Visma L7은 실제 설비와 인력의 가용 능력을 반영한 생산 스케줄링을 지원하나요?에서 확인하세요. 개요는 Visma L7 페이지에서, 다른 시스템은 ERP 연동 안내에서 확인할 수 있습니다.
제조업 고객의 SkyPlanner 사용 후기
1,000건 단위로작업 오더를 자동 스케줄링
“생산을 관리하는 방식이 달라졌고, 생산 능력을 파악하는 수준도 완전히 달라졌습니다.”
Hannu Ryynänen, 대표
Mamec · 산업용 믹서, 펌프 및 첨단 위탁 제조
수천 건의 작업 오더가 자동으로 스케줄링되며, 조직 전체가 생산 현황을 실시간으로 확인합니다.
98%의 납기 준수율 달성, 기존 약 50%에서 향상
“SkyPlanner는 납기 준수율을 유지하는 데 결정적인 역할을 합니다.”
Hannu Lahtinen, 대표이사
KJH-Comp · 판금 기구물 및 위탁 제조
납기 준수율은 약 50%에서 최대 98%까지 높아졌으며, 스케줄링에 필요한 관리자는 두 명에서 한 명으로 줄었습니다.
2시간매주 절약
“SkyPlanner 덕분에 Excel 스프레드시트로 생산 계획을 세우던 방식에서 실시간으로 생산을 최적화하는 방식으로 전환했습니다.”
Kalle Kalliomäki, 공급망 전문가
UTU · 배전반 및 개폐장치
생산 계획에 드는 업무 시간을 매주 2시간 절약하며, 새로운 작업 대기열은 몇 초 만에 생산 라인에 전달됩니다.
+90%생산 효율 향상
“생산 효율이 90% 향상됐습니다.”
Abdul Rucyinga, IT 책임자
Laboratory & Allied · 의약품 제조
생산 효율이 90% 향상됐으며, 전체 작업장에 걸친 석 달간의 최적화된 계획을 수립하는 데 30분도 걸리지 않습니다.
자주 묻는 질문
Visma L7에 생산 데이터용 API가 있나요?
네. Visma LTR에서 제공하는 Visma L7 REST API로 작업 공정, 자원, 부품, 자재, 생산 이벤트, 제품, 재고 잔량, 판매 명세 행, 구매 명세 행에 접근할 수 있습니다. 각 엔드포인트에는 별도의 라이선스가 필요하며, LTR 관리자가 API 사용자와 토큰을 생성합니다.
생산 일정은 Visma L7에 어떻게 다시 기록되나요?
PUT /manufphases/로 각 작업 카드의 자원, 시작일, 우선순위, 담당자, 일자별 계획 시간을 업데이트합니다. POST /resourceupdates/로는 자원 캘린더의 가용 능력을 기록합니다. L7이 외부에서 지정한 우선순위를 유지하므로 작업 대기열은 SkyPlanner의 순서를 따릅니다.
Visma L7은 웹훅을 지원하나요?
문서에 명시된 웹훅은 없습니다. 연동 대상 테이블의 변경 로깅을 활성화하고 modifiedAfter로 폴링하세요. SkyPlanner 자체 웹훅은 일정 변경이 발생하는 즉시 이를 전송합니다.
Visma L7과 연동되는 스케줄링 소프트웨어는 무엇인가요?
SkyPlanner APS는 L7 REST API를 통해 Visma L7과 양방향으로 연동됩니다. Visma도 L7 연동 페이지에 Skycode와 SkyPlanner를 소개하고 있습니다. SkyPlanner 팀이 온보딩 과정에서 연동을 설정합니다.
Visma L7 연동은 누가 구축하나요?
SkyPlanner 팀이 온보딩 과정에서 귀사의 L7 환경에 맞춰 양방향 연동을 설정하고, 정식 가동 후에도 지원합니다. 귀사의 Visma 파트너나 사내 개발자도 SkyPlanner의 문서화된 REST API를 활용해 개발할 수 있으며, API 토큰만 있으면 시작할 수 있습니다.