Skip to content

HBHR000_HR 급여 관리 (앱 개요)

(Hereby) HR 급여 관리 > 앱 개요

프로토타입TBU
Statusreview
Owner카나 (PM)

개요

HR 급여 관리는 월 단위 스프레드시트 워크스페이스다. 모든 HR 데이터가 "시트(Sheet) 오브젝트" 단위로 폴더 분류·관리되며, 컬럼이 엔티티 필드/계산기(Calculator)에 바인딩되고 전체 확정(commit) 시점에 급여 정본 레코드/원장으로 변환된다. 핵심 경계: Sheet(작업공간) → Commit → Ledger(정본) — AI는 Sheet/preview/preflight까지만 관여하고, commit·Ledger 변경은 항상 사람이 실행한다 ([[POL_급여정본경계]]).

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-21카나PMGC700 깊이 재작성
2026-07-21카나PM가독성 패스 + 액션 표기 (GUIDE §7·§8)
2026-07-21카나PM셀 스타일 확정판 적용 (콸 승인)
2026-07-21카나PMTC 크로스체크 확정분 반영 (🟡)

Data I/O

Server → Client

변수DB 엔티티.컬럼값 없을 때비고
$인증 세션 (HR_ADMIN / SUPER_ADMIN)없으면 /hr-system/signin 리다이렉트진입 게이트
$조회 월 (YYYY-MM)기본 당월상단 Month/Year 스피너
$PayrollSheet.folder (추정)"(미분류)" fallback폴더별 시트 그룹
$PayrollSheet[] (추정)"이 기간에 시트가 없습니다"해당 월 시트 목록 (sheet_views[])
$PayrollRecord[] (추정)빈 그리드"293/293건" 형태 카운트

Client → Server

액션전달 값tRPC / SDK권한 토큰
시트 생성name, folder, isPublic, templatesdk.payrollSheet.create() (추정)payroll:write (추정)
셀 편집rowId, columnId, valuesdk.payrollSheet.updateCell() (추정)payroll:write (추정)
직원(행) 추가employeeId[]sdk.payrollSheet.addRows() (추정)payroll:write (추정)
전체 확정(commit)sheetIdsdk.payroll.commit() (추정)payroll:confirm (추정)

외부 통합 (cross-app)

외부 시스템데이터동기/비동기비고
Module Manager (HBMM)컬럼 ƒ수식 ↔ calculator output key 참조동기9 calculator
Time Management (HBTM)연장/야간/휴일 근무 → overtime_record source (추정)TBU근태 source
알림/발송 (HBNS)임금명세서 전자서명 발송 연계비동기동선 TBU
Medical (HBMD)치료일 인센티브 · fixed_incentive taxonomy sourceTBU
이카운트(eCount)코드/부서코드/사원명/금액 export비동기

앱 전체 플로우 (Sheet → Commit → Ledger)

확정(commit)은 정본 생성 경계 — destructive. AI/검증은 모달 직전까지만, 실행은 사람.

앱 개요 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-• 조건1 [HR_ADMIN] / 조건2 [SUPER_ADMIN] 인증 시에만 화면을 노출하는 진입 게이트
• 진입 시: 인증 세션 확인 후 워크스페이스 진입
 - CASE01 [미인증]: /hr-system/signin 리다이렉트
인증 세션진입 게이트
01초기 상태-• 진입 직후 최근 작업 시트로 자동 이동시키는 기능
• 진입 시: /sheets/{id}로 자동 리다이렉트
 - CASE01 [최근 시트 없음]: 동선 미확정
[[HBHR100_시트 워크스페이스 (공통 Shell)]]TBU: 최근 시트 없을 때 진입 동선
10글로벌 헤더-• 좌측 "hereby HR 급여 관리" 로고, 우측 계정·알림·로그아웃을 담는 전 화면 고정 헤더전 화면 고정
ㄴ11계정Button• 로그인 계정 ID를 표시하는 헤더 버튼
• 클릭 → TBU
TBU: 표시 값·클릭 동작
ㄴ12알림Button• "알림"을 표시하는 헤더 버튼
• 클릭 → TBU
HBNS 연계 (추정)TBU: 상세 동작
ㄴ13로그아웃Button• 현재 세션을 종료하는 헤더 버튼
• 클릭 시: 세션 종료 후 /hr-system/signin (추정)
00 진입 조건
20기간 네비게이터-• "이전 달" / Month·Year 스피너 / "다음 달" / "이번 달" 빠른 이동으로 조회 월을 바꾸는 기능
• 이동 시: period 변경 → 시트 리스트 재로드
 - CASE01 [period 값 없음]: 당월 기본
