대한민국 근로기준법 기반 급여 자동 계산 시스템
근무 기록을 입력하면 기본급, 연장근로수당, 야간근로수당, 휴일근로수당, 주휴수당을 자동으로 계산합니다.
이 시스템은 시간 단위 분해(Hourly Decomposition) 방식을 사용하여, 날짜 경계를 넘는 연속 근무나 하루 여러 번 출근 등 복잡한 케이스를 정확하게 처리합니다.
⚠️ 적용 대상: 상시 근로자 5인 이상 사업장 (5인 미만 사업장은 가산수당 지급 의무 없음)
| 상황 | 기존 방식의 문제 | 본 시스템의 해결 |
|---|---|---|
| 3일 연속 근무 | 날짜 경계에서 시간 누락 | 매 시간을 해당 날짜에 자동 배치 |
| 하루 두 번 출근 | 연장근로 합산 실패 | 날짜별 Map에 자동 합산 |
| 휴일→평일 연속 근무 | 평일에 휴일수당 오적용 | 날짜별로 수당 정확히 분리 |
| 주차 경계 근무 | 주휴수당 계산 오류 | 각 시간을 해당 주차에 배치 |
- 조건: 실제 근무한 모든 시간
- 계산:
총 근무 시간 × 통상시급 - 근거: 근로계약에 따른 임금 지급
📌 주의: 3일 연속 근무의 경우, 날짜 경계에서 시간이 누락되지 않도록 각 날짜별로 정확히 분리하여 합산해야 합니다.
- 조건: 1일 8시간 또는 1주 40시간을 초과하는 근로
- 계산:
연장근로시간 × 통상시급 × 0.5(가산분) - 가산율: 50%
- 근거: 근로기준법 제56조 제1항
📌 핵심: 하루에 두 번 출근해서
4시간 + 5시간일한 경우, 합산하여 9시간으로 인식해야 하며, 1시간의 연장근로수당이 발생합니다.
예시) 통상시급 10,000원, 하루 10시간 근무
- 기본급: 10시간 × 10,000원 = 100,000원
- 연장근로수당(가산분): 2시간 × 10,000원 × 0.5 = 10,000원
- 총액: 110,000원
- 조건: 오후 10시(22:00) ~ 오전 6시(06:00) 사이의 근로
- 계산:
야간근로시간 × 통상시급 × 0.5(가산분) - 가산율: 50%
- 근거: 근로기준법 제56조 제1항
📌 특이점: 야간근로가 연장근로와 중복되는 경우, 각각의 가산수당이 별도로 적용됩니다.
예시) 통상시급 10,000원, 22:00~02:00 근무 (4시간, 연장근로 해당)
- 기본급: 4시간 × 10,000원 = 40,000원
- 연장근로수당(가산분): 4시간 × 10,000원 × 0.5 = 20,000원
- 야간근로수당(가산분): 4시간 × 10,000원 × 0.5 = 20,000원
- 총액: 80,000원 (통상시급의 200%)
- 조건: 근로기준법상 휴일(주휴일, 근로자의 날, 공휴일 등)에 근로
- 계산:
- 8시간 이내:
휴일근로시간 × 통상시급 × 0.5(가산율 50%) - 8시간 초과:
초과시간 × 통상시급 × 1.0(가산율 100%)
- 8시간 이내:
- 근거: 근로기준법 제56조 제2항
📌 핵심: 휴일에서 평일로 넘어가는 연속 근무 시, 날짜가 바뀌는 **자정(00:00)**을 기점으로 수당 적용을 분리해야 합니다.
예시) 통상시급 10,000원, 일요일(휴일) 10시간 근무
- 기본급: 10시간 × 10,000원 = 100,000원
- 휴일근로수당(8시간 이내): 8시간 × 10,000원 × 0.5 = 40,000원
- 휴일근로수당(8시간 초과): 2시간 × 10,000원 × 1.0 = 20,000원
- 총액: 160,000원
- 조건:
- 1주 소정근로시간이 15시간 이상
- 1주간 소정근로일을 개근
- 계산:
- 주 40시간 이상 근무자:
8시간 × 통상시급 - 주 40시간 미만 근무자:
(주 소정근로시간 ÷ 40) × 8 × 통상시급
- 주 40시간 이상 근무자:
- 근거: 근로기준법 제55조, 제18조 제3항
📌 핵심: 1주차 일요일 밤에 시작해 2주차 월요일 새벽에 끝난 근무는 각 주차별로 분리하여 해당 주의 근로시간에 포함시켜야 합니다.
예시) 통상시급 10,000원, 주 20시간 근무 (개근)
- 주휴수당: (20 ÷ 40) × 8 × 10,000원 = 40,000원
| 상황 | 적용 수당 | 총 가산율 |
|---|---|---|
| 평일 8시간 이내 | 기본급만 | 100% |
| 평일 연장근로 | 기본급 + 연장 | 150% |
| 평일 야간근로 (8시간 이내) | 기본급 + 야간 | 150% |
| 평일 연장 + 야간 | 기본급 + 연장 + 야간 | 200% |
| 휴일 8시간 이내 | 기본급 + 휴일 | 150% |
| 휴일 8시간 초과 | 기본급 + 휴일(100%) | 200% |
| 휴일 야간 (8시간 이내) | 기본급 + 휴일 + 야간 | 200% |
| 휴일 8시간 초과 + 야간 | 기본급 + 휴일(100%) + 야간 | 250% |
근무 기록: 토요일 22시 ~ 월요일 06시 (휴일: 일요일)
→ 분해 결과:
토요일: 22시, 23시 (2시간) - 야간 ✓
일요일: 00시~23시 (24시간) - 휴일 ✓, 야간(00~06시) ✓
월요일: 00시~05시 (6시간) - 야간(00~06시) ✓
각 시간이 자동으로 올바른 날짜/주차에 배치되어, 모든 수당이 정확하게 계산됩니다.
PayrollCalculator calc = new PayrollCalculator();
int[][] records = {
{시작일, 시작시간, 종료일, 종료시간},
// ...
};
long totalPay = calc.calculate(records, wage);int[][] records = {
{10, 22, 13, 6}, // 10일 22시 ~ 13일 06시
{15, 9, 15, 13}, // 15일 09시 ~ 15일 13시
{15, 18, 15, 23} // 15일 18시 ~ 15일 23시
};| 인덱스 | 의미 | 범위 |
|---|---|---|
| 0 | 시작일 | 1~31 |
| 1 | 시작시간 | 0~23 |
| 2 | 종료일 | 1~31 |
| 3 | 종료시간 | 0~23 |
- 시간당 임금 (원 단위)
- 예:
10030(2025년 최저시급 기준)
int[][] records = {
{11, 22, 13, 6} // 토요일 22시 ~ 월요일 06시 (일요일이 주휴일)
};
int wage = 10000;
// 분해:
// - 11일(토): 2시간 (야간 2시간)
// - 12일(일/휴일): 24시간 (휴일 24시간, 야간 6시간)
// - 13일(월): 6시간 (야간 6시간)int[][] records = {
{15, 9, 15, 13}, // 4시간
{15, 18, 15, 23} // 5시간
};
int wage = 10000;
// 15일 총 근무: 9시간
// 연장근로: 1시간 (9 - 8 = 1)
// 야간근로: 1시간 (22시~23시)int[][] records = {
{1, 9, 1, 18}, // 월요일 9시간 (1시간 연장)
{3, 9, 3, 15} // 수요일 6시간
};
int wage = 10000;
// 1주차 총 근무: 15시간 (15시간 이상, 개근)
// 주휴수당: (15 ÷ 40) × 8 × 10,000 = 30,000원┌─────────────────────────────────────────┐
│ 급 여 명 세 서 │
├─────────────────────────────────────────┤
│ 기본급 │ 560,000원 │
│ 연장근로수당 (50%) │ 160,000원 │
│ 야간근로수당 (50%) │ 70,000원 │
│ 휴일근로수당 (50%/100%)│ 240,000원 │
│ 주휴수당 │ 80,000원 │
├─────────────────────────────────────────┤
│ 총 지급액 │ 1,110,000원 │
└─────────────────────────────────────────┘
| 조항 | 내용 |
|---|---|
| 근로기준법 제50조 | 법정근로시간: 1일 8시간, 1주 40시간 |
| 근로기준법 제53조 | 연장근로: 당사자 합의 시 1주 12시간 한도 |
| 근로기준법 제55조 | 주휴일: 1주 1회 이상 유급휴일 부여 |
| 근로기준법 제56조 제1항 | 연장/야간근로: 통상임금의 50% 이상 가산 |
| 근로기준법 제56조 제2항 | 휴일근로: 8시간 이내 50%, 초과 시 100% 가산 |
| 근로기준법 제18조 제3항 | 주 15시간 미만 근로자: 주휴일/연차 미적용 |
- 본 시스템은 5인 이상 사업장 기준으로 설계되었습니다.
- 4인 이하 사업장은 가산수당(연장/야간/휴일) 지급 의무가 없습니다.
- 실제 급여 계산 시 단체협약, 취업규칙, 근로계약서를 우선 확인하세요.
- 본 계산기는 참고용이며, 정확한 급여 산정은 노무사 상담을 권장합니다.
MIT License