Project brief
프로젝트 내용
[프로젝트 개요]
- 노션, 엑셀, 자체 개발 시스템에 흩어져 있는 노무법인 전 부서 업무를 하나의 ERP로 통합 구축합니다.
- 범위는 네 축입니다. ① ERP 공통 모듈(인사, 전자결재, 영업·고객관리, KPI, 회계 연계) ② HR 사업본부의 사건·컨설팅 수임 관리 ③ 급여 아웃소싱과 건설업 보험신고 ④ 이미 자체 구축해 운영 중인 기업지원팀 시스템의 편입입니다.
- 상용 ERP를 도입하는 것이 아니라 저희 업무 워크플로우가 그대로 반영되는 커스텀 구축을 원합니다. 공통 모듈은 기본으로 들어가되, 부서별 고유 업무 흐름의 구현이 이 프로젝트의 핵심입니다.
- 노션, 엑셀, Supabase, 레거시 MySQL에 있는 기존 데이터의 이관이 포함됩니다.
- 구축 후 저희가 직접 유지보수할 수 있는 상태로 인도받는 것을 전제로 합니다. 계정·저장소·인프라는 처음부터 발주사 명의로 둡니다.
- 상세 기획과 설계는 수행사가 착수 단계에서 작성합니다. 저희가 작성한 요구사항 정의서는 현황과 범위, 조건을 상호 오해 없이 공유하는 목적의 문서입니다. 선정된 업체에 전달드립니다.
[클라이언트 소개]
- 노무법인입니다. HR 사업본부 업무(노동사건, 산재, 인사노무 컨설팅, 규정 정비, 조사 대행, 의견서), 급여 아웃소싱, 건설업 4대보험 신고, 그리고 정부지원금·4대보험 환급 대행을 수행합니다.
- 업무는 크게 네 개 파트로 나뉩니다. HR 사업본부(노무사 프로젝트성 업무), 급여·건설 업무, 기업지원팀(지원금 위탁), 영업팀입니다.
- 기업지원팀의 지원금·환급 업무는 자체 개발로 신 ERP가 상당 수준 구축되어 운영 중입니다. 나머지 부서는 시스템화되어 있지 않거나 노션·엑셀에 의존하고 있습니다.
- 프로젝트 의사결정 구조: 대표가 최종 결정, 부서 책임자가 요구사항 확정, 실무 책임자가 수행사와 직접 소통합니다. 발주사 기술 담당자가 재사용 자산을 설명하고 코드 리뷰에 참여합니다.
- 개발 지식: 자체 개발 시스템을 운영 중이며 기술 담당 인력이 있습니다. 아키텍처, DB 설계, 코드 리뷰 수준의 기술 논의가 가능합니다.
[왜 이 프로젝트를 하는가]
- 지금 상황: 네 개 파트 중 한 파트의 메인 업무만 시스템으로 구축되어 있고, 나머지 부서의 데이터와 업무 기록은 노션과 엑셀에 흩어져 있습니다. 고객 원장이 레거시와 신 시스템 여러 곳에 병존하고, 노션 데이터는 비정규화·중복 속성이 많습니다.
- 끝나면 이렇게 되기를 바랍니다: 전 부서가 하나의 ERP에서 업무를 수행하고, 고객·사업장·근로자 마스터를 전사가 공유하며, 매출과 미수금이 한 곳에서 집계되는 상태입니다. 그리고 수행사 없이도 저희가 직접 운영하고 기능을 추가할 수 있는 상태입니다.
- 다만 이런 점이 우려됩니다: 노무법인 업무는 복잡도가 제조업만큼 높지는 않지만 수행사가 새로 이해해야 하는 도메인입니다. 도메인 이해가 부족하면 비용 산정과 요구사항 해석에서 어긋날 수 있다고 보고 있습니다.
[필수 과업 범위와 결과물]
1. 수행 범위
- 현행 실사와 재사용 자산 판정, 요구사항 명세 확정, 아키텍처·ERD·API·권한 설계
- UI·UX 디자인 및 전 모듈 개발
- 데이터 이관 도구와 절차 제공 (본 이관 실행은 발주사가 수행)
- 부서별 교육, 운영 매뉴얼, 완전 이관 패키지
2. 필수 과업
2-1. 공통 기반
- 단일 로그인(다중 인증), 조직·역할·데이터 범위 권한, 공통 코드, 알림, 감사 로그, 파일 관리
- 공통 UI (목록·필터·엑셀 내보내기·반응형)
2-2. 인사관리
- 임직원 마스터, 조직도·발령, 근태, 휴가(결재 연동), 증명서
2-3. 전자결재
- 관리자가 양식과 결재선을 직접 정의, 기안·승인·반려·위임·열람
- 업무 모듈 연동 결재 (계약, 수임료, 지출, 휴가), 완료 문서 보존
2-4. 영업·고객관리
- 고객·사업장·근로자 마스터 (전 부서 공유)
- 수임 채널(수임경로·1차 소속)과 소개자 수수료, 리드에서 계약까지의 파이프라인
- 계약 관리(갱신·해지·알림), 고객별 통합 현황
2-5. HR 사업본부 사건·컨설팅 수임 관리
- 현재 노션 데이터베이스 3종(사업장 단위 사건, 근로자 단위 사건, 세부 업무 활동)으로 관리 중인 형식을 계승하되, 공통 마스터 위에 정규화해 재구성합니다.
- 사건 단위 관리: 의뢰인 구분과 연락처, 수임 경로, 상담에서 수임·계약·진행·완료까지의 상태 흐름
- 업무 구분(컨설팅·규정정비·산재·노동사건·의견서·조사대행)과 세부 업무 종류를 관리자가 선택지로 관리
- 사유발생일·송달일 기준 신청 기한 알림, 담당 조사관·감독관 기록, 처리 결과, 자료 수령 체크, 자료 첨부
- 산재 사건 전용 항목: 재해발생일, 심사·재심사 결정일, 불승인 처분일, 공단 지사·담당자, 산재 일정
- 금전: 상담료·착수금·성공보수·기타 입금(부가세 구분), 세금계산서·입금 연계, 매출·총수익 자동 집계, 미수 사유
- 세부 업무 활동 기록(일시·상태·담당·파일), 고객만족도 조사와 마케팅 활용 동의 관리
2-6. 급여 아웃소싱
- 고객사별 급여 마스터, 월 급여 계산(수당·공제·4대보험·소득세), 급여대장·명세서
- 신고용 자료 산출 (외부 신고 자체는 범위 밖), 마감·소급·재계산, 엑셀 일괄 업로드
- 검수 기준: 과거 실데이터 표본과 1원 단위 일치
- 자체 계산 엔진으로 구현할지 기존 급여 소프트웨어와 연동할지는 제안서에 명시해 주세요.
2-7. 건설업 보험신고
- 현장·공사 마스터, 보수총액 조정내역서와 확정보험료 산정 (기존 산식·엑셀과 동일 결과)
- 고객 제공 파일(엑셀·PDF) 가져오기, 신고 이력
2-8. 기업지원팀 시스템 편입
- 이미 구축해 운영 중인 신 ERP를 기능 손실 없이 통합 ERP에 편입합니다. 기존 검증 시나리오를 전량 통과해야 합니다.
- 기존 산출 엔진과 스크래핑 데이터 연동 유지, 공통 마스터와 통합, 지원금 유형 추가가 쉬운 구조
2-9. 회계 연계
- 매출(수임료에서 세금계산서, 입금까지)과 미수금 원장은 전 부서 공통으로 필수입니다.
- 지출 결의, 외부 회계 소프트웨어 연동(전표 내보내기·입금 가져오기)
2-10. KPI 관리
- KPI 정의 관리자 화면, 업무 데이터 자동 집계, 역할별 대시보드
2-11. 데이터 이관
- 노션, 엑셀, Supabase, 레거시 MySQL을 원천으로 합니다.
- 매핑 정의, 정제, 시범 이관, 검증(건수·금액 합계 일치, 표본 100% 일치), 병행 운영의 절차를 거칩니다.
- 부서 단위로 해당 구현 단계에 포함합니다. 본 이관 실행은 발주사가 하고 수행사는 도구와 절차를 제공합니다.
2-12. AI 연동 가능 구조
- 전 기능 API 우선 설계, 주요 이벤트 웹훅, 문서 텍스트·메타데이터 저장 구조, 범위 한정 토큰, 자동화 행위자 감사 구분
- AI 기능 자체의 구현은 이번 범위 밖입니다.
3. 보안 요구
- 데이터에 고객사 근로자의 주민등록번호, 급여, 4대보험, 계좌 정보와 공공사이트용 공동인증서·계정이 포함됩니다.
- 대원칙: 수행사는 운영 개인정보에 접근하지 않습니다. 고객사 근로자 정보는 저희가 수탁 처리하는 정보이므로 수행사가 다루면 재위탁 문제가 생길 수 있습니다. 운영 DB 권한, 본 이관 실행, 운영 배포 승인은 발주사가 수행하고 수행사는 가명·합성 데이터로 작업합니다. 가명·합성 데이터 생성은 수행사 책임입니다.
- 결과물 요건: 다중 인증, 역할 기반 권한에 DB 단계 행 단위 접근 제어 추가, 주민등록번호·계좌·인증서 저장 암호화(키는 DB 밖, 키 교체 절차 포함), 전 구간 전송 암호화, 수정·삭제 불가한 감사 로그, 인도 전 취약점 점검 고위험 0건
- 이관 시 수행사가 본 모든 비밀값·키·토큰을 교체하고, 권한 회수 확인서와 사본 파기 확인서를 제출합니다.
- 노션에 평문으로 저장된 주민등록번호·연락처·주소는 이관 시 암호화와 접근 통제 대상으로 전환합니다.
- 비밀유지 계약과 개인정보 처리 위탁 계약 체결, 투입 인력 명부·서약서 제출이 필요합니다.
- 외부 AI 도구에 개인정보·운영 데이터·비밀값 입력은 금지합니다. 소스코드는 승인된 도구와 비학습 계약 범위에서만 사용합니다.
4. 기술 조건
- 스택: TypeScript/Node.js 중심, React 기반 프런트엔드, PostgreSQL
- 현재 Next.js·Supabase·BullMQ/Redis·NestJS 환경을 사용 중입니다. Supabase 유지 여부는 착수 단계에서 비용과 자립성 기준으로 함께 결정하고 근거를 문서화합니다. 다른 언어·스택을 제안하실 경우 사유를 명시해 주세요.
- 인프라는 발주사 명의 계정으로 두고 수행사는 위임 권한만 가집니다. 인프라는 코드로 정의합니다.
- 수행사만 아는 비공개 프레임워크·라이브러리는 사용할 수 없습니다. 오픈소스 라이선스 목록을 제출하고 카피레프트는 사전 승인받습니다.
- 품질: 계산 로직 단위 테스트, 핵심 흐름 종단 간 자동 테스트, 타입·린트 오류 0건 CI 강제, PR 기반 코드 리뷰 (발주사 기술 담당 참여)
- 사용성: 반응형 웹 (데스크톱 기본, 태블릿 지원, 모바일은 조회와 결재 승인), 한국어 UI, 엑셀 호환
- 모바일 네이티브 앱은 범위 밖입니다.
5. 이번 범위에서 제외하는 것
- 복식부기 회계 엔진 자체 개발 (상용 소프트웨어 연동으로 대체)
- AI 기능(검색 증강 생성, 질의응답, 에이전트) 구현
- 공공사이트 스크래핑 신규 개발 (기존 자산 연동만)
- 모바일 네이티브 앱
- 노션 자체 정리
- 운영 중 신규 지원금 유형 추가
6. 진행 방식
- 단계별 검수 합격 후 다음 단계로 진행하며 대금은 검수 합격에 연동합니다.
- 부서 단위 점진 전환입니다. 구현 단계마다 해당 부서의 데이터 이관과 교육까지 포함해, 단계가 끝나는 시점에 그 부서가 실제 운영 버전을 쓰기 시작합니다. 마지막에 한꺼번에 이관하고 오픈하는 방식은 채택하지 않습니다.
- 먼저 전환한 부서는 이후 단계 작업 중에도 운영 버전을 계속 쓰