← WORK 목록으로
KOREA위시켓웹 개발

ERP·그룹웨어 연동 발주 자동화 시스템 구축(이카운트 + 하이웍스) 전문가

이카운트 ERP와 하이웍스 그룹웨어를 각각 REST API로 연동해 수입 유통사의 발주 업무 전체를 자동화하는 사내 웹 시스템 구축 프로젝트입니다. 재고·판매 흐름 기반 발주 판정, 이카운트 전표 등록·되읽기 검증, 발주서 PDF 생성, 전자결재 3종 자동 기안, 견적송장 접수, 선금 지급 스케줄러 등을 하나의 흐름으로 연결합니다. 이카운트 API의 제약(전표 수정·삭제 불가, 판매 조회 API 부재, 무응답 필드 저장 문제)을 우회 설계할 수 있는, ERP/그룹웨어 연동 경험이 풍부한 중고급 풀스택 개발자에게 적합합니다.

2026.09.21VIEW 60위시켓에서 수집
Budget협의
Difficulty전문가
Duration3개월
Work style외주
Required stack

필요 기술

TypeScriptNode.jsNext.jsReactREST APIPostgreSQLPDF 생성
Project brief

프로젝트 내용

[프로젝트 개요]
수입 유통사의 발주 업무를 자동화하는 사내 웹 시스템을 구축합니다. 재고와 판매 흐름으로 발주 대상을 판정하고, 담당자 확인을 거쳐 이카운트 ERP에 발주서를 등록하고, 발주서 PDF를 만들어 하이웍스 전자결재로 품의를 올리고, 공장에 메일을 보내고, 회신받은 견적송장(PI)의 명판 날인 결재와 선금 지급 요청 상신까지 잇습니다.

[추진 배경과 시점]
발주처는 해외 공장 4~5곳에 생산을 위탁하는 수입 유통사입니다. 월 20건을 내외 발주합니다.

지금은 담당자가 이카운트 ERP 재고현황을 고친 화면에서 대상을 눈으로 고르고, 발주서를 수기 입력하고, 인쇄한 PDF를 편집기로 고쳐 결재에 첨부하고, 공장과 메일로 협의합니다. 판정 규칙은 이미 엑셀 수식으로 완성해 반년 이상 운영 중입니다. 규칙을 새로 설계하는 일이 아니라 시스템으로 옮기는 일입니다.

담당자가 한 명이라 자리를 비우면 흐름이 멈추고, 규칙이 개인 엑셀에 있어 이관도 어렵습니다.

[난점과 경위]
이 프로젝트는 이카운트 ERP와 하이웍스 그룹웨어를 각각 REST API로 연동해 하나의 흐름으로 잇는 일입니다. 두 제품의 API가 무엇을 제공하지 않는지가 설계를 결정합니다. 상세 명세는 아래 외부 연동 항목에 정리했으니 제안 전에 확인해 주십시오.

설계를 좌우하는 지점은 세 가지입니다.

첫째, 이카운트는 API로 만든 전표를 수정·삭제할 수 없습니다. 사람 확인이 전표 생성 앞에 와야 하며 되돌리기로 수습하는 설계가 성립하지 않습니다.

둘째, 이카운트는 입력화면 양식에 등록되지 않은 항목을 보내면 정상 응답을 주면서 그 값만 저장하지 않습니다. 응답 코드로 성공을 판단할 수 없고 저장 후 되읽어 대조해야 합니다. 현행 입력화면 설정과 필드 대응표는 확보되어 있습니다.

셋째가 가장 큽니다. 이카운트에는 판매 실적을 조회하는 API가 없고 입력만 됩니다. 그런데 판정식의 핵심 변수가 월평균 판매량이라 지금은 매월 초 수기 입력합니다. 해법으로 두 경로를 겹쳐 씁니다. 재고현황 조회 API가 과거 기준일자를 받고 창고 미지정 시 전사 합계를 주는 점을 이용해 일별 재고를 쌓고 증감에서 출고량을 역산하는 경로와, 판매현황 엑셀을 월 1회 올려 대조하는 경로입니다. 이 역산은 실제 호출로 검증되지 않았습니다.