period 변경 시 시트 리스트 재로드월 단위
30좌측 사이드바-• "폴더" / "휴지통(🗑)" 탭, "▸▾" 접기, 시트 항목 "{이름} '26.7" + 건수를 담는 사이드바. 폴더 상단에 "폴더 관리" 액션 노출(7/21 신규)[[HBHR108_폴더·휴지통 사이드바]]상세 위임
ㄴ31폴더 트리List• 폴더 10종((미분류) / eCount 연동 / 급여대장 / 문서·서명 / 병동 / 시트 에러 발생 케이스 / 연장근무 / 인센티브 / 출퇴근 / 치료실 인센티브 / 휴직·퇴사)을 나열하는 트리
• 클릭 시: 해당 시트 로드
 - CASE01 [폴더 없음]: "(미분류)" fallback
 - Empty: [[HBHR100_시트 워크스페이스 (공통 Shell)]] 참조
해당 시트 로드"그룹"→"폴더" 용어 확정
40스프레드시트 워크스페이스-• 파일/편집/보기/삽입/데이터 툴바 + 데이터 그리드로 구성된 Excel-like 워크스페이스. Shell 골격은 [[HBHR100_시트 워크스페이스 (공통 Shell)]], 시트 유형별 사양은 개별 화면 참조[[HBHR100_시트 워크스페이스 (공통 Shell)]] / HBHR200~270Excel-like
50화면 목록 (I.A.)-• HBHR100 시트 워크스페이스(공통 Shell) 하위에 HBHR101~109 및 HBHR200~270 시트 유형 화면을 배치하는 정보구조앱 하위 화면트리 [[HBHR100_시트 워크스페이스 (공통 Shell)]]
60cross-app 연결-• HBMM(calculator) · HBTM(근태 source) · HBNS(명세서 발송) · HBMD(치료 인센티브) · eCount(export) 연동 지점Data I/O 외부 통합 참조

AI 접점 요약

앱 전반의 AI 진입 표면은 시트 컬럼 수식(ƒ) = 자연어 진입점이며, backbone은 Module Manager Calculator Registry의 outputKeys + parameterSchema + sourceTables + targetTables다. 핵심 룰: AI는 Sheet / preview / preflight까지만 관여, commit·PayrollLedger 변경은 항상 사람이 실행.

AI Skill트리거 위치동작안전 경계우선도
formulaFromNL컬럼 ƒ 수식 (HBHR200)자연어 → 컬럼 수식/계산기 바인딩 제안 (자동 삽입 X)Sheet 단계, commit 무관★★★★★
recalcExplain재계산 diff 뷰 (HBHR203)변경 전/후 차액에 "왜 변동됐는지" 자연어 설명 부착읽기 전용★★★★★
commit preflight전체 확정 직전 (HBHR201)음수/±3σ 이상치/4대보험 config "미사용" 검증 후 경고확정 차단·경고만, 실행은 사람★★★★☆

권한 / 상태 요약

시나리오트리거결과비고
CASE01 [미인증 진입]/hr-system 직접/hr-system/signin 리다이렉트
CASE02 [HR_ADMIN 진입]인증 세션최근 시트 /sheets/
CASE03 [전체 확정]"전체 확정" 클릭 → 확인정본 레코드/원장 생성payroll:confirm (추정)

알려진 버그 후보 (노션 등록)

ID위치증상상태
BL-001[[HBHR106_데이터 메뉴]]"승인 행 모두 지급 처리" 클릭 시 카운트·상태 불변, 에러 피드백 부재 — 무음 실패노션 등록됨
BL-002[[HBHR109_행 정보 패널·검색]]급여명세서 실수령액 0원 행에서 "직원에게 발송" 클릭 시 무반응(성공/실패 피드백 부재)노션 등록됨

Open Question

  • 급여 항목 컬럼 전체 목록 (기본급/수당/공제/실수령) = TBU
  • 임금명세서 발급 동선 (HBNS 연계) = TBU
  • 권한 토큰 실제 키 (payroll:* 추정) = TBU
  • PayrollRecord status enum = draft→approved→confirmed→paid 확정 (published 미사용; 생성 직후 기본 draft, 최종 paid) — (TC 확정: payroll.test.ts: filter by status)
  • BL-001 / BL-002 무음 실패 근본 원인 (owning docs 106/109) = TBU
  • 최근 작업 시트가 없을 때의 진입 동선 (01) = TBU
  • 계정 버튼(11) 표시 값 = TBU
  • 알림 버튼(12) 상세 동작 = TBU