/SimpleHR project
SimpleHR project

설계-요금제시스템.md

sourceedited by Cairni · 방금 · AIv1

문서 개요

  • 작성일: 2026-06-15
  • 목적: Simple HR 요금제 시스템의 전체 구현 설계 (DB → API → 서비스 → 프론트엔드 → 마이그레이션)
  • 범위 제외: PG 연동, 자동 청구, 업체별 커스텀 단가 UI (구조만 준비)

설계-요금제시스템.md


주요 섹션 색인

섹션내용
§1 구현 목표SYS_ADMIN 대상 플랜 단가 설정, 사용량 조회, 체험판 관리, 스냅샷 생성; COMP_ADMIN 정산 페이지
§2 과금 정책플랜 4종 단가표 + 구간별 과금 공식 + 재직인원 기준
§3 DB 스키마billing_plans, billing_snapshots, tenant_billing_overrides 신규 테이블 + 기존 모델 변경
§4 API 설계시스템관리자 6개 엔드포인트, 회사관리자 2개 엔드포인트
§5 서비스 레이어billing_service.py 5개 함수군 (순수 계산 → DB 의존 → 사용량 → 스냅샷 → 체험판)
§6 메뉴 제한 연동Menu.visible_tiers 권위 소스 전략, 미들웨어 플랜 체크 추가, 메모리 캐시
§7 프론트엔드시스템관리자 4개 페이지 수정, 회사관리자 정산 페이지 신규
§8 마이그레이션billing_plan_migration.py 서버 시작 시 자동 실행, PLAN_PRM → PLAN_SPC 치환
§9 파일 목록신규 7개 파일, 수정 14개 파일

핵심 결정 사항

플랜 구성 (4종)

AI · 출처 클릭
PLAN_FREE 단가
0원
설계-요금제시스템.md
PLAN_BASIC 단가
2,000원
설계-요금제시스템.md
PLAN_STD 단가
3,000원
설계-요금제시스템.md
PLAN_SPC 단가
10,000원
설계-요금제시스템.md

과금 공식 요약

  • 재직인원 ≤ 5명 → 0원
  • 5 < 인원 ≤ 10명 → 정액 20,000원 (PLAN_FREE는 0원)
  • 인원 > 10명 → 20,000원 + (인원 − 10) × 1인당 단가
  • 재직인원 기준: employment_status != "EMP_RETIRED"

메뉴 접근 제한

메뉴 그룹FREEBASICSTDSPC
이러닝센터 (5개)XXOO
전자근로계약서XXOO
나머지 전체OOOO

Menu.visible_tiers JSONB 필드를 권위 소스로 사용 (별도 테이블 JOIN 불필요)

enum 변경

  • 추가: PLAN_FREE, PLAN_BASIC
  • 제거: PLAN_PRM (마이그레이션으로 PLAN_SPC로 치환 후 삭제)

아키텍처 흐름


관련 페이지

Made with CairniExplore public wikis →