SimpleHR project
Simple HR는 중소기업을 위한 HR SaaS 플랫폼으로, 직원 등록·근로계약·근태·휴가·결재·급여·교대근로를 PC와 모바일에서 통합 관리한다. 2026년 5월 전체 기능 점검 미팅을 기점으로 대규모 버그 수정과 기능 완성 작업이 진행되어 왔으며, 요금제 시스템 설계, HNT 데이터 이관, 초기 설정 가이드 개편, E2E 테스트 자동화까지 포괄하는 살아 있는 프로젝트다.
시스템 전체 구조
핵심 기능 영역 한눈에 보기
| 영역 | 주요 스펙 | 현황 |
|---|---|---|
| 직원 등록 | 직원 등록 플로우 | |
| 조직 관리 | 조직도 관리 스펙, job-role-management | |
| 관리자 권한 | 관리자 등급 및 권한 관리 스펙 | |
| 근로계약서 | 근로계약서 스펙, employment-contract-spec | |
| 근무 정책 | 근무 정책 스펙 | |
| 근태 관리 | 근태 관리 스펙, gps-attendance-spec | |
| 교대·변형근로 | 교대(변형)근로 관리 스펙 | |
| 출장 관리 | 출장 관리 스펙 (신청·승인·근태 자동생성) | |
| 휴가 관리 | 휴가 관리 스펙, annual-leave-auto-calc | |
| 휴일 관리 | 휴일 관리 스펙 | |
| 결재 관리 | 결재 관리 스펙, personnel-order-approval-spec | |
| 급여 관리 | 급여관리 스펙, payroll-work-policy-integration | |
| 사직 처리 | 사직서 처리 워크플로 스펙 | |
| 재직 상태 | 직원 재직 상태 변경 워크플로 | |
| 요금제·과금 | 이용요금 및 과금 정책, billing-system-design | |
| 양식 편집기 | 양식 편집기(폼 빌더) 스펙 | |
| 모바일 UX | 모바일 UI/UX 개선 작업 (기업 사용자), mobile-app-spec | |
| 인증·세션 | 인증 만료 시 빈 페이지 노출 이슈 | |
| 토스트 알림 | 토스트 알림 공통 컴포넌트 스펙 | |
| 만근 수당 | 만근 수당 스펙 | |
| 초기 설정 | 초기 설정 가이드 구조 개편 스펙 (6→8단계) | |
| 데이터 이관 | 데이터 이관 작업 스펙 (HNT), hnt-outsourcing-entity | |
| E2E 테스트 | E2E 테스트 시나리오 명세 |
요금제 플랜 구조
요금제 시스템 구현 설계 (DB·API·서비스·프론트엔드·마이그레이션)에 따른 플랜 구조와 과금 공식은 다음과 같다. 설계-요금제시스템.md
| 플랜 코드 | 이름 | 1인당 단가 | 주요 제약 |
|---|---|---|---|
| PLAN_FREE | 무료 | 0원 | 이러닝·전자근로계약서 제외 |
| PLAN_BASIC | 베이직 | 2,000원 | 이러닝·전자근로계약서 제외 |
| PLAN_STD | 스탠다드 | 3,000원 | 전체 메뉴 |
| PLAN_SPC | 스페셜 | 10,000원 | 전체 메뉴 + 페이롤 연동 |
- 재직인원 5명 이하 → 0원
- 5명 초과 10명 이하 → 월 20,000원 (PLAN_FREE는 0원)
- 10명 초과 → 20,000원 + (재직인원 − 10) × 단가
플랜별 메뉴 접근 제한은 Menu.visible_tiers JSONB 필드를 권위 소스로 삼아 미들웨어·프론트엔드에서 동시에 제어한다.
근무 정책 ↔ 급여 연동 현황
급여 계산의 핵심 리스크인 하드코딩 이슈가 급여 계산 하드코딩 이슈 목록 및 개선 방향에 정리되어 있다. 근로정책-급여-연동-현황분석.md에 따르면 payroll_service.py 내 할증률과 소정근로시간이 하드코딩되어 근무 정책 스펙의 설정값이 급여 계산에 반영되지 않는 5가지 이슈가 잔존한다.
주요 미연동 항목:
- 소정근로시간 하드코딩 (정책 기반 계산 미반영)
- 연장·야간·휴일 할증률 하드코딩
- 이중지급 리스크 (OvertimeRequest + AttendanceRecord 병산)
퇴근 미체크 자동 처리 스케줄러
근태 관리 스펙에 구현된 배치 스케줄러. 매일 KST 00:15에 실행되며 advisory lock으로 중복을 방지한다. fix-task-0624 (26년 06월 24일 수정사항)
| 설정값 | 동작 |
|---|---|
AUTO_END_TIME | scheduled_end 시간으로 퇴근 자동 기록 + 근무시간 재계산 |
LEAVE_BLANK | 스킵 (빈 값 유지) |
급여 계산은 OvertimeRequest 기반이므로 스케줄러 처리가 급여에 직접 영향을 주지 않는다.
결재 시스템 확장 흐름
결재 관리 스펙은 근태·휴가·기안서를 넘어 사직서·인사발령까지 확장되었다. fix-task-0630 (26년 06월 30일 수정사항)
- 사직서 처리 워크플로 스펙: 제출 → 관리자 승인 → 퇴사 처리 일원화
- 인사발령 결재선 스펙:
RequestApprovalStep연동, 자동 결재선 적용 - 일괄 결재 처리 지원 fix-task-0701 (26년 07월 01일 수정사항)
HNT 데이터 이관
(주) 에이치앤티아웃소싱시스템 (사업자번호 166-81-63798, 직원 29명)이 최초 이관 대상이다. 소규모로 먼저 검증한 뒤 대규모 데이터를 투입하는 전략을 따른다. 미팅노트.txt
- 이관 현황 상세: 데이터 이관 작업 스펙 (HNT), hnt-migration-status.md
- 배포 후 관리자 조치 체크리스트: 배포 후 관리자 조치 체크리스트 (HNT 이관)
- 계약일 이중저장 불일치 보정: 계약일 이중저장 불일치 보정 절차 (배포 전)
초기 설정 가이드 개편 (6→8단계)
초기 설정 가이드 구조 개편 스펙 (6→8단계)에 따라 신규 테넌트 온보딩이 체크리스트 기반 투어 방식으로 전환되었다. 26년 07월 21일 수정사항
설정 순서: 회사 기본 정보 → 회계·급여 정책 → 근로 정책 → 직위/직책/직무 → 근무지 → 부서 → 직원 → 관리자
- 단계 클릭 시 해당 설정 페이지로
?tour=true진입 - 필수 입력란 스포트라이트 + 툴팁 + 순차 잠금
- 완료 판정: 데이터 존재 여부 → 명시적 배열 추적 방식으로 전환
E2E 테스트 현황
E2E 테스트 시나리오 명세는 고정 테스트 계정(업체·최고관리자·직원)을 기반으로 작성된다.
- E2E 테스트 시나리오 - Part 1 관리자 (대시보드, 근태, 직원관리): 관리자 페이지 핵심 흐름
- E2E 테스트 시나리오 - Part 3. 관리자↔사용자 연계 시나리오: 직원 등록·계약·출퇴근·연장근로·휴가·급여·결재·퇴직 전 과정
주요 의사결정 요약
의사결정 로그에서 추적 중인 핵심 결정들이다. 미팅노트.txt
| # | 결정 | 영향 범위 |
|---|---|---|
| 1 | Simple HR 우선 완성 후 LMS 관리 시스템 착수 | 전체 일정 |
| 2 | 급여·인사 관리자 권한을 단일 관리자 권한으로 통합 | admin-role-management-spec |
| 3 | 연장근로는 신청→결재 승인 후에만 급여 반영 | attendance-management-spec |
| 4 | 근로계약서는 관리팀이 발송해야 직원이 열람 가능 | employment-contract-spec |
| 5 | 근로정책 수정 시 변경 시점 이후만 새 정책 적용, 과거 데이터 보존 | work-policy-spec |
| 6 | HNT 먼저 이관 검증 후 대규모(MBS ~3,000명) 순차 투입 | 데이터 이관 |
| 7 | 사용자는 모바일 중점, 관리자는 PC 중점으로 UX 설계 | mobile-ui-improvements |
일일 수정사항 로그 (타임라인)
- 2026-05-26전체 기능 점검 미팅 — 버그·미완성 항목 일괄 식별
- 2026-05-30교대근로 정책 변경 이전 기록 보존, 직무 3단 구성 등 개선 요청
- 2026-06-01관리자 모드 근로계약서·교대근로·직원 재직 상태 수정 요청
- 2026-06-03모바일 홈 메뉴 순서 변경, 일정관리 Bottom Sheet 개선
- 2026-06-08PC/모바일 수정사항 및 완료 처리
- 2026-06-12직원관리·근로계약서·이용요금·홈페이지 전반 버그 수정
- 2026-06-16GPS 출퇴근 테스트, 양식 편집기 기능 추가, HNT 이관 현황 정리
- 2026-06-19연차 자동계산 개선, 휴가 잔액 이력, 급여명세서 기능 완료
- 2026-06-24퇴근 미체크 자동 처리 스케줄러 구현, 휴일근로 8시간 자동 분리
- 2026-06-25근무지 복수 지정 버그, 급여 근태 수당 항목 누락 수정
- 2026-06-29대시보드 집계 보정, 사직서 처리, 급여관리, 출퇴근현황 전 항목 완료
- 2026-06-30결재 시스템 재정립, 사직 처리 통합, 결재 탭 분리
- 2026-07-01출퇴근 관리 UI 개선, 결재 시스템 확장, 일괄 결재 처리
- 2026-07-02초기 설정 가이드 개편, GPS 출퇴근, 사직서 프로세스, 결재선 초기화
- 2026-07-03사직서 프로세스 완성, 출퇴근 요청 승인 UI 개편
- 2026-07-09서류 신청 탭 통합, 사직서 Document 전환, 급여-근로정책 연동 개선
- 2026-07-13모바일 중점 완료 7건, 미완료 16건 정리
- 2026-07-14근로정책 적용시점, 교대근무 법정시간 초과 허용, 출퇴근 통계 오류 수정
- 2026-07-15근로정책 이력 덮어쓰기 수정, 연장근로 직위 누락, auto_renew 불일치
- 2026-07-20근로정책 인정시간, PC 출퇴근 등 6개 항목 완료
- 2026-07-21온보딩 투어 전환, 근로정책 근로시간 표시 개선, 관리자 강등 버그 수정26년 07월 21일 수정사항
현재 오픈 이슈 현황
관련 페이지 전체 색인
프로젝트의 세부 사항은 아래 페이지들에서 확인할 수 있다.
- 프로젝트 현황: Simple HR 프로젝트 개요 · 의사결정 로그 · 액션 아이템 · 버그 수정 및 기능 개선 현황 (0622)
- 직원·조직: 직원 등록 플로우 · 직무 관리 (직위·직급·직무 3단 구성) · 조직도 관리 스펙 · 관리자 등급 및 권한 관리 스펙 · 직원 재직 상태 변경 워크플로
- 계약·서류: 근로계약서 스펙 · 근로계약서 스펙 · 직인(회사 인감) 관리 스펙 · 양식 편집기(폼 빌더) 스펙 · 사직서 처리 워크플로 스펙
- 근태·출퇴근: 근태 관리 스펙 · GPS 출퇴근 스펙 · 교대(변형)근로 관리 스펙 · 출장 관리 스펙 (신청·승인·근태 자동생성) · 휴일 관리 스펙
- 휴가: 휴가 관리 스펙 · 연차 자동계산 로직 스펙 · 연차 이월(Carryover) 기능 스펙 · 연차촉진 스펙 · 휴가 잔액 변동 이력 스펙
- 근무 정책·급여: 근무 정책 스펙 · 급여관리 스펙 · 근무 정책 ↔ 급여 연동 현황 및 이슈 · 급여 계산 하드코딩 이슈 목록 및 개선 방향 · 만근 수당 스펙
- 결재: 결재 관리 스펙 · 인사발령 결재선 스펙
- 요금제·접근 제어: 이용요금 및 과금 정책 · 이용요금(과금) 정책 스펙 · 요금제 시스템 구현 설계 (DB·API·서비스·프론트엔드·마이그레이션) · 플랜별 메뉴 접근 제한 설계
- 온보딩·설정: 초기 설정 가이드 구조 개편 스펙 (6→8단계) · 초기 설정 가이드 구조 개편 설계
- 이관: 데이터 이관 작업 스펙 (HNT) · (주) 에이치앤티아웃소싱시스템 · 배포 후 관리자 조치 체크리스트 (HNT 이관) · 계약일 이중저장 불일치 보정 절차 (배포 전)
- 모바일·UX: 모바일 앱 스펙 · 모바일 UI/UX 개선 작업 (기업 사용자) · 토스트 알림 공통 컴포넌트 스펙 · 인증 만료 시 빈 페이지 노출 이슈
- 테스트: E2E 테스트 시나리오 명세 · E2E 테스트 시나리오 - Part 1 관리자 (대시보드, 근태, 직원관리) · E2E 테스트 시나리오 - Part 3. 관리자↔사용자 연계 시나리오