HBHR210_계약급여내역 시트
(Hereby) HR 급여 관리 > 시트 워크스페이스 > 계약급여내역 시트
| 앱 | HR 급여 관리 (hr-system, 포트 4000) |
| 대상 사용자 | 조건1 [HR_ADMIN] / 조건2 [SUPER_ADMIN] |
| 프로토타입 | TBU |
| 관련 정책 | [[POL_급여정본경계]] · [[POL_호봉승급규칙]] |
| Status | review |
| Owner | 카나 |
| 부모 | [[HBHR100_시트 워크스페이스 (공통 Shell)]] |
개요
- 계약급여내역 시트는 직원별 근로계약 조건(임금유형·기본급·호봉·시급·계약기간·주표준시간)을 한 행으로 표현하는 **급여 입력 원천 시트(작업공간)**다.
- 좌→우 17컬럼 구조이며, employment_contracts / salary_grades를 근거로 한다.
- 이 시트 값은 근로계약 calculator(11 output keys)의 입력 원천으로 소비되어 급여대장([[HBHR200_급여대장 시트]])의 기본급·제수당 산출로 연결된다.
- 좌측 시스템 컬럼(#/사번/성명/팀/재직상태)은 read-only로 employee에 바인딩되고, 우측 급여 항목 컬럼은 ƒ(수식)로 calculator output key에 바인딩된다.
- 시트=작업공간, 정본=commit 경계다. 시트 값은 확정 전까지 정본이 아니며 확정(commit) 시 allowance_records / payroll_records로 정본화된다 ([[POL_급여정본경계]] 참조).
문서 히스토리
| 날짜 | 작성자 | 팀 | 변경 내용 |
|---|---|---|---|
| 2026-07-06 | 카나 | PM | 최초 작성 |
| 2026-07-10 | 카나 | PM | 라이브 기능 검토 반영 |
| 2026-07-13 | 카나 | PM | 버튼 행동 명세 보강 |
| 2026-07-21 | 카나 | PM | GC700 깊이 재작성 |
| 2026-07-21 | 카나 | PM | 가독성 패스 + 액션 표기 (GUIDE §7·§8) |
| 2026-07-21 | 카나 | PM | 셀 스타일 확정판 적용 (콸 승인) |
Data I/O
Server → Client
| 변수 | DB 엔티티.컬럼 | 값 없을 때 | 비고 |
|---|---|---|---|
${sheet.rows} | employment_contracts[] (직원별 현행 계약 행) | 0건 시 빈 그리드 | "293/293건" 형태 카운트 |
${row.baseSalary} | salary_grades.baseSalary / 계약 기본급 | 미산정 시 빈 텍스트 | 임금유형=월급 기준 |
${row.hobong} | salary_grades.grade | 공란 | 호봉가산·장기근속 산출 입력 |
${column.fieldKey} | sheet_views.columnLayout (컬럼 바인딩 키) | 미바인딩 시 커스텀 열 | 시스템 컬럼 read-only |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 셀 편집 | rowId, columnKey, value | sdk.payrollSheet.updateCell() (추정) | payroll:write (추정) |
| 컬럼 수식/바인딩 변경 | columnKey, formula/calculatorKey | sdk.payrollSheet.updateColumn() ([[HBHR107_컬럼 헤더 컨트롤]]) | payroll:write (추정) |
| 재계산 preview | sheetId | compute preview (읽기 전용, [[HBHR203_재계산 diff 뷰]]) | — |
Calculator 연동
컬럼(ƒ) ↔ 근로계약 calculator(11 output keys): 기본급·호봉가산·장기근속·통상시급 환산 산출 (11키 세부 = TBU). 산출 결과는 전체 확정([[HBHR201_전체 확정 (commit)]]) 시 allowance_records / payroll_records로 반영.
화면 플로우 (Mermaid)
이 시트는 INPUT 원천 시트다. ƒ 컬럼의 compute는 preview일 뿐이며 정본 record 생성은 급여대장 전체 확정([[HBHR201_전체 확정 (commit)]])에서만 발생한다.
컬럼 사양표 (17컬럼, 좌→우 — 기본 템플릿 기준)
컬럼 순서·명칭은 기본 템플릿 기준이며, 시트별 실데이터는 사용자 컬럼 편집으로 변형될 수 있다. 내부 fieldKey 16종: employeeNumber / employeeName / team / employeeStatus / contractNumber / contractType / wageType / baseSalary / hobongAmount / longevityAmount / hourlyRate / salaryGrade / startDate / endDate / standardWeeklyHours / jobDuty.
| # | 컬럼 | 타입 | 설명 (용도·형식) | 연관 (ERD/calculator/타 앱) | 비고 |
|---|---|---|---|---|---|
| 1 | # | Index | • 행 순번을 표시하는 시스템 컬럼 (read-only) | sheet_rows.sortOrder | read-only |
| 2 | 사번 | Text (system) | • 직원을 식별하는 사번 컬럼. employee 마스터에 read-only 바인딩 | employees.employeeNumber / fieldKey=employeeNumber | 시스템 컬럼 |
| 3 | 성명 | Text (system) | • 직원 성명을 표시하는 시스템 컬럼 (read-only) | employees.name / fieldKey=employeeName | 시스템 컬럼 |
| 4 | 팀 | Text (system) | • 소속 팀/부서를 표시하는 시스템 컬럼 (read-only) | teams / fieldKey=team | 시스템 컬럼 |
| 5 | 재직상태 | Badge | • 재직/휴직/퇴사 등 재직 상태를 표시하는 Badge 컬럼 | employees.status / fieldKey=employeeStatus · 휴직=leave_of_absence_records([[HBHR260_휴직·퇴사 내역 시트 (2섹션)]]) · 퇴사=resignation_records | 휴직/퇴사 행 회색 처리(추정) · TBU: enum 값 |
| 6 | 계약번호 | Text | • 근로계약을 식별하는 계약 번호 컬럼 | employment_contracts.contractNumber(추정) / fieldKey=contractNumber | 엔티티명 TBU |
| 7 | 계약유형 | Badge/Text | • 정규직/계약직/시간제 등 계약 유형을 표시하는 컬럼 | employment_contracts.contractType(추정) / fieldKey=contractType | TBU: enum 값 |
| 8 | 임금유형 | Badge/Text | • 월급/시급/연봉 등 산정 방식을 표시하며 calculator 분기 입력이 되는 컬럼 | employment_contracts.wageType(추정) / fieldKey=wageType → calculator 분기 입력 | TBU: enum 값 |
| 9 | 기본급 | Output/Number | • 월 기본급(원)을 표시하는 Output 컬럼. 임금유형=월급 기준 | salary_grades.baseSalary / fieldKey=baseSalary · 근로계약 calculator | 통화 포맷 |
| 10 | 호봉가산 | Output/Number | • 호봉 기반 가산액을 표시하는 Output 컬럼 | salary_grades.hobongAmount / fieldKey=hobongAmount · 근로계약 calculator | 호봉 종속 |
| 11 | 장기근속 | Output/Number | • 근속연수 기반 장기근속 가산액을 표시하는 Output 컬럼 | 근로계약 calculator (yearsOfService 입력) / fieldKey=longevityAmount | 산출식 TBU |
| 12 | 시급 | Output/Number | • 통상임금 환산 시간당 임금(원/h)을 표시하는 Output 컬럼 | 근로계약 calculator (통상시급 key) / fieldKey=hourlyRate | 연장/야간 배수 기준([[HBHR220_연장근무 내역 시트]]) |
| 13 | 호봉 | Number | • 호봉 단계(정수)를 표시하는 컬럼. 호봉가산 산정 입력 | salary_grades.grade / fieldKey=salaryGrade | 호봉가산 산정 입력 |
| 14 | 계약시작 | DatePicker | • 근로계약 시작일(YYYY-MM-DD)을 표시하는 DatePicker 컬럼 | employment_contracts.startDate(추정) / fieldKey=startDate | — |
| 15 | 계약종료 | DatePicker | • 근로계약 종료일을 표시하는 DatePicker 컬럼. 무기계약 시 공란 | employment_contracts.endDate(추정) / fieldKey=endDate | 계약직만 유효 |
| 16 | 주표준시간 | Number | • 주 소정근로시간(h)을 표시하는 컬럼. 통상임금·연장 판정 기준 | employment_contracts.weeklyStandardHours(추정) / fieldKey=standardWeeklyHours · 52시간 판정([[HBHR220_연장근무 내역 시트]]) 입력 | — |
| 17 | 직무 | Text | • 직무/직종 구분을 표시하는 컬럼 | employees.jobTitle(추정) / fieldKey=jobDuty | 인센티브 taxonomy 참고([[HBHR250_인센티브 세션 시트]]) |
공통 우측 컬럼군(재계산 diff + eCount)은 [[HBHR203_재계산 diff 뷰]] 참조.
연동·플로우
- 입력 원천 역할: 계약급여내역 → 근로계약 calculator(11키) → 급여대장([[HBHR200_급여대장 시트]]) 기본급/제수당 산출.
- 호봉 승급: grade_promotion_requests(currentGrade/nextGrade·currentBaseSalary/newBaseSalary·currentHobongAmount/newHobongAmount) 승인 결과가 호봉·기본급·호봉가산에 반영 (시기 = TBU).
- 확정 경계: 값 확정은 급여대장 전체 확정([[HBHR201_전체 확정 (commit)]], commit)에서 allowance_records/payroll_records로 정본화. AI는 preview/preflight까지만 관여.
권한·상태 분기 요약
| 시나리오 | 트리거 | 결과 | 비고 |
|---|---|---|---|
CASE01 [시스템 컬럼 편집 시도] | 사번/성명/팀/재직상태 셀 편집 | 차단 (read-only 바인딩, 입력 무시) | employee 마스터가 SoT |
CASE02 [ƒ 컬럼/원천 셀 편집] | 기본급/호봉 등 셀·수식 변경 | 작업공간 업데이트 (payroll:write 추정) | commit 무관 |
CASE03 [휴직·퇴사 행] | 재직상태 = 휴직/퇴사 | 행 회색 처리(추정) | 정산 계산 대상 |
Open Question
- employment_contracts 엔티티/컬럼명 확정 (03 ERD 미노출, salary_grades/grade_promotion_requests만 확인). TBU.
- 근로계약 calculator 11 output key 세부 및 컬럼별 매핑. TBU.
- 재직상태·계약유형·임금유형 enum 값 목록. TBU.
- 장기근속/통상시급 산출식 및 주표준시간과의 관계. TBU.
- 시스템 컬럼 외 셀 편집 가능 여부(기본급/호봉 수기 vs calculator read-only). TBU.