사회복지 인사관리시스템 개발 일지

사회복지 업무 자동화 프로그램 개발 일지 4편

사회복지시설 인사관리 프로그램(SW HRM) 2026. 2. 11. 17:36

인사관리 프로그램 개발일지

4편. 월급을 건드리다

인사관리에서 가장 민감한 영역, 급여에 손을 대다

"시간외수당을 계산하려면 통상시급이 필요하다. 통상시급을 구하려면 통상임금이 필요하다. 통상임금을 구하려면 기본급과 수당 체계 전체를 알아야 한다. 결국, 시급 하나를 위해 급여 전체를 건드려야 했다."

3편에서 프로그램의 구조를 기초부터 다시 정리했다는 이야기를 했습니다. 그 덕분에 새 기능을 추가해도 기존 기능이 망가지지 않는 튼튼한 토대가 생겼습니다.

이제 그 토대 위에 무엇을 올릴 것인가. 사실 이미 답은 정해져 있었습니다. 제가 업무 중에 가장 자주, 가장 신경 써서 계산하는 것. 바로 통상시급이었습니다. 시간외근무 수당을 계산하려면 통상시급이 있어야 합니다. 연차수당도, 휴일근무 수당도 전부 통상시급을 기준으로 산정합니다. 이 숫자 하나가 틀리면 그 위에 올라가는 모든 수당이 다 틀려집니다. 그런데 이 통상시급이라는 걸 구하려면, 기본급부터 시작해서 급여 체계 전체를 건드려야 했습니다.

통상시급 하나가 이렇게 무거운 숫자인 줄은

통상시급. 숫자 하나입니다. 그런데 이 숫자 하나를 구하려면 거쳐야 할 단계가 한두 개가 아닙니다.

먼저 그 직원의 직급과 호봉을 알아야 합니다. 직급과 호봉이 정해져야 기본급이 나옵니다. 기본급에 직책수당 같은 고정 수당을 더하면 통상임금이 됩니다. 이 통상임금을 월 소정근로시간으로 나누면 그게 통상시급입니다.

문제는 이 과정의 어디 하나라도 틀리면 통상시급이 틀려진다는 것입니다. 그리고 통상시급이 틀리면, 시간외수당이 틀리고, 연차수당이 틀리고, 휴일근무 수당이 틀립니다. 하나의 잘못이 줄줄이 번져나갑니다.

그래서 급여 영역은 한 번도 자동화를 시도하지 못하고 있었습니다. 자동화했다가 한 번이라도 통상시급이 잘못 나오면, 그 위에 얹힌 모든 수당이 다 잘못됩니다. 그런데도 결국 손을 대기로 한 건, 매달 40명분의 통상시급을 수작업으로 확인하는 게 너무 힘들었기 때문입니다.

통상시급까지 가는 먼 길

통상시급 하나를 구하기 위해 거쳐야 하는 과정이 얼마나 복잡한지, 해보지 않은 분은 상상하기 어려울 겁니다. 단순히 "기본급 나누기 시간 아닌가?" 하실 수 있는데, 현실은 전혀 그렇지 않습니다.

통상시급 하나에 도달하려면 이런 것들을 먼저 알아야 합니다.

기본급
직급과 호봉에 따라 정해집니다. 같은 5호봉이라도 직급이 다르면 기본급이 다릅니다. 호봉제와 연봉제 직원이 섞여 있는 시설도 있어서, 급여 체계가 하나로 통일되지 않는 경우도 많습니다.

직책수당
직위에 따라 다릅니다. 관장, 부장, 과장, 팀장, 일반 직원마다 직책수당이 다르고, 이것도 매년 바뀔 수 있습니다.

통상임금
기본급에 고정적으로 지급되는 수당을 합산한 것입니다. 왜 이게 중요하냐면, 시간외근무 수당이나 연차수당을 계산하는 기준이 되기 때문입니다. 통상임금이 틀리면 시간외수당도 틀리고, 연차수당도 틀립니다. 하나가 잘못되면 줄줄이 잘못됩니다.

