Ca Làm Việc, Chấm Công & Tính Lương Tự Động
Phân hệ Quản trị Nhân sự & Tính lương trên POS giúp chủ cửa hàng chuẩn hóa kỷ luật làm việc, tự động hóa toàn bộ quy trình ghi nhận giờ công và tính toán chính xác thu nhập của nhân viên theo cả hai hình thức: Lương theo tháng (Fixed) và Lương theo giờ (Hourly) kết hợp thưởng đơn chốt & hoa hồng KPI.
I. Cấu Hình Ca Làm Việc (Work Shifts)
- Đường dẫn: Nhân viên ➔ Ca làm việc (hoặc truy cập
/work-shifts).
┌────────────────────────────────────────────────────────────────────────┐
│ CẤU HÌNH CA LÀM VIỆC │
├────────────────────────────────────────────────────────────────────────┤
│ Tên ca: Ca Hành Chính (Sáng 08:00 - Chiều 17:30) │
│ Giờ làm việc: [ 08:00 ] đến [ 17:30 ] │
│ Giờ nghỉ giữa ca: [ 12:00 ] đến [ 13:30 ] (Nghỉ 90 phút) │
│ Số phút tiêu chuẩn: 480 phút (= 1.0 công chuẩn) │
│ Cho phép đi muộn: 15 phút (Sau 08:15 mới tính vi phạm đi muộn) │
│ Cho phép về sớm: 10 phút (Trước 17:20 mới tính vi phạm về sớm) │
│ Mã màu nhận diện: [ #1677FF (Xanh dương) ] │
│ Trạng thái: [x] Đang kích hoạt │
└────────────────────────────────────────────────────────────────────────┘
Các thông số quan trọng:
- Khung giờ & Giờ nghỉ: Xác định thời gian check-in/out hợp lệ và tự động trừ thời gian nghỉ giữa ca khi tính giờ làm thực tế.
- Số phút chuẩn (
StandardMinutes): Dùng để quy đổi số giờ làm việc thực tế sang hệ số ngày công (ví dụ: 480 phút = 1 công, 240 phút = 0.5 công). - Dung sai đi muộn / về sớm (
AllowedLateMinutes/AllowedEarlyMinutes): Ngưỡng linh hoạt trước khi hệ thống đánh dấu trạng thái vi phạmLATE. - Gán ca mặc định: Trong hồ sơ nhân viên tại chi nhánh, quản lý gán Ca làm việc mặc định (
DefaultWorkShiftId) để làm căn cứ đối soát hằng ngày.
II. Theo Dõi & Quản Lý Chấm Công (Monthly Attendance Matrix)
- Đường dẫn: Nhân viên ➔ Chấm công (hoặc truy cập
/attendance).
Giao diện chấm công được thiết kế theo Ma trận tháng (Monthly Grid View), hiển thị trực quan toàn bộ các ngày từ 01 đến 31:
┌────┬─────────┬──────────────┬─────────┬──────┬──────┬──────┬─────┬──────────────┬──────┬──────┬─────────┐
│STT │ Mã NV │ Họ và tên │ Nhóm │01 T2 │02 T3 │03 T4 │ ... │ Tổng cộng │Muộn │Vắng │Thao tác │
├────┼─────────┼──────────────┼─────────┼──────┼──────┼──────┼─────┼──────────────┼──────┼──────┼─────────┤
│ 1 │ NV001 │ Nguyễn Văn A │ Sales │ 8.0 │ 8.0 │ P │ ... │ 24.00 công │ 1 │ 0 │ ✏️ 👁️ │
│ 2 │ NV002 │ Trần Thị B │ Parttime│ 4.5 │ 5.0 │ - │ ... │ 115.50 giờ │ 0 │ 0 │ ✏️ 👁️ │
└────┴─────────┴──────────────┴─────────┴──────┴──────┴──────┴─────┴──────────────┴──────┴──────┴─────────┘
1. Ý nghĩa hiển thị trên từng ô ngày:
- Số giờ làm: Hiển thị thời gian thực tế đã làm trong ngày (ví dụ
8.0,4.5...). - Ký hiệu trạng thái:
P: Nghỉ phép hưởng lương (Paid Leave).KP: Nghỉ không hưởng lương (Unpaid Leave).-: Ngày nghỉ / Vắng mặt / Chưa có dữ liệu.
- Màu sắc trạng thái:
- 🟢 Xanh lá (
PRESENT): Có mặt đầy đủ, đúng giờ. - 🟡 Vàng cam (
LATE): Đi muộn vượt quá thời gian cho phép. - 🟠 Cam đậm (
MISSING_CHECKOUT): Có giờ vào nhưng quên check-out. - 🔴 Đỏ (
ABSENT): Vắng mặt không lý do. - ⚪ Xám (
HOLIDAY): Ngày nghỉ lễ / Chủ nhật.
- 🟢 Xanh lá (
2. Xem chi tiết qua Popover (Hover vào ô ngày):
Khi rê chuột vào bất kỳ ô ngày nào, cửa sổ Popover thông minh sẽ hiển thị:
- 📅 Ngày làm việc & Thứ trong tuần kèm Tag trạng thái.
- 🟢 Giờ vào (Check-in): Giờ thực tế chấm công vào (vd:
08:05). - 🔴 Giờ ra (Check-out): Giờ thực tế chấm công ra (vd:
17:32). - ⏱️ Số giờ làm: Tổng giờ làm thực tế (đã trừ giờ nghỉ).
- 📋 Số ngày công: Số công quy đổi (với nhân viên lương tháng).
- 📝 Ghi chú công: Ghi chú điều chỉnh thủ công hoặc lý do nghỉ phép.
3. Chỉnh sửa nhanh trên dòng (Inline Edit):
Quản lý có quyền bấm nút Sửa ✏️ ở cuối dòng để điều chỉnh công cho nhân viên:
- Nhân viên Lương theo Giờ: Nhập số giờ làm việc trực tiếp (
0 - 24 giờ, bước nhảy0.25h). - Nhân viên Lương theo Tháng: Chọn nhanh loại công (
Đủ công 1.0,Nửa công 0.5,Phép có lương,Phép không lương,Vắng mặt,Nghỉ lễ).
III. Tính Lương Tự Động (Payroll Calculation)
- Đường dẫn: Nhân viên ➔ Bảng lương (hoặc truy cập
/payroll).
Hệ thống hỗ trợ 2 cơ chế tính lương linh hoạt, tự động nhận diện theo cấu hình hồ sơ nhân viên:
1. So Sánh Hai Hình Thức Tính Lương:
| Tiêu chí | Tính Lương Theo Giờ (Hourly) | Tính Lương Theo Tháng / Cố Định (Fixed) |
|---|---|---|
| Đối tượng áp dụng | Nhân viên Part-time, trực ca linh hoạt, thời vụ, CTV. | Nhân viên Full-time, văn phòng, quản trị chính thức. |
| Công thức cơ bản | HourlySalary = WorkHours * HourlyRate | BaseSalaryByWorkDays = BaseSalary * (% Hưởng / 100) * (WorkDays / StandardWorkDays) |
| Ảnh hưởng ngày công chuẩn | Không (Làm bao nhiêu giờ hưởng đúng bấy nhiêu). | Có (Chia theo số ngày công tiêu chuẩn trong tháng, vd: 24 hoặc 26 ngày). |
| Hiển thị trên Bảng lương | Cột Đơn giá giờ (HourlyRate) & Số giờ làm (WorkHours). | Cột Lương cơ bản (BaseSalary) & Số ngày làm (WorkDays). |
2. Công Thức Hạch Toán Thu Nhập Tổng Hợp:
- Lương chấm công:
AttendanceSalary = HourlySalary (hoặc BaseSalaryByWorkDays) + (Phụ cấp ngày * Số ngày làm)
- Thưởng đơn chốt thành công:
SuccessfulOrderBonus = Số đơn thành công * Đơn giá thưởng/đơn
- Hoa hồng KPI doanh số:
KpiBonus = Doanh số sau đổi trả * (Tỷ lệ hoa hồng % / 100)
- Tổng thu nhập (Gross Salary):
GrossSalary = AttendanceSalary + Thưởng đơn + Hoa hồng KPI + Thưởng khác - Phạt
- Lương thực nhận (Net Payable):
NetPayable = Max(0, GrossSalary - Tạm ứng trước)
IV. Quy Trình Chốt Bảng Lương Cuối Tháng
- Bước 1: Chốt dữ liệu chấm công: Kiểm tra lại các trường hợp thiếu giờ ra (
MISSING_CHECKOUT) hoặc xin nghỉ phép trên màn hình Chấm công. - Bước 2: Khởi tạo bảng lương tháng: Vào menu Bảng lương ➔ Chọn Tháng/Năm ➔ Bấm Tính toán bảng lương.
- Bước 3: Điều chỉnh bổ sung (nếu có): Nhập thêm tiền thưởng đột xuất, tiền phạt hoặc tiền tạm ứng trong tháng của từng nhân viên.
- Bước 4: Duyệt bảng lương: Quản lý bấm Duyệt bảng lương để khóa dữ liệu kỳ lương.
- Bước 5: Xuất báo cáo & Chi trả: Bấm Xuất Excel để chuyển cho bộ phận tài chính thực hiện chuyển khoản lương qua ngân hàng.