앱 사용자 가이드
일반 근무자를 위한 모바일 앱 설치 및 출퇴근 체크 방법입니다.

1. 앱 시작하기

WorkTimeChecker 앱은 별도의 회원가입 없이, 관리자가 부여한 '근무자 코드'만으로 즉시 사용할 수 있습니다.

필수 권한 안내:
앱 최초 실행 시 카메라 접근 권한을 '허용'해 주세요. 본인 인증을 위한 사진 촬영 시에만 사용됩니다.

2. 출퇴근 체크 (Check-In / Out)

앱 메인 화면에서 간편하게 출퇴근을 기록할 수 있습니다.

메인화면
코드입력
출근버튼
촬영
저장
이미저장
관리자핀
관리자메뉴
출근상세정보
근무자등록

(좌우로 스와이프하여 사용 흐름을 확인하세요)

출근하기

  1. 메인 화면 중앙에 본인의 근무자 코드(3자리 숫자)를 입력합니다.
  2. [출근] 버튼을 누르고, 표시되는 본인의 이름이 맞는지 확인합니다.
  3. 카메라가 실행되면 얼굴이 나오게 사진을 촬영하고 [저장]을 누릅니다.

퇴근하기

  1. 출근 때와 동일하게 코드를 입력하고 [퇴근] 버튼을 누릅니다.
  2. 시스템이 당일의 출근 기록을 확인한 후, 퇴근 처리를 진행합니다.
주의사항:
출근 기록이 없는 상태에서는 퇴근 처리가 불가능합니다. 실수로 출근 체크를 놓쳤다면 관리자에게 수동 등록을 요청하세요.
앱 관리자 가이드
모바일 앱 내에서 수행 가능한 현장 관리 기능입니다.

1. 관리자 모드 진입

일반 사용자의 접근을 막기 위해 숨겨진 메뉴를 통해 진입합니다.

  1. 앱 메인 화면 좌측 상단의 설정 아이콘()을 터치합니다.
  2. PIN 번호 입력창이 나타나면 관리자 암호를 입력합니다.
초기 PIN 번호: 1234
* 보안을 위해 정식 버전에서는 변경 기능이 제공될 예정입니다.

2. 현장 관리 기능

근무자 등록

신규 근무자가 입사했을 때, [근무자 관리] 메뉴에서 이름과 코드를 등록합니다. 코드는 중복될 수 없습니다.

기록 조회

앱 내에서도 최근 출퇴근 기록을 조회할 수 있습니다. 단, 상세한 급여 계산이나 엑셀 다운로드는 웹 관리자 페이지를 이용해야 합니다.

웹 관리자 가이드 NEW
PC 브라우저에 최적화된 통합 관리 시스템 사용법입니다.
권장 환경:
웹 관리자 페이지는 Chrome, Edge 등 PC 브라우저에서 가장 잘 작동합니다. 많은 데이터를 다루는 급여 정산 업무는 반드시 PC에서 진행해 주세요.

1. 대시보드 (Dashboard)

로그인 후 첫 화면에서 매장의 현재 상황을 한눈에 파악할 수 있습니다.

  • 📊 방문자 통계: 오늘 및 누적 시스템 접속자 수
  • ✅ 실시간 근태: 오늘 출근한 인원과 퇴근한 인원 현황 (예: 3 / 1)

2. 근태 관리 및 캘린더 NEW

출퇴근 기록 조회

모든 근무자의 출퇴근 로그를 리스트 형태로 확인합니다. [사진] 컬럼의 썸네일을 클릭하면 원본 인증샷을 확인할 수 있습니다.

근태 캘린더 (Calendar)

월별 근무 현황을 달력 형태로 시각화하여 제공합니다.

  • 🌤 날씨 연동: 과거 날짜의 실제 날씨와 미래의 예보를 아이콘으로 표시합니다.
  • 📅 공휴일 표시: 대한민국의 공휴일 정보가 자동으로 표시됩니다.
  • 💾 이미지 저장: 캘린더 화면을 이미지 파일(.png)로 저장하여 보고용으로 활용할 수 있습니다.

3. 급여 정산 (Wage Settlement) UPGRADE

가장 중요한 기능으로, 출퇴근 기록을 기반으로 시급과 수당을 계산하고 명세서를 발급합니다.

🧮 정산 프로세스

  1. 상단 메뉴에서 [인사/급여] > [급여 정산]을 선택합니다.
  2. 대상 월기본 시급을 입력하고 [계산하기]를 클릭합니다.
  3. 시스템이 자동으로 근무 시간을 집계하고 주휴수당을 산출합니다.

💸 공제 계산 로직 (Deduction)

근무자별 설정 또는 전역 설정에 따라 아래 두 가지 방식 중 하나로 세금을 공제합니다.