시급
통상임금을 월 소정근로시간으로 나눈 것입니다. 주 40시간 근무자와 주 20시간 단축근로자의 월 소정근로시간이 다르니, 같은 호봉이라도 시급이 달라질 수 있습니다.

명절휴가비
설과 추석에 지급하는 명절휴가비도 기본급이나 통상임금을 기준으로 산정하는 경우가 많습니다. 지급률이 시설마다 다르고, 설과 추석의 지급 기준이 따로인 곳도 있습니다.

이것들이 전부 서로 연결되어 있고, 최종 목적지는 통상시급입니다. 기본급이 바뀌면 통상임금이 바뀌고, 통상임금이 바뀌면 시급이 바뀌고, 시급이 바뀌면 시간외수당이 바뀝니다. 어느 한 단계라도 틀리면 최종 시급이 틀려집니다.

이걸 직원 40명분, 매번 시간외수당을 계산할 때마다 엑셀로 확인하고 있었습니다.

급여표라는 괴물

급여 계산을 자동화하려면, 먼저 급여표를 프로그램에 넣어야 합니다. 급여표란, 각 직급의 각 호봉에 해당하는 기본급이 적힌 표입니다.

문제는 이 표가 단순하지 않다는 것이었습니다.

급여표의 복잡함

· 호봉제 직급이 5개면, 각 직급별로 1호봉부터 30호봉 이상까지의 기본급이 따로 있습니다.

· 연봉제 직급이 따로 있으면, 이건 또 별도의 체계입니다.

· 이 표가 매년 바뀝니다. 2024년 급여표와 2025년 급여표가 다릅니다.

· 과거 연도의 급여표도 보관해야 합니다. 소급 적용이나 정산 때 필요하니까요.

이 모든 것을 프로그램에서 관리할 수 있게 만들어야 했습니다. 연도별로 급여표를 등록하고, 수정하고, 조회할 수 있어야 하고, 새해가 되면 전년도 급여표를 복사해서 새 급여표를 만들 수 있어야 합니다.

여기에 직책수당도 연도별로 관리되어야 합니다. 올해 과장 직책수당이 30만 원이었는데 내년에 35만 원으로 바뀔 수 있으니까요.

명절휴가비 설정도 필요합니다. 설과 추석 각각의 지급 기준, 지급률, 지급 대상을 설정할 수 있어야 합니다.

이것만 만드는 데도 상당한 시간이 걸렸습니다. 급여표 하나가 이렇게 복잡한 구조물일 줄은 시작하기 전에는 몰랐습니다.

계산기를 만들다

급여표가 완성되자, 이제 본격적인 계산기를 만들 차례였습니다.

직원 한 명을 선택하면, 그 직원의 직급과 호봉을 확인하고, 해당 연도의 급여표에서 기본급을 찾고, 직책수당을 더하고, 통상임금을 구하고, 시급을 계산합니다. 이 모든 과정이 자동으로 이루어져야 합니다.

말로 하면 간단해 보이지만, 예외 상황이 한두 가지가 아니었습니다.

"이 직원은 호봉제인데, 저 직원은 연봉제입니다."
→ 두 가지 체계를 모두 지원해야 합니다.

"이 직원은 주 40시간인데, 저 직원은 단축근로로 주 30시간입니다."
→ 소정근로시간이 다르면 시급 계산 방식이 달라집니다.

"3월에 승진했는데, 1~2월은 이전 직급 기본급이고 3월부터는 새 직급 기본급입니다."
→ 한 해 안에서도 급여가 바뀔 수 있습니다.

"올해 급여표가 아직 확정이 안 됐는데, 우선 전년도 기준으로 지급하고 나중에 소급 적용해야 합니다."
→ 과거 급여표 참조가 필요합니다.

이런 상황들을 하나하나 고려해서 만들었습니다. 하나를 해결하면 또 다른 경우가 나타나고, 그걸 해결하면 또 다른 것이 나타나고. "급여 계산이 이렇게까지 복잡한 건가?" 하는 생각이 매일 들었습니다.

