블로그 목록으로
소프트웨어

결재선이 바뀔 때마다 개발자를 부르는 회사: 전자결재·승인 워크플로 엔진 설계 가이드

결재선이 코드에 박혀 있으면 조직 개편 때마다 개발자가 필요합니다. 전결·대결·합의까지 담는 승인 워크플로 엔진의 데이터 모델과 업무 시스템 연동, 운영 설계 기준을 정리합니다.

POLYGLOTSOFT 기술팀2026-10-187분 소요2
전자결재워크플로 엔진결재선승인 프로세스사내 시스템

조직 개편 공지가 올라온 날이면 개발팀에 어김없이 요청이 들어옵니다. "구매 품의 결재선에 신설 실장을 넣어 주세요." 결재선이 코드 안에 들어 있는 회사에서 반복되는 장면입니다. 이 글에서는 승인 기능을 하나의 워크플로 엔진으로 분리할 때 필요한 설계 기준을 정리합니다.

승인 로직이 화면마다 흩어진 시스템

구매, 휴가, 지출, 견적 승인을 필요할 때마다 따로 만들면 비슷하지만 조금씩 다른 승인 코드가 네 벌 생깁니다. 상태값 이름도, 반려 처리 방식도 제각각입니다.

  • 유지보수 부담: 승인 화면이 4종이고 화면마다 결재 단계가 3개라고 가정하면, 조직 개편 한 번에 확인할 지점이 12곳입니다. 한 곳만 빠뜨려도 이미 없어진 직책으로 결재가 올라갑니다.
  • 상태 불일치: 그룹웨어에서는 결재가 끝났는데 구매 시스템의 발주 요청은 여전히 '승인 대기'로 남아, 담당자가 수작업으로 상태를 맞추게 됩니다.
  • 한국형 결재선의 요구사항

    국내 결재는 유형이 세분화되어 있어 단순한 승인/반려 모델로는 담기 어렵습니다.

  • 순차 결재: 기안 → 검토 → 승인 순으로 진행됩니다.
  • 합의·병렬 합의: 재무·법무 등 타 부서의 동의를 받습니다. 병렬 합의는 여러 부서가 동시에 검토하므로, 전원 동의인지 과반 동의인지 완료 조건을 정해야 합니다.
  • 참조: 결재권 없이 열람만 합니다.
  • 전결: 위임전결 규정에 따라 하위 직책자가 최종 승인합니다.
  • 대결: 부재 중인 결재자를 대신해 지정된 사람이 결재합니다.
  • 결재선은 조건에 따라 자동으로 결정되어야 합니다. 예를 들어 지출 500만 원 미만은 팀장 전결, 500만 원 이상 3,000만 원 미만은 본부장, 3,000만 원 이상은 대표 승인으로 두는 식입니다. 여기에 회수, 반려 후 재상신, 진행 중 결재선 변경까지 더하면 상태 전이는 생각보다 복잡해집니다.

    워크플로 엔진의 데이터 모델

    핵심은 네 가지를 분리하는 것입니다.

  • 결재 양식: 문서 유형과 입력 항목
  • 결재선 정의: 조건별 결재 단계 규칙(템플릿)
  • 결재 인스턴스: 상신 시점에 확정된 실제 결재선
  • 결재 이력: 누가, 언제, 어떤 자격으로 무엇을 했는지의 기록
  • 결재선 정의에는 사람이 아니라 "기안자의 팀장", "재무팀 담당자" 같은 역할을 적고, 상신 시점에 조직도에서 실제 사람으로 풀어 인스턴스에 고정합니다. 조직도와 직위에는 유효 시작일·종료일을 두어 과거 문서를 열어도 당시 직책이 그대로 보이도록 합니다. 겸직자는 어느 부서 자격으로 결재했는지를 이력에 남깁니다.

    모든 것을 설정으로 만들려는 시도는 권하지 않습니다. 금액 구간, 단계 수, 역할 매핑은 설정으로 두고, 결재 완료 후의 업무 처리는 코드로 남기는 편이 운영하기 쉽습니다.

    업무 시스템과 연결하는 방식

    엔진은 "결재 완료" 이벤트를 발행하고, 업무 시스템이 이를 받아 자기 데이터의 상태를 바꿉니다. 결재 상태 변경과 이벤트 기록을 한 트랜잭션에 묶는 아웃박스 패턴을 쓰면 이벤트 누락을 막을 수 있습니다. 수신 측은 문서 ID 기준으로 중복 처리를 막고, 실패한 건은 간격을 늘려 가며 재시도한 뒤 그래도 실패하면 관리자 화면에 노출합니다. 하루 한 번 양쪽 상태를 대조하는 배치도 함께 두는 것이 안전합니다.

    기존 그룹웨어를 쓸지는 연동 범위로 판단합니다. 일반 품의처럼 문서 중심이면 그룹웨어 결재로 충분합니다. 반면 승인 결과가 재고·발주·정산 데이터를 직접 바꿔야 하는데 그룹웨어의 연동 API가 제한적이라면 자체 엔진이 유리합니다.

    운영에서 드러나는 문제들

  • 부재·퇴사자: 휴가 등록 시 대결자를 자동 지정하고, 퇴사 처리 시 미결 문서를 일괄 재지정하는 기능이 필요합니다. 독촉 알림은 24시간 경과 시 본인, 72시간 경과 시 상위자에게 보내는 식으로 단계를 둡니다.
  • 모바일 결재: 결재자는 이동 중에 처리하는 경우가 많습니다. 첨부 문서를 내려받지 않고 미리보기로 확인할 수 있어야 결재가 밀리지 않습니다.
  • 보존과 감사: 결재 이력은 수정·삭제 없이 추가만 되도록 설계합니다. 상법은 영업에 관한 중요 서류를 10년, 전표류를 5년 보존하도록 정하고 있으므로 문서 유형별 보존 기간과 열람 권한을 함께 관리해야 합니다.
  • POLYGLOTSOFT의 접근

    POLYGLOTSOFT는 승인 기능을 업무 화면에서 떼어 내 공통 승인 모듈로 설계하고, ERP·MES·WMS 등 여러 시스템이 같은 엔진을 호출하는 구조를 제안합니다. 결재 규칙은 구축 후에도 계속 바뀌기 때문에, 구독형 개발로 위임전결 규정 개정이나 조직 개편에 상시 대응하는 방식이 잘 맞습니다. 결재선이 바뀔 때마다 개발 일정을 잡고 계신다면 POLYGLOTSOFT에 문의해 주시기 바랍니다.

    기술 상담이 필요하신가요?

    스마트공장, AI, 물류자동화 분야의 전문 컨설턴트가 귀사의 요구사항을 분석해 드립니다.

    무료 상담 신청