Skip to content

HBEA530_급여명세서 모달

(Hereby) 직원 앱 > 더보기 > 급여명세서 모달

직원 앱 (Employee App, 포트 4002)
대상 사용자조건1 [EMPLOYEE] (self scope)
프로토타입TBU
관련 정책[[POL_급여정본경계]] · [[POL_임금명세서§48]]
Statusdraft
Owner카나

개요

  • 더보기 > 급여명세서 진입 시 뜨는 모달 리스트. 부모 화면은 [[HBEA500_더보기]]. 직원 본인(self) 급여명세서를 열람·전자서명하는 self-service 표면.
  • 명세서가 없으면 Empty "급여명세서가 없어요." 명세서 본문은 근로기준법 §48 법정 7항목 요건을 충족해야 한다(아래 요건 보조표).
  • 전자서명 동선은 HR 전자서명 발송([[HBHR270_전자서명 발송·eCount 연동 시트 (2섹션)]] 교부 입증층)과 연계 — 발송·서명일시·상태가 교부 입증층으로 write-back. 명세서 §48 본문·서명 액션은 실직원 계정 필요로 TBU.

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-21카나PMGC700 깊이 재작성
2026-07-21카나PM셀 스타일 확정판 적용 (콸 승인)
2026-08-26카나PM법정공제 잠정 표시 반영(#581 머지) — 배지 원문은 실사 대기(명세서 0건). Empty "급여명세서가 없어요." 재실사 확인

Data I/O

Server → Client

변수DB 엔티티.컬럼값 없을 때비고
${payslips}Payslip[] (self)빈 배열 → "급여명세서가 없어요."리스트 원천
${payslip.body}Payslip.body (§48 7항목)TBU (실직원 계정 필요)본문 미확인
${esign_status}ESignRecord.status (미서명 / 서명 완료)미서명 기본 (추정)교부 입증층 연동
${payslip.period}Payslip.period (지급 귀속월)TBU리스트 행 라벨

Client → Server

액션전달 값tRPC procedure권한 토큰
명세서 열람payslipIdsdk.payslip.getSelf() (추정)payslip:read.self
전자서명payslipId, signature서명일시 기록 → HR 교부 입증층 write-back (procedure TBU)payslip:sign.self (추정)

외부 통합 (cross-app)

외부 시스템데이터동기/비동기비고
HR 급여시트 / PayrollLedger확정 급여 결과 → 명세서 원천비동기정본은 HR (POL_급여정본경계)
HR 전자서명 발송 ([[HBHR270_전자서명 발송·eCount 연동 시트 (2섹션)]])발송·서명일시·상태 교부 입증층비동기 (write-back)서명 후 이력 반영

화면 플로우 (급여명세서 교부·서명 동선)

직원 앱은 명세서를 조회/열람/서명하는 self-service 표면. 급여 원장·명세서 본문·교부 이력의 정본 수정은 직원 앱에서 수행하지 않는다 ([[POL_급여정본경계]]).


급여명세서 모달 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-조건1 [EMPLOYEE] 인증. 더보기 > 급여명세서 진입 시 모달 오픈[[HBEA500_더보기]]
01초기 상태Output본인 명세서 리스트 로드. ${payslips} 없으면 Emptyself
10모달 리스트Modal• 본인 급여명세서 행 목록. 행 = 귀속월·상태(추정)
• 클릭(행) → 명세서 상세 열람
${payslips}라이브: 계정 데이터 0건
10-Eㄴ EmptyText명세서 0건 시 "급여명세서가 없어요."Empty 원문 (라이브 확인)
값 없음 처리Output${payslip.period} 등 행 필드 부재 시 표시TBU: 행 필드 (본문 실계정 대기)
20명세서 본문-근로기준법 §48 법정 7항목 요건 충족(아래 요건 보조표)HR 원천TBU: 본문 (실직원 계정 필요)
ㄴ21법정공제 잠정 표시Badge• 월 법정공제 항목(4대보험·소득세·지방소득세)에 잠정 표시 — 정산(건보 4월·연말정산·연금 7월 갱신)으로 확정되기 전임을 안내 (settlementState 기반, [[POL_공제_잠정·정산]] 참조)
 - CASE01 [정산 확정 항목]: 잠정 표시 없음 (추정)
payroll read path settlementState (#581)신규 (코드 반영: #581 머지 8/25) · 배지 문구·형태 원문 = 실사 대기(확정 명세서 데이터 전제 — 계정 명세서 0건)
30전자서명Button• 본인 명세서에 전자서명, 서명일시 기록 → HR 교부 입증층 write-back (실직원 계정 필요)
• 클릭 → TBU (서명 액션 미검증)
 - CASE01 [미서명]: 서명 버튼 활성
 - CASE02 [서명 완료]: 서명일시·완료 배지 표시 (반영 형태 TBU)
[[HBHR270_전자서명 발송·eCount 연동 시트 (2섹션)]] · ${esign_status}TBU: 서명 액션 · 서명 실패/반려/만료 enum·재시도
40권한-조건1 [EMPLOYEE] self scope. 타인 명세서 조회 불가

§48 법정 7항목 요건 보조표

항목요건 (근로기준법 §48 임금명세서)
1. 성명·식별정보근로자 성명, 생년월일·사원번호 등 식별정보
2. 임금 지급일임금 지급일자
3. 임금 총액지급 임금 총액
4. 임금 구성항목별 금액기본급·수당 등 구성항목별 금액
5. 계산 방법연장·야간·휴일 근로 등 계산 방법 (계산식·시간 수)
6. 공제 내역공제 항목별 금액 (4대보험·세금 등)
7. 실지급액공제 후 실수령액

본문 렌더 실물은 실직원 계정 데이터 필요로 TBU. 정책 정의는 [[POL_임금명세서§48]] 참조.

급여명세서 교부 원천 경계 보조표

단계원천/화면확정TBU
1. 명세서 생성HR 급여시트 / PayrollLedger확정 급여 결과가 명세서 원천PDF 생성 procedure
2. 교부 발송[[HBHR270_전자서명 발송·eCount 연동 시트 (2섹션)]]발송·서명일시·상태·수신 추적하는 교부 입증층 존재발송 trigger / 재발송 정책
3. 직원 수신직원 앱더보기 > 급여명세서 모달 진입 존재명세서 모달 vs 서류관리 라우팅
4. 열람/서명직원 앱self 열람 표면 (Empty "급여명세서가 없어요." 확인)§48 본문·서명 버튼·완료 상태 반영
5. 교부 이력 반영HBHR270 / Payroll audit교부 입증층으로 write-back서명일시 write-back·실패/반려/만료 enum

권한·상태 분기 요약

시나리오트리거결과비고
CASE01 [명세서 0건]급여명세서 진입 (self 명세서 없음)"급여명세서가 없어요."라이브 확인
CASE02 [미서명]명세서 열람서명 버튼 활성 (액션 TBU)
CASE03 [서명 완료]전자서명 실행 후서명일시 write-back → HR 교부 이력반영 형태 TBU
조건1 [EMPLOYEE]self scope본인 명세서만 조회/서명

Open Question

#항목상태
1급여명세서 §48 본문 렌더 (실직원 계정 필요)TBU
2전자서명 서명 액션 UI·완료 후 상태 반영TBU
3발송 문서가 급여명세서 모달로 들어오는지 / 서류관리로 들어오는지TBU
4서명일시 write-back·실패/반려/만료 상태 enumTBU
5모달 리스트 행 구성(귀속월·상태 배지 등)TBU (계정 데이터 0건)