그런데 돌이켜보면, 이 복잡함은 제가 만든 것이 아니었습니다. 원래 급여 계산이 이렇게 복잡한 것이었고, 그동안은 제가 머릿속에서 이 복잡함을 처리하고 있었던 겁니다. 매번 엑셀 앞에 앉아서 "이 사람은 호봉제니까 이렇게, 저 사람은 연봉제니까 저렇게, 이 사람은 단축근로니까 소정근로시간을 바꿔서..." 하면서요.

프로그램을 만드는 과정은 결국, 제 머릿속에 있던 이 복잡한 규칙들을 하나하나 꺼내서 정리하는 작업이었습니다.

검증의 시간

급여 계산기의 기본 틀이 완성됐을 때, 바로 쓰기 시작한 게 아닙니다. 호봉 계산기를 처음 만들었을 때와 마찬가지로, 검증 과정을 거쳤습니다. 다만 이번에는 훨씬 더 꼼꼼하게.

호봉은 틀려도 나중에 정정하면 됩니다. 하지만 급여는 한 번 잘못 나가면 바로 문제가 됩니다. 그래서 검증에 들인 시간이 만드는 시간보다 오히려 더 길었습니다.

방법은 이랬습니다. 재직 중인 모든 직원의 실제 급여 내역을 프로그램 계산 결과와 하나하나 대조했습니다. 기본급이 맞는지, 직책수당이 맞는지, 통상임금이 맞는지, 그리고 최종 통상시급이 맞는지. 원 단위까지 비교했습니다.

40명 전원의 급여 항목을 하나하나 대조하는 데 꼬박 며칠이 걸렸습니다. 지루하고 눈이 아픈 작업이었지만, 한 명이라도 건너뛸 수 없었습니다. 그리고 마지막 한 명의 마지막 항목까지 모두 일치하는 것을 확인했을 때, 비로소 한숨을 내쉴 수 있었습니다.

중간에 불일치가 나온 적도 있었습니다. 찾아보면 대부분은 제가 놓친 예외 상황이었습니다. 단축근로자의 소정근로시간을 잘못 계산했다거나, 특정 직급의 직책수당이 반영되지 않았다거나. 그때마다 원인을 찾아 수정하고, 처음부터 다시 검증했습니다.

이 과정을 세 번 반복한 뒤에야 "이제 믿을 수 있겠다"는 확신이 들었습니다.

급여 현황이 한눈에

검증을 마치고 실제로 사용하기 시작했을 때, 가장 크게 달라진 점은 "한눈에 보인다"는 것이었습니다.

예전에는 특정 직원의 급여 정보를 확인하려면, 엑셀 파일을 열고, 해당 직원의 행을 찾고, 여러 열에 걸쳐 흩어져 있는 정보를 눈으로 조합해야 했습니다.

이제는 직원 이름을 선택하면 한 화면에 전부 나옵니다.

화면에 표시되는 급여 정보

기본급

2,350,000원

직책수당

200,000원

통상임금

2,550,000원

통상시급

12,260원

▲ 예시 화면. 직원을 선택하면 이런 정보가 한눈에 표시된다.

전 직원의 급여 현황을 한 화면에서 비교할 수도 있게 만들었습니다. 누가 어떤 직급에서 몇 호봉이고, 기본급이 얼마이고, 통상임금이 얼마인지. 한 장의 표로 전부 보입니다.

이게 왜 중요하냐면, 급여 관련 질문은 항상 갑자기 오기 때문입니다. "김 선생님 시급이 얼마죠?" "올해 과장급 기본급이 얼마로 바뀌었죠?" 이런 질문에 예전에는 엑셀을 열어서 찾아봐야 했는데, 이제는 바로 대답할 수 있습니다.

결국 이것을 위한 것이었다

급여 기능을 완성하고 돌아보니, 결국 이 프로그램이 궁극적으로 하고 싶었던 일이 분명해졌습니다. 통상임금에 따른 시급을 정확하게, 빠르게, 실수 없이 계산하는 것.

시간외근무가 발생할 때마다 통상시급이 필요합니다. 연차수당을 정산할 때도, 휴일근무 수당을 계산할 때도, 명절휴가비를 산정할 때도. 인사업무에서 통상시급이 필요한 순간은 생각보다 많고, 그때마다 정확한 숫자가 즉시 나와야 합니다.