하이웍스 쪽은 기안 API가 팝업 페이지를 띄우는 방식이라 무인 상신이 불가능합니다. 담당자가 마지막에 한 번 누르는 구조가 되며 발주처 요구와도 맞습니다.

[요구사항]
- 발주 점검 화면. 현행 엑셀 판정식 재현. 가용재고와 기발주량의 합에서 월평균 판매량에 품목별 가산 지수를 곱한 값을 빼 음수면 발주 대상이며, 발주량은 최소발주수량 기준입니다.
- 월평균 판매량 자동 집계. 일별 재고로 출고량을 역산하고 엑셀 업로드분과 대조해 차이를 표시합니다.
- 수량 조정. 기준 수량을 덮어쓰지 않고 가산분을 따로 입력합니다. 덮어쓰면 최소발주수량·발주단위 검증이 무력화됩니다.
- 발주서 등록. 확인 단계를 앞에 두고 이카운트 ERP 전표로 등록한 뒤 되읽어 검증합니다.
- 발주번호 채번. 현행 규칙을 유지하며 같은 공장 같은 날 중복을 막습니다.
- 발주서 PDF 생성. 현행 인쇄 양식과 동일한 문서를 직접 만듭니다. 머리글, 발주 정보 5개 필드, 품목 표 6개 열, 하단 거래조건 7개 항목입니다.
- 전자결재 자동 기안 3종. 발주 품의, 견적송장 명판 날인, 선금 지급 요청. 본문과 첨부를 채우고 담당자는 상신만 누릅니다. 상태 변경을 받아 다음 단계로 잇습니다.
- 공장 발주 메일 발송과 이력.
- 견적송장 접수. 전용 수신 주소를 두어 담당자가 회신 메일을 전달하면 시스템이 자동으로 접수하고, 담당자가 파일로 직접 올리는 경로도 함께 둡니다. 하이웍스가 메일 수신을 제공하지 않아 수신 처리는 시스템이 자체로 구현합니다. 접수된 문서는 명판 날인 결재로 이어집니다.
- 선금 지급 요청. 발주서의 선금 비율·선금 일자를 읽어 결재를 올립니다. 해외 송금이 하루 4건으로 제한되어 요청일을 분산하는 스케줄러가 필요합니다.
- 담당자 알림. 결재 상태 변경과 대기 건을 메신저로 알립니다.
- 반품 모니터링·보정. 창고별 재고로 반품 규모를 관측하고 재고로 돌아오지 않는 품목을 구분해 판매량 계산을 보정합니다.
- 수량 협의 창구. 영업팀과 발주 담당자의 프로모션 반영 요청·응답을 시스템에서 처리해 메일 협의를 대체합니다.
- 권한별 데이터 가시성. 원가는 제한 인원만, 품목·수량은 더 넓게 봅니다.
- 기준정보 관리. 가산 지수, 최소발주수량, 창고 포함 기준, 공장 정보.
- 이력·감사 로그. 판정 근거, 수량 조정, 결재 진행을 건별로 남깁니다.
- 운영 감시와 장애 알림, 백업과 복구.

[사용자 스토리와 수용 기준]
- 담당자가 발주 점검 화면을 연다. 대상 품목이 판정 근거와 함께 표시되고 현행 엑셀과 같은 결과가 나온다.
- 담당자가 프로모션 물량을 반영한다. 기준 수량은 그대로 두고 가산분만 더해지며 검증이 유지된다.
- 담당자가 확인을 누른다. 이카운트 ERP에 전표가 등록되고 되읽어 검증한 결과가 표시된다.
- 담당자가 품의를 올린다. PDF가 첨부된 기안 화면이 열리고 상신만 누르면 된다.
- 결재가 승인된다. 상태 변경을 받아 공장 메일 발송으로 넘어가고 알림이 간다.
- 선금 지급 요청이 올라간다. 같은 날 송금이 4건을 넘지 않도록 일자가 배치된다.

