매달 4시간씩 반복되던
HR 급여 기초작업,
Python으로 30분 만에 끝냈습니다
Selenium·pandas로 HR시스템 자동 로그인부터 자료 다운로드, 파일 병합까지 전 과정을 자동화.
수작업 Ctrl+C·V 반복을 없애고 월 4시간을 30분으로 단축한 제약사 A사 인사팀의 실전 사례.
매달 같은 HR 화면을 열고,
같은 데이터를 내려받고,
급여시트에 붙여넣는 일이 반복됐습니다

인사팀의 급여 기초작업은 매월 빠짐없이 수행해야 하는 루틴 업무입니다. HR시스템에 로그인해 입사자현황과 개인별고정급 자료를 각각 내려받고, 두 파일의 내용을 급여 관리 시트에 일일이 Ctrl+C, V로 기입한 뒤 담당자에게 이메일로 발송하는 과정이 매월 반복됩니다.
이 업무에는 월 최대 4시간, 연간 24시간이 소요됐습니다. 데이터 자체는 어렵지 않지만, 매번 로그인 → 메뉴 탐색 → 다운로드 → 붙여넣기 순서를 반복하다 보면 열 위치 오류나 오타가 생기고, 이를 찾아 수정하는 데 또 시간이 들었습니다.
"매달 하는 일이라 익숙한데, 익숙할수록 실수가 생기는 게 문제였어요. Ctrl+V를 잘못된 셀에 붙여넣으면 그걸 찾아 고치는 데 또 시간이 걸리니까요."
기존 업무 단계
| 단계 | 작업 내용 | 소요 시간 |
|---|---|---|
| STEP 1 | HR시스템 로그인 및 메뉴 클릭 | 매월 반복 |
| STEP 2 | 입사자현황·개인별고정급 자료 각각 다운로드 | 매월 반복 |
| STEP 3 | 급여시트에 Ctrl+C, V로 자료 내용 직접 기입 | 4시간/월 |
| STEP 4 | 완성된 급여 기초 파일 담당자에게 이메일 발송 | 매월 반복 |
🔁 HR시스템 로그인 → 메뉴 탐색 → 다운로드 반복 — 자료 종류가 늘수록 작업 시간 비례 증가
✂️ Ctrl+C, V 수작업 반복 기입 — 열 위치 오류·오타 발생 시 추가 수정 작업 필요
📅 월말 마감 집중 — 연 24시간이 단순 반복 수작업에 소모
로그인부터 파일 병합까지,
Python이 순서대로 처리합니다
Selenium으로 HR시스템 자동 로그인 → 자료별 다운로드 → pandas로 두 파일 병합 → 지정 폴더 자동 저장까지, 기존 수작업 4단계를 코드 한 번 실행으로 완료합니다.
사용 도구
자동화 처리 흐름
|
1
|
STEP 1 · HR시스템 자동 로그인
Selenium으로 HR시스템 자동 접속
Chrome WebDriver로 브라우저를 자동 실행하고 HR시스템에 접속해 로그인까지 완료합니다. 이후 모든 메뉴 탐색과 버튼 클릭도 코드가 자동으로 처리합니다.
결과값: HR시스템 메인 화면 진입 완료
|
|
2
|
STEP 2 · 입사자현황 자동 다운로드
인사관리 → 입퇴사현황 조회 → 파일 다운로드
인사관리 메뉴를 자동 클릭하고 입퇴사현황 화면으로 이동합니다. datetime으로 당월 1일~말일을 자동 계산해 조회 기간을 설정하고 파일을 다운로드합니다. 다운로드 즉시 날짜 기반 파일명으로 변경하고 지정 폴더로 이동합니다.
결과값: yymmdd_입사자현황.xls → 지정 폴더 자동 저장
|
|
3
|
STEP 3 · 개인별고정급 자동 다운로드
급여관리 → 임금조회 → 파일 다운로드
iframe 전환 후 급여관리 메뉴를 클릭하고 임금조회 화면으로 이동합니다. 조회 후 개인별고정급 파일을 다운로드하고 날짜 기반 파일명으로 변경해 지정 폴더로 자동 이동합니다.
결과값: yymmdd_개인별고정급.xls → 지정 폴더 자동 저장
|
|
4
|
STEP 4 · 두 파일 자동 병합 (pandas)
사번 기준 inner join → 날짜 포맷 통일 → 중복 열 제거
pandas로 두 파일을 사번 기준 inner join으로 병합합니다. 입사일·수습해제일을 YYYY/MM/DD 형식으로 통일하고, 병합 과정에서 생성된 중복 열과 불필요한 컬럼을 자동으로 제거합니다.
결과값: 정제된 급여 기초 데이터프레임 완성
|
|
5
|
STEP 5 · 최종 파일 자동 저장
xlsxwriter로 서식 적용 후 급여 폴더 자동 저장
xlsxwriter로 셀 테두리와 열 너비를 자동 조정해 가독성 있는 형태로 저장합니다. 파일명은 실행 시각 기준 yymmddHHMM_입사자현황.xlsx 형식으로 자동 생성됩니다.
출력형태: 서식 완성된 급여 기초작업 엑셀 파일
|
각 단계 핵심 설명
Selenium Chrome WebDriver로 HR시스템에 자동 접속하고 로그인합니다. 이후 인사관리·급여관리 메뉴 클릭, iframe 전환, 조회 버튼 클릭까지 모든 조작을 코드가 자동으로 수행합니다.
datetime으로 당월 1일~말일을 자동 계산해 조회 기간을 설정하고 입사자현황·개인별고정급 파일을 각각 다운로드합니다. 다운로드 즉시 파일명을 날짜 기반으로 변경하고 glob·shutil로 지정 폴더에 이동합니다.
pandas로 두 파일을 사번 기준 inner join으로 병합합니다. 입사일·수습해제일을 YYYY/MM/DD 형식으로 통일하고, 병합 시 생성되는 중복 열(_y 접미사)과 불필요한 컬럼을 자동으로 제거합니다.
xlsxwriter로 셀 테두리와 열 너비를 데이터 길이 기준으로 자동 조정해 보기 좋은 형태로 저장합니다. 파일명은 실행 시각 기준 yymmddHHMM_입사자현황.xlsx 형식으로 자동 생성됩니다.
4시간이 30분으로,
연간 18시간을 되찾았습니다