구분 2025년 2026년 인상
국민연금 4.5% 4.75%
건강보험 3.545% 3.595%
장기요양 건보료의 12.95% 건보료의 13.14%
고용보험 0.9% 0.9% (동결)
사업소득세
(프리랜서 등)
원천징수세율 3.3% (단일 적용)
위 요율은 근로자 부담분입니다. 2026년에는 국민연금·건강보험·장기요양 3가지가 모두 올랐습니다.
단, 이 시스템은 국민연금·건강보험·장기요양을 근무자별 고정 금액으로 관리합니다. 요율이 올랐다고 급여 공제액이 자동으로 바뀌지 않으니, 공단 고지서 기준으로 [시급 관리]에서 금액을 갱신하셔야 합니다. (7월 변경분은 [4대보험 정산] 탭의 일괄 적용 기능으로 한 번에 처리할 수 있습니다.)

📄 명세서 발급 기능 HOT

계산된 결과를 근무자에게 전달하기 위한 두 가지 형태의 이미지 저장 기능을 제공합니다.

  • 명세서 이미지 저장: A4 용지 규격의 깔끔한 요약 명세서를 생성합니다. (지급/공제 2단 레이아웃)
  • 세부 내역서 저장: 일자별 상세 근무 기록과 주휴수당 산출 근거가 모두 포함된 상세 리포트입니다.

4. 기타 편의 기능

🗓 일정 공유 (Schedule)

매장 전체의 일정(회식, 물류 입고, 머신 점검 등)을 등록하고 공유합니다. 범례(Legend)를 클릭하여 원하는 카테고리만 필터링할 수 있습니다.

⚙️ 환경 설정

  • 바탕화면 바로가기: 웹 관리자 페이지 접속 아이콘을 PC 바탕화면에 생성합니다. (.url 파일 다운로드)
  • 이메일 알림 설정: 출퇴근 알림을 받을 관리자 이메일 주소를 등록/수정합니다. (콤마로 구분하여 다수 등록 가능)

주요 화면 미리보기 (Gallery)

좌우로 넘겨보며 관리자 페이지의 실제 모습을 확인하세요. 이미지를 클릭하면 크게 볼 수 있습니다.

출퇴근 기록 조회.png
출퇴근 기록 조회
근태 캘린더
월별 근태 캘린더
시급 등록
시급 및 4대보험 공제방식 등록
급여정산
급여 정산 및 효율 지표
급여 명세서
급여 명세서
급여 세부 명세서
급여 세부 명세서
×
4대보험 정산 가이드 NEW
1년에 한 번 하는 건강보험 연말정산과 보험료 변경 작업입니다. 순서대로만 따라 하시면 됩니다.
한 줄로 말하면 이렇습니다
매달 내는 건강보험료는 ‘작년 소득으로 계산한 예상 금액’입니다. 1년이 지나 실제로 지급한 급여가 확정되면, 예상과 실제의 차액을 한 번에 맞추는 것이 연말정산입니다.
전기요금을 매달 평균으로 내다가 1년에 한 번 실제 사용량으로 정산하는 것과 똑같습니다.

1. 왜 하는 건가요?

직원에게 실제로 지급한 급여가 매달 부과되던 기준보다 많았는지 적었는지에 따라 결과가 갈립니다.

상황 결과 직원 입장
실제 급여가 더 많았음 추가납부
(보험료를 덜 냈음)
6월 급여에서 한 번 더 공제됩니다.
그달 실수령액이 줄어듭니다.
실제 급여가 더 적었음 환급
(보험료를 더 냈음)
6월 급여에서 공제가 줄어듭니다.
그달 실수령액이 늘어납니다.

💡 실제 숫자로 보면

1년 동안 보수총액이 3,000만 원인 직원의 예입니다.

  • 실제로 냈어야 할 보험료(건강 + 장기요양) — 1,201,220원
  • 1년간 매달 실제로 낸 금액 합계 — 1,153,080원
  • 차액 48,140원추가납부 (6월 급여에서 공제)
국민연금은 정산이 없습니다.
국민연금은 추가로 더 내거나 돌려받는 제도 자체가 없습니다. 작년 소득으로 다시 정해진 금액이 7월분부터 적용될 뿐입니다. 그래서 이 화면에는 건강보험(+장기요양) 정산만 나옵니다.

2. 1년 일정 — 언제 무엇을 하나요?

시기 할 일 누가 하나요
3월 10일까지 작년 보수총액을 건강보험공단에 신고 세무사 / 사업주
4월 공단이 정산 금액을 계산해 고지서로 통보
(4월분 고지서 · 납부기한 5월 10일)
공단
5~6월 이 시스템에서 정산 확정 → 6월 급여에 반영 사업주
7월 새로 정해진 보험료를 시스템에 일괄 적용 사업주
공단은 정산분을 4월분 보험료에 붙여 고지하지만, 우리 매장은 6월 급여에서 공제하도록 설정되어 있습니다. 직원에게 미리 안내해 두시면 문의가 줄어듭니다.