[업무 상태 흐름]
- 발주 전표는 생성 후 수정·삭제가 불가능합니다. 사람 확인이 반드시 생성 앞에 옵니다.
- 발주번호는 사내 전 부서와 협력사가 함께 쓰는 식별자입니다. 시스템이 채번 주체가 되며 중복이 생겨서는 안 됩니다.
- 선금과 잔금 비율은 공장마다 다릅니다. 발주서에 기록된 값을 따릅니다.
- 사전 납부와 사후 납부 구분은 담당자 판단 영역입니다. 자동 판정하지 않습니다.
- 결재 반려 처리 방식은 발주처가 내부 협의 중입니다.
- 화면 전이 순서 등 동작 단계 설계는 제안사가 정합니다.

[비기능 요구]
- 두 제품의 API 호출 실패 시 멈춘 단계를 남기고 그 단계부터 재실행할 수 있어야 합니다. 이카운트 호출 한도는 외부 연동 항목을 참고하십시오.
- 이카운트 세션 만료와 하이웍스 토큰 만료를 각각 감지해 재발급하는 처리가 필요합니다.
- 원가와 단가를 다루므로 접근 제어와 전송 구간 보호가 필요합니다.
- 사용자 10명 내외 사내 시스템입니다. 대규모 트래픽 요건은 없습니다.

[외부 연동]
두 제품 모두 공개 REST API로 연동합니다. 표준 연동 규격이 아니라 제품 전용 방식이며, 아래 제공하지 않는 항목이 설계와 공수를 좌우합니다.

이카운트 ERP
- 인증. 사용자 구역을 먼저 확인하고 로그인 호출로 세션을 발급받아 이후 호출에 붙입니다. 세션 수명 관리와 재발급 처리가 필요합니다. 시험 호스트와 운영 호스트가 분리되어 있습니다.
- 제공. 발주 전표 등록, 발주서 조회, 재고현황 조회, 품목 정보 조회·등록, 거래처 등록입니다. 재고현황 조회는 과거 기준일자를 받고 창고를 지정하지 않으면 전사 합계를 돌려줍니다. 기발주량과 미입고 잔량은 발주서 조회에서 얻습니다.
- 제공하지 않음. 판매 실적 조회가 없습니다. 판매는 입력 전용입니다. 반품 조회와 거래처 조회도 없습니다. 거래처는 등록만 가능합니다. 생성한 전표의 수정·삭제 기능이 없습니다. 입력화면 양식에 없는 항목은 정상 응답을 주면서 저장되지 않으므로 응답 코드만으로 성공을 판정할 수 없습니다.
- 호출 한도. 입력 계열 1회 300줄·1일 5,000줄, 조회 계열 1시간 6,000건·1일 10,000건이며 시간당 연속 오류 30건이면 차단됩니다. 일별 적재와 과거 소급 적재를 이 한도 안에서 설계해야 합니다.

하이웍스 그룹웨어
- 인증. 발주처가 연동 토큰을 이미 보유하고 있습니다. 결재 양식 식별자는 별도 발급 절차를 거칩니다.
- 전자결재 기안. 양식 식별자, 제목, 본문, 상태 회신 주소, 본문·파일 수정 허용 여부, 첨부 파일을 보냅니다. 본문은 HTML을 지원하고 첨부는 인코딩해 함께 전송합니다. 다만 호출하면 브라우저 팝업 페이지가 열리는 방식이라 사람 개입 없이 상신할 수 없습니다.
- 결재 상태 수신. 기안 시 지정한 주소로 문서 번호와 상태 값이 전달됩니다. 이 주소는 외부에서 접근 가능해야 하며 전달값의 위변조 검증이 필요합니다. 별도의 문서 상태 조회 기능이 있어 수신 실패 시 조회로 보완할 수 있습니다.
- 메일 발송. 받는 사람, 보내는 계정, 참조, 제목, 본문, 보낸편지함 저장 여부를 보냅니다.
- 메신저 알림. 대상 사용자 목록, 메시지, 이동 주소를 보냅니다. 문자와 알림톡 발송 기능도 별도로 제공됩니다.
- 조직 정보. 조직도와 사용자 조회가 제공됩니다.
- 제공하지 않음. 메일 발송에 첨부 파일 항목이 없습니다. 메일 수신함을 읽는 기능이 없어 공장 회신 메일을 시스템이 직접 가져올 수 없습니다.