예전에는 그때마다 엑셀을 열어서 기본급 확인하고, 고정수당 더하고, 소정근로시간 확인하고, 나누기를 했습니다. 한 사람분을 계산하는 데 몇 분이 걸리고, 계산이 맞는지 불안해서 두 번 세 번 확인했습니다.

이제는 직원 이름만 선택하면 통상시급이 바로 나옵니다. 직급이 바뀌면 자동으로 반영되고, 호봉이 올라가면 자동으로 재계산됩니다. 그 숫자를 믿고 바로 시간외수당 계산에 쓸 수 있습니다.

이 기능이 들어가면서 프로그램의 성격 자체가 달라졌습니다. "인사 정보를 정리해주는 도구"에서 "인사업무를 처리해주는 시스템"으로. 통상시급이라는 핵심 숫자가 자리를 잡으니, 그 위에 올라갈 수 있는 것들이 한눈에 보이기 시작했습니다.

불안에서 벗어나다

이 기능의 진짜 가치는 "빨라진다"가 아니었습니다. 물론 빨라지긴 했지만, 그보다 중요한 건 "이 숫자가 맞다"는 확신을 가질 수 있게 됐다는 것입니다.

사람이 계산하면 실수합니다. 40명분의 통상시급을 손으로 계산하다 보면, 소정근로시간을 잘못 쓰거나, 직책수당을 빠뜨리거나, 지난 달 기본급을 이번 달에 적용하는 일이 생깁니다. 통상시급이 100원만 틀려도 시간외수당이 달라지고, 그게 "이번 달 수당이 이상합니다"로 돌아옵니다.

프로그램은 그러지 않습니다. 한번 검증이 끝난 계산은 매번 같은 결과를 줍니다. 직급이 바뀌면 기본급이 자동으로 바뀌고, 기본급이 바뀌면 통상임금이 바뀌고, 통상임금이 바뀌면 시급이 바뀝니다. 사람이 중간 단계를 신경 쓸 필요가 없습니다.

시간외수당 계산할 때 "이 시급이 맞나?" 하고 불안해하지 않아도 된다는 것. 이것만으로도 이 기능을 만든 보람이 충분했습니다.

여기서 멈출 수 없었다

급여 계산이 되자, 자연스럽게 다음 생각이 떠올랐습니다.

급여 정보가 있으니, 근로계약서도 자동으로 만들 수 있지 않을까? 직원 정보, 급여 정보, 근무 조건이 모두 프로그램 안에 있으니, 이것들을 하나의 문서로 합치면 그게 근로계약서가 되는 겁니다.

인사카드도 마찬가지입니다. 인적사항, 경력, 발령 이력, 자격증, 포상 기록 등이 모두 들어 있으니, 이것들을 한 장의 카드로 모으면 그게 인사카드입니다.

통계도 가능합니다. 전 직원의 정보가 있으니, 부서별 인원 분포, 직급별 평균 호봉, 연령대별 구성 같은 숫자들을 자동으로 계산할 수 있습니다.

하나의 기능이 완성되면 그것이 다른 기능의 재료가 됩니다. 직원 정보 위에 호봉이 올라가고, 호봉 위에 급여가 올라가고, 급여 위에 계약서와 통계가 올라갑니다. 층층이 쌓이면서, 프로그램이 점점 더 많은 일을 해낼 수 있게 됩니다.

3편에서 기초를 다시 다져놓은 것이 이 순간 빛을 발했습니다. 구조가 튼튼하니까, 새로운 층을 올려도 흔들리지 않았습니다. 급여 기능 위에 계약서를, 계약서 옆에 인사카드를, 그 위에 통계를 얹어도 기존 기능들은 멀쩡했습니다.

그때 다시 한번 느꼈습니다. 기초가 탄탄하면, 그 위에서는 무엇이든 할 수 있다는 것을.

다음 편에서는 급여 데이터를 바탕으로 근로계약서, 인사카드, 호봉획정표 같은 서류들이 자동으로 만들어지는 이야기를 하겠습니다. 인사 담당자라면 공감하실 겁니다 — 서류 만드는 데 얼마나 많은 시간을 쓰고 있는지.