3. 사용법 — 이 순서대로만 하시면 됩니다

메뉴 위치: [인사/급여] → [급여 정산] → 상단 [4대보험 정산] 탭

STEP 1. 정산 금액 뽑아보기

  1. 정산 대상 연도를 고릅니다. (2026년에 작업한다면 2025년 귀속)
  2. [정산 산출] 버튼을 누릅니다.
  3. 직원별로 보수총액·실부담·기납부·정산액이 표로 나옵니다.
이 단계는 계산만 해보는 것이라 아무것도 저장되지 않습니다. 몇 번을 눌러도 괜찮습니다.

STEP 2. 공단 고지서와 맞춰보기 중요

시스템 금액은 추정치입니다. 정답은 공단 고지서입니다. 금액이 다르면 고지서 숫자로 바꿔주세요.

  1. 해당 직원 줄의 [수기 수정] 버튼을 누릅니다.
  2. 실제 정산액에 고지서 금액을 입력합니다.
    추가납부는 그냥 숫자 (예: 48140) / 환급은 앞에 빼기표 (예: -32450)
  3. 산출 출처를 ‘📄 고지서 입력’으로 두고, 수정 사유를 적습니다.
  4. [저장]을 누릅니다.
수기로 바꿔도 시스템이 계산한 원래 금액은 그대로 보관됩니다. 나중에 “왜 금액이 달랐지?”를 확인할 수 있고, 누가 언제 왜 바꿨는지도 기록에 남습니다.

STEP 3. 확정하기

금액이 맞으면 직원별로 [확정 저장]을 누릅니다.

확정하지 않으면 6월 급여에 반영되지 않습니다. 계산만 해둔 상태(‘산출됨’)는 급여에 들어가지 않습니다. 반드시 ‘확정’까지 눌러주세요.

STEP 4. 6월 급여 계산하기

  1. [월별 정산] 탭으로 이동합니다.
  2. 대상 월을 6월로 맞추고 [계산하기]를 누릅니다.
  3. 명세서 공제 항목에 ‘건강보험 정산’ 줄이 자동으로 추가됩니다. 환급인 경우 ‘건강보험 정산 환급’으로 초록색에 빼기표로 표시됩니다.
  4. 확인이 끝나면 월 마감을 합니다.

STEP 5. 7월 — 새 보험료 일괄 적용

7월부터는 국민연금·건강보험 금액이 새로 바뀝니다. 직원 한 명씩 고칠 필요 없습니다.

  1. [4대보험 정산] 탭에서 [신규 보험료 일괄 적용] 버튼을 누릅니다.
  2. 적용 시작월7월로 둡니다.
  3. 직원별 ‘현재 → 변경 후 → 증감’이 표로 나옵니다. 공단 고지서와 대조하세요.
  4. 제외할 직원이 있으면 왼쪽 체크를 해제합니다.
  5. 적용 사유를 적고 [적용]을 누릅니다.
잘못 눌러도 되돌릴 수 있습니다. 같은 화면 아래쪽 ‘최근 일괄 적용’ 목록에서 [되돌리기]를 누르면 적용 전 금액으로 전부 복원됩니다.
○명은 대상 월의 시급 정보가 없어 제외됩니다”라는 안내가 뜨면, 먼저 [시급 관리]에서 7월을 조회해 [이전 월 복사]를 실행한 뒤 다시 시도하세요.

4. 화면에 나오는 말, 무슨 뜻인가요?

용어 쉬운 설명
보수총액 작년 1년 동안 그 직원에게 준 급여 합계입니다. (비과세 식대는 제외)
실부담 보수총액 기준으로 원래 냈어야 할 보험료입니다.
기납부 1년 동안 매달 실제로 낸 보험료 합계입니다.
정산액 실부담 − 기납부. +면 추가납부, −면 환급입니다.
기준소득월액 국민연금 보험료를 계산하는 기준 금액입니다. 매년 7월에 새로 정해집니다.
산출됨 / 확정 ‘산출됨’은 계산만 해본 상태(급여 반영 안 됨), ‘확정’이어야 6월 급여에 들어갑니다.

5. 이런 경우엔 어떻게 하나요?

Q. 작년에 그만둔 직원이 회색으로 나오고 버튼이 없어요.

정상입니다. 퇴사할 때 이미 ‘퇴직정산’을 마쳤기 때문에, 연말정산으로 또 하면 같은 기간을 두 번 정산하게 됩니다. 그래서 시스템이 자동으로 막아 둡니다. 아무것도 하지 않으셔도 됩니다.