[스코프 밖]
- 잔금 지급 이후 단계. 부분 입고와 혼적 변수가 커서 협의해 제외했습니다.
- 인공지능 기능. 발주처가 이번 범위에서 제외하기로 결정했습니다.
- 두 번째 법인 적용. 이번에는 유통 법인 한 곳만 구축합니다.
- 외부 물류창고 재고 연동.
- 월 단위 유지보수. 구축과 별도로 협의합니다.

[제약 사항 및 확인 필요]
아래는 발주처가 확인 중이거나 착수 후 확정되는 사항입니다. 제안사마다 다른 가정으로 산정하면 금액을 비교할 수 없으므로 아래 전제를 기준으로 산정해 주십시오. 실제와 다르면 착수 후 협의해 조정합니다. 전제가 달라질 경우의 개략 증감을 함께 적어 주시면 검토에 반영합니다.

- 발주 양식의 수. 입력화면은 한 종으로 확인되었으나 인쇄 양식이 영문 수출입 서식입니다. 국내용과 해외용이 따로 운영될 수 있습니다. 한 종을 전제로 산정하고 두 종일 경우의 증분을 적어 주십시오. 금액에 가장 크게 영향을 주는 항목입니다.
- 반품 보정의 범위. 보정 기능 자체는 과업에 포함됩니다. 다만 반품 물품이 재고로 복귀
지원 기회 분석

지원 전에 볼 것

핵심 요구사항

  • 엑셀 판정식 재현 발주 점검 화면 및 월평균 판매량 자동 집계(일별 재고 역산 + 엑셀 대조)
  • 이카운트 ERP 전표 등록 후 되읽기 검증 및 발주번호 채번(중복 방지)
  • 현행 인쇄 양식과 동일한 발주서 PDF 생성
  • 하이웍스 전자결재 자동 기안 3종(발주 품의·명판 날인·선금 지급) 및 상태 연동
  • 견적송장 메일 자동 수신 처리(시스템 자체 구현)
  • 해외 송금 하루 4건 제한 분산 스케줄러 및 재실행 가능한 단계별 흐름

예상 산출물

  • 발주 자동화 웹 시스템(발주 판정·등록·결재 연동 전체)
  • 이카운트/하이웍스 API 연동 모듈(세션·토큰 재발급 포함)
  • 발주서 PDF 생성 엔진 및 기준정보 관리 화면
  • 이력·감사 로그 및 운영 감시·백업/복구 체계

매력 포인트

  • API 제약과 설계 논점이 매우 명확하게 정리된 고품질 스펙
  • 판정 규칙이 이미 엑셀로 검증 운영 중이라 요구 불확실성이 낮음
  • 10명 내외 사내 시스템으로 트래픽 부담 없음

확인할 점

  • 예산 미기재 — 난이도 대비 보상 판단 불가
  • 핵심 판매량 역산 로직이 실제 API 호출로 검증되지 않은 미확정 설계
  • 결재 반려 처리 방식 등 일부 업무 규칙이 발주처 내부 협의 중
Client signal

클라이언트 정보

회사 · 위시켓 / 지역 · 서울특별시 금천구 / 고용형태 · CONTRACTOR
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기 →
처리 중...