|
Before · 수작업
• HR시스템 수동 로그인 및 메뉴 탐색 • 자료별 개별 다운로드 • 급여시트에 Ctrl+C, V 반복 기입 • 완성 파일 담당자 이메일 발송 월 소요 시간
4시간
= 연 24시간
|
→ |
After · 자동화
• Python 스크립트 1회 실행 • 로그인·다운로드·병합 자동 처리 • 완성 파일 지정 폴더 자동 저장 • 내용 확인 후 이메일 발송만 수행 월 소요 시간
30분
= 연 6시간
|
자동 생성된 급여 기초작업 파일
※ 아래 데이터는 설명을 위한 예시입니다.
"처음에는 코드를 한 번 짜는 게 과연 의미 있을까 싶었는데, 매달 4시간씩 반복하던 일이 30분으로 줄어드니 그 차이가 정말 크게 느껴졌어요. 특히 Ctrl+V 실수 없이 두 파일이 깔끔하게 합쳐지니까 검토 시간도 함께 줄었습니다."
'익숙한 반복'이
가장 먼저 자동화해야 할 업무입니다

급여 기초작업처럼 매달 동일한 순서로 반복되는 업무는 언뜻 간단해 보이지만, 쌓이면 결코 작지 않습니다. 이번 사례의 자동화로 절감한 18시간은 더 복잡한 인사기획이나 채용 업무, 혹은 다음 자동화를 준비하는 시간으로 바꿀 수 있습니다.
자동화의 핵심은 완전한 무인화가 아닙니다. 이번 사례처럼 로그인 → 다운로드 → 병합이라는 반복 구간만 제거하고, 사람이 꼭 해야 하는 내용 확인과 이메일 발송은 그대로 남겨두는 것이 가장 현실적인 적용 방식입니다.
실수가 숨어들수록 수정 시간이 늘어납니다.
Python은 그 반복을 처음부터 없애줍니다."
HR시스템과 Selenium의 조합은 웹 기반으로 운영되는 거의 모든 사내 시스템에 동일하게 적용할 수 있습니다. 시스템이 바뀌더라도 CSS 셀렉터만 수정하면 되므로 유지보수 부담도 크지 않습니다.
같은 구조로
더 많은 인사·급여 업무에 적용됩니다
이번 자동화에 쓰인 Selenium + pandas + xlsxwriter 조합은 HR시스템이 웹으로 운영되는 어느 회사에서든 동일하게 적용할 수 있습니다. 특히 아래 업무들은 구조가 거의 동일해 빠르게 확장할 수 있습니다.
확장 가능 업무
① 퇴사자 현황 정리 — HR시스템에서 퇴사자 데이터를 자동 다운로드해 급여 정산 시트와 자동 병합
② 월별 급여 이력 누적 관리 — 월별 개인별고정급 파일을 자동 수집해 연간 급여 이력 시트로 자동 적립
③ 부서별 인원 현황 보고서 — 입사자·퇴사자 데이터 자동 취합 후 부서별 집계 엑셀 자동 생성
④ 수습 해제 알림 자동화 — 수습해제일이 도래한 직원 목록 자동 추출 후 담당자 이메일 자동 발송
⑤ 복수 HR 시스템 데이터 통합 — 그룹사 계열사별 HR 시스템 데이터를 하나의 통합 급여 시트로 자동 병합
실무형 AI 코딩 교육
직접 만들고 바로 쓰는 자동화 프로그램을 배웁니다.