Q. 환급인데 왜 직원 실수령액이 늘어나나요?

맞습니다. 보험료를 그동안 더 냈다는 뜻이라, 6월에 공제가 그만큼 줄어듭니다. 직원에게는 그달 급여가 더 많이 나갑니다.

Q. 6월 급여를 계산했는데 정산 줄이 안 보여요.

  • 정산을 ‘확정’까지 하셨는지 확인해 주세요. (‘산출됨’ 상태면 반영되지 않습니다)
  • 그 직원이 4대보험 가입자가 맞는지 확인해 주세요. (3.3% 사업소득자는 대상이 아닙니다)
  • 정산액이 0원이면 줄이 생기지 않습니다. (정산할 차액이 없다는 뜻)

Q. ‘두루누리 이탈’ 경고가 떴습니다.

두루누리는 국민연금과 고용보험만 지원해 주는 제도입니다. (건강보험은 지원 대상이 아닙니다)
7월에 보험료 기준이 오르면서 지원 기준 금액을 넘게 되는 직원이 있다는 뜻입니다. 공단 통보를 확인한 뒤 [시급 관리]에서 그 직원의 ‘두루누리 지원 대상’ 체크를 해제해 주세요. 시스템이 자동으로 끄지는 않습니다.

Q. ‘요율이 검증되지 않았습니다’ 경고가 떴어요.

그 연도의 보험료율이 아직 시스템에 확인 입력되지 않았다는 뜻입니다. 계산은 되지만 반드시 공단 고지서와 대조해 주세요. 필요하면 관리 담당자에게 요율 갱신을 요청하시면 됩니다.

꼭 지켜야 할 순서
① 정산 확정  →  ② 6월 급여 계산  →  ③ 6월 마감
마감을 먼저 하면 정산분이 빠진 채로 마감됩니다. 그 뒤에 확정하면 다시 계산하고 다시 마감해야 하며, 마감 기록에 재확정 횟수가 남습니다.
시스템 기술 스택
WorkTimeChecker v2.1.0 (Hybrid Architecture)

본 시스템은 안정성(Stability)비용 효율성(Cost-efficiency)을 최우선으로 설계되었습니다.
모바일 앱은 오프라인 환경을 완벽하게 지원하며, 웹 관리자는 별도의 서버 구축 없이 운영 가능한 Serverless 구조를 채택했습니다.

Mobile Application (Android/iOS)

현장 근무자가 사용하는 모바일 앱은 Flutter로 개발되어 단일 코드베이스로 양대 마켓을 지원합니다.

Core Framework Flutter 3.x

Google의 UI 툴킷을 사용하여 네이티브 수준의 퍼포먼스를 제공하며, Material Design 3 가이드라인을 준수합니다.

Local Database SQLite (sqflite)

[Offline First] 네트워크가 불안정한 환경에서도 출퇴근 기록이 유실되지 않도록 기기 내부에 데이터를 우선 저장합니다.

State Management Provider

복잡한 상태 관리 패턴을 지양하고, 직관적이고 가벼운 Provider 패턴을 사용하여 앱의 반응 속도를 최적화했습니다.

Image Engine Compressor

[Data Optimization] flutter_image_compress 라이브러리를 통해 촬영된 사진을 200px/20KB 이하로 자동 압축하여 데이터 요금을 절감합니다.

Notification SMTP Mailer

별도의 푸시 서버 구축 비용 없이, Naver SMTP 서버와 직접 통신하여 실시간 출퇴근 알림 메일을 발송합니다.

Web Admin Dashboard

관리자가 사용하는 웹 페이지는 무거운 프레임워크를 걷어내고 표준 웹 기술로 경량화했습니다.

Frontend Core Vanilla JS

React나 Vue 같은 무거운 라이브러리 없이 순수 JavaScript(ES6+)와 HTML5로 구현하여 로딩 속도가 매우 빠릅니다.

Backend & Auth Firebase

[Realtime Sync] Firestore(NoSQL)를 통해 앱에서 생성된 기록이 1초 이내에 관리자 화면에 동기화됩니다.

Schedule UI FullCalendar v6

강력한 일정 관리 라이브러리를 커스터마이징하여, 드래그 앤 드롭 일정 수정과 카테고리 필터링 기능을 구현했습니다.

Client Reporting html2canvas / SheetJS

서버 부하 없이 사용자 브라우저에서 직접 고해상도 명세서 이미지(.png)와 엑셀 리포트(.xlsx)를 생성합니다.

Open API Weather / Holiday

OpenWeatherMap 및 Open-Meteo API(날씨), Nager.Date API(공휴일)를 매시업하여 캘린더에 부가 정보를 제공합니다.