노션으로 연차 & 권한 관리 시스템 구축하기

개요

본 문서는 연차 및 권한 관리 시스템 개발을 위한 회의 내용을 정리한 자료입니다. 기존의 수기 및 비체계적인 방식의 문제점을 해결하기 위해, 노션(Notion)을 기반으로 한 자동화된 HR 관리 시스템을 구축하는 과정을 심층적으로 다룹니다. 회의에서는 연차 발생, 신청, 승인, 취소에 이르는 전체 워크플로우를 자동화하고, 직원, 관리자, 원장 등 역할에 따른 맞춤형 대시보드를 설계하는 방안이 논의되었습니다.
특히, 반복적이고 오류 발생 가능성이 높은 직원 초대 및 권한 관리 작업을 자동화하는 시스템을 중점적으로 개발하며, 이를 통해 운영 효율성을 극대화하는 것을 목표로 합니다. 본 문서는 시스템의 상세 기능, 데이터베이스 구조, 자동화 로직, 그리고 실무 적용을 위한 팁과 주의사항을 포함하고 있어, 유사한 시스템을 구축하거나 도입하려는 조직에 유용한 지식 자료로 활용될 수 있습니다.

주요 학습 포인트

확장 가능한 연차 데이터베이스 설계: 연도별 연차 발생 및 사용 내역을 누적하여 관리하는 데이터베이스 구조 설계 방법.
개인별 연차 자동 생성: 입사일 기준 개인별 연차 발생 시점을 계산하여 매일 자동으로 연차를 부여하는 스크립트 구축.
역할 기반 대시보드 설계: 직원, 관리자, 원장 등 사용자 역할에 따라 필요한 정보와 기능만을 노출하는 맞춤형 대시보드 기획.
사용자 권한 관리 자동화: 신규 입사자 초대 및 퇴사자 권한 회수 프로세스를 버튼 클릭만으로 처리할 수 있는 자동화 시스템 구축.
데이터 시각화: 타임라인 뷰와 조건부 서식을 활용하여 직원별 계약 기간, 잔여 연차, 수습 기간 등을 직관적으로 시각화하는 방법.

요약

1. 기존 연차 관리 방식의 문제점 및 신규 시스템 설계

문제점: 기존 방식은 최종 연차 개수만 기록하여, 연도별 발생 및 사용 내역에 대한 이력(리포트)이 남지 않는 문제가 있었습니다.
새로운 설계 방향:
직원별로 1년 차, 2년 차 등 매년 발생한 연차 데이터를 별도의 레코드로 누적 저장합니다. 예를 들어 10년 차 직원은 10개의 연차 데이터가 쌓입니다.
각 연차 데이터에는 해당 연도에 발생한 총 연차, 신청 연차, 신청 반차 등의 상세 정보가 기록됩니다.
직원들이 보는 메인 페이지에서는 가장 최근 연차 데이터(예: 10년 차 데이터)만 표시하여 간결함을 유지합니다.

2. 연차 발생 및 공휴일 관리 자동화

공휴일 자동 연동:
구글 캘린더의 '대한민국 휴일' 캘린더를 시스템에 연동하여 공휴일을 자동으로 반영합니다.
중요: 해당 캘린더를 삭제하면 휴일이 반영되지 않으므로 절대 삭제해서는 안 됩니다.
연차 자동 생성:
모든 직원의 입사일이 다르므로, 특정 날짜에 일괄 생성하는 것이 불가능합니다.
매일 오전 9시에 자동화 스크립트가 실행되어, 당일이 입사 1주년 등이 되는 직원에게 새로운 연차를 자동으로 생성 및 부여합니다.

3. 연차 신청 및 취소 프로세스

연차 신청:
직원은 '연차 사용 신청서' 양식을 통해 자신의 이름을 선택하고, 연차/반차 종류와 날짜를 입력하여 신청합니다.
신청된 내역은 '스케줄' 데이터베이스에 자동으로 기록됩니다.
연차 취소:
'연차 취소 신청서'를 통해 취소할 날짜를 지정하여 제출합니다.
취소 요청은 별도의 '캔슬(Cancel)' 데이터베이스에 기록됩니다.
중요 참고사항: 신청 내역을 바로 삭제하지 않고 별도의 캔슬 DB에 기록하는 이유는, 직원이 직접 취소했는지 관리자가 반려했는지 등 취소 이력을 명확하게 남기기 위함입니다. 이 데이터는 나중에 원본 스케줄 데이터와 매칭되어 최종 처리됩니다.

4. 관리자 승인 시스템 및 권한

관리자 승인 페이지:
직원들이 제출한 모든 연차 신청 건은 관리자 승인 페이지의 캘린더에 '미승인' 상태로 표시됩니다.
이 상태에서는 직원들의 공유 캘린더에는 해당 일정이 보이지 않습니다.
승인 및 일정 조율:
관리자가 신청 건을 '승인' 처리하면, 해당 일정이 직원 공유 캘린더에 공식적으로 표시됩니다.
관리자는 승인 전, 드래그 앤 드롭(Drag & Drop) 방식으로 직원의 휴가 일정을 조율할 수 있는 강력한 권한을 가집니다.
일반 직원은 이 관리자 캘린더를 볼 수만 있고, 수정 권한은 없습니다.

5. 역할별 대시보드 구성 및 추가 개발 논의

대시보드 분리: 시스템 사용자를 역할에 따라 세 그룹으로 나누고, 각각에 최적화된 별도의 대시보드를 구축하기로 결정했습니다.
직원용 대시보드 (서울눈치과 대시보드): 조직도, 비상연락망, 전체 일정 캘린더, 연차 신청 등 필수 정보만 간결하게 제공합니다.
관리자용 대시보드: 직원 온보딩, 연차 일정 승인 및 관리, 직원 권한 관리 등 실무 관리 기능에 집중합니다.
원장님용 대시보드: 수당, 재계약, 파트타임 관리 등 민감한 노무 관련 정보를 프라이빗하게 관리합니다.
추가 비용 논의: 페이지(대시보드) 추가 시 발생하는 비용에 대해 논의했으며, 각 대시보드의 필요성과 역할을 명확히 하여 개발 범위를 확정했습니다.

6. Notion 사용자 초대 및 권한 관리 자동화

문제점: 직원이 입사하거나 퇴사할 때마다 여러 페이지와 데이터베이스에 수동으로 초대하고 권한을 설정/제거하는 작업은 매우 번거롭고 실수가 발생하기 쉽습니다.
자동화 시스템 구축: 이 문제를 해결하기 위해 3개의 핵심 구성요소로 이루어진 자동화 시스템을 구축합니다.
1.
직원 초대 현황 DB: 관리할 직원 목록이 있는 데이터베이스.
2.
DB & Page 리스트: 권한을 부여할 페이지와 데이터베이스 목록. '활성화'/'비활성화' 옵션으로 관리 대상을 조절할 수 있습니다.
3.
권한 부여/제거 버튼: 선택된 직원에게 선택된 리소스의 권한을 부여하거나 제거하는 자동화 스크립트를 실행하는 버튼.
권한 수준 설정:
전체 허용, 편집 허용, 내용 편집 허용, 댓글 허용, 읽기 허용 등 노션의 세부적인 권한을 자동화 시스템에서 설정할 수 있습니다.
실무 팁: 일반 직원에게는 대시보드 페이지 자체는 '댓글 허용'으로, 데이터 입력이 필요한 DB(연차 신청 등)는 '내용 편집 허용'으로 설정하여 페이지 구조를 임의로 변경하지 못하도록 보호하는 것이 좋습니다.

7. 권한 관리 자동화 시스템 시연

권한 부여 시연:
1.
'직원 초대 현황' DB에서 권한을 부여할 직원(들)을 선택합니다.
2.
'DB & Page 리스트'에서 부여할 페이지/DB를 선택합니다.
3.
'게스트 초대' 버튼을 클릭하면, 확인 창이 뜬 후 자동으로 해당 직원에게 초대 및 권한 설정이 완료됩니다.
4.
작업 완료 후 선택된 항목들은 자동으로 초기화됩니다.
권한 제거 시연:
1.
동일한 방식으로 직원과 리소스를 선택합니다.
2.
'게스트 제거' 버튼을 클릭하면 해당 직원의 접근 권한이 즉시 회수됩니다.
중요 참고사항: 현재 시스템은 한 번의 실행으로 여러 직원에게 동일한 권한 세트를 부여하는 방식입니다. 직원마다 다른 권한을 부여하려면, 각기 다른 조합으로 여러 번 실행해야 합니다.

8. 관리자 대시보드: 병원 전체 일정 관리

일정 입력 (Input):
워크숍, 팀 미팅, 병원 휴무 등 병원 전체 일정을 입력하는 섹션입니다.
여러 일정을 한 번에 입력한 후 '입력 완료' 버튼을 누르면 모든 일정이 공유 캘린더에 일괄 반영됩니다.
연차 취소 확인:
직원이 제출한 연차 취소 요청이 이곳에 목록으로 나타납니다.
관리자가 '취소 확인' 버튼을 누르면 해당 연차가 공식적으로 취소 처리됩니다.
생일 자동 등록:
직원 DB에 주민등록번호가 입력되면, 이를 파싱하여 생년월일을 자동으로 추출합니다.
매년 1월 1일, 시스템이 모든 직원의 올해 생일 정보를 스케줄 DB에 자동으로 등록하여 캘린더에 표시해줍니다.

9. 퇴사자 정보 처리 프로세스

퇴사 프로세스 연동: 퇴사 절차(면담, 퇴사일 확정, 연차 정산 등)의 일부로 시스템 정보 삭제가 포함됩니다.
자동 정보 제거:
퇴사 처리가 완료되면 해당 직원은 조직도에서 제외됩니다.
캘린더에 등록된 생일 등 개인 정보가 삭제됩니다.
앞서 구축한 '권한 관리 자동화' 시스템을 통해 모든 DB와 페이지에 대한 접근 권한이 일괄 제거됩니다.

10. 관리자 대시보드: 연차 현황 시각화 (타임라인 뷰)

기존 방식의 한계: 클라이언트가 사용하던 엑셀 형태의 가로/세로 매트릭스 뷰는 노션에서 그대로 구현하기 어렵습니다.
타임라인 뷰 활용:
노션의 타임라인 뷰를 사용하여 직원별 '계약 기간' (입사 1주년 ~ 다음 해 1주년)을 시각적으로 표현합니다.
타임라인 막대 위에 총 사용 연차, 잔여 연차 등 핵심 수치를 표시하여 현황을 한눈에 파악할 수 있도록 합니다.
수습 기간 시각화:
직원 상태(구분)에 '수습' 항목을 추가하고, 조건부 서식 기능을 활용하여 수습 기간 중인 직원의 타임라인 막대를 특정 색상(예: 빨간색)으로 강조 표시합니다.
이를 통해 관리자는 누가 수습 기간 중인지 직관적으로 인지할 수 있습니다.

11. 정직원 전환 프로세스 및 연차 현황 관리

정직원 전환:
수습 기간이 끝난 직원에 대해, 관리자가 '정직원 전환' 버튼을 클릭하면 상태가 '정직원'으로 변경되고 타임라인의 색상도 자동으로 바뀝니다.
이와 동시에 해당 직원의 계약 기간 표시가 1년 단위로 연장됩니다.
연차 현황 대시보드:
관리자는 대시보드에서 전 직원의 총 연차, 사용 연차, 잔여 연차, 연차 보상 내역 등을 표 형태로 상세히 확인할 수 있습니다.
연차 사용 촉진 메일 발송이나 연말 연차 보상 정산 시 이 데이터를 활용합니다.
직원은 자신의 연차 현황만 볼 수 있도록 권한이 필터링됩니다.

12. 최종 대시보드 구성 및 매뉴얼의 중요성

관리자 대시보드 최종 구조:
온보딩: 신규 직원 등록 및 정직원 전환 관리.
일정 관리: 병원 전체 일정 입력 및 연차 신청/취소 승인.
연차 관리: 직원별 연차 현황 상세 조회, 연차 보상 처리, 신청/취소 현황 조회.
매뉴얼 제작의 중요성:
시스템이 다소 복잡하고, 특정 기능(예: 연차 보상)은 사용 주기가 길어 담당자가 사용법을 잊기 쉽습니다.
따라서, 각 기능의 사용 방법을 명확히 설명하는 영상 매뉴얼을 제작하여, 담당자가 변경되더라도 원활하게 시스템을 운영할 수 있도록 해야 함을 강조했습니다.