Giao diện
Chính sách chấm công
Quyền truy cập: Xem cần quyền "Xem chính sách chấm công" (TIME_ATTENDANCE_POLICY_VIEW); tạo, sửa, xóa cần quyền "Quản lý chính sách chấm công" (TIME_ATTENDANCE_POLICY_MANAGE) hoặc Admin · Điều hướng: Chấm công > Chính sách (
/manage/time-attendance/records)
Chính sách chấm công là bộ quy tắc mà admin HR thiết lập để hệ thống tự động tính giờ công, ngày công, đi muộn, về sớm và làm thêm giờ (OT) cho từng nhóm nhân sự. Mỗi chính sách định nghĩa giờ làm chuẩn, ngưỡng đi muộn/về sớm, ân hạn, trần OT theo luật và đối tượng áp dụng. Đằng sau các quy tắc này là một bộ máy tính toán (engine) áp dụng đúng Bộ luật Lao động 2019 và Nghị định 145/2020 để phân loại, định giá và kiểm soát làm thêm giờ trước khi bàn giao số liệu sang lương.
Lưu ý: Màn hình này chỉ dùng để cấu hình quy tắc. Việc nhân viên tự chấm công, đề nghị tăng ca, đăng ký nghỉ phép và quy trình duyệt nằm ở app Nhân viên (noova-employee). Bộ phận HR ở đây nhận các bản ghi đã có và áp chính sách lên chúng.
Tổng quan
Tab "Chính sách" trong màn Chấm công liệt kê toàn bộ bộ quy tắc đang có và cho phép tạo, sửa, xóa cũng như đặt chính sách mặc định. Khi một nhân viên chấm công, engine sẽ tìm chính sách phù hợp với nhân viên đó (theo đối tượng áp dụng), nếu không khớp chính sách riêng nào thì dùng chính sách Mặc định. Số giờ làm chuẩn trong chính sách chính là cơ sở để engine xác định ngày công đủ/nửa công và tính trần OT 50%.
Module Chấm công thuộc nhóm HR và chỉ hiện khi đã bật tại Cài đặt hệ thống > Tính năng > Quản lý Chấm công (cờ allowTimeAttendance).
Danh sách chính sách
Bảng danh sách chính sách hiển thị các cột sau:
| Cột | Mô tả |
|---|---|
| Tên chính sách | Tên bộ quy tắc, kèm huy hiệu Mặc định nếu là chính sách mặc định |
| Giờ công | Hiển thị dạng Xh/ngày · Y ngày/tuần (ví dụ: 8h/ngày, 5 ngày/tuần) |
| Trần OT (ngày/tháng/năm) | Ba con số trần khi bật tăng ca (ví dụ: 4h · 40h · 200h), hoặc nhãn Tắt nếu chính sách không cho phép OT |
| Trạng thái | Hoạt động hoặc Tắt |
Các thao tác
- "Tạo chính sách": mở cửa sổ tạo mới (cần quyền "Quản lý chính sách chấm công").
- "Sửa": chỉnh sửa chính sách đã có.
- "Đặt làm mặc định": chỉ hiện với chính sách chưa phải mặc định.
- "Xóa": chỉ áp dụng cho chính sách không phải mặc định.
- Ô tìm kiếm chính sách (có độ trễ 500ms khi gõ).
Quan trọng: Không thể xóa chính sách đang là mặc định. Muốn xóa, hãy đặt một chính sách khác làm mặc định trước. Danh sách tự phân trang khi có hơn 12 chính sách.
Tạo và sửa chính sách
Nhấn "Tạo chính sách" (hoặc "Sửa") để mở cửa sổ "Chính sách chấm công" (PolicyFormModal). Đây là biểu mẫu 2 cột chứa toàn bộ quy tắc của một chính sách, chia thành các nhóm cấu hình dưới đây.
Cấu hình ngày công
| Trường | Mặc định | Mô tả |
|---|---|---|
| Số giờ làm/ngày | 8 | Giờ công chuẩn một ngày, là cơ sở tính ngày công đủ/nửa và trần OT 50% |
| Số giờ làm/tuần | 40 | Giờ công chuẩn một tuần |
| Số ngày làm/tuần | 5 | Số ngày làm việc trong tuần |
Ngưỡng và ân hạn
Các ngưỡng này quyết định khi nào một lần đi muộn, về sớm bị tính, và khi nào một ngày chỉ được tính nửa công.
| Trường | Mặc định | Mô tả |
|---|---|---|
| Ngưỡng đi muộn | 15 phút | Vào sau giờ bắt đầu quá ngưỡng này mới bị tính đi muộn |
| Ngưỡng về sớm | 15 phút | Ra trước giờ kết thúc quá ngưỡng này mới bị tính về sớm |
| Ngưỡng nửa công | 4 giờ | Giờ làm thực từ ngưỡng này trở lên (nhưng dưới giờ chuẩn) được tính nửa công |
| Ân hạn buổi sáng | 10 phút | Khoảng thời gian được bỏ qua khi tính đi muộn buổi sáng |
| Ân hạn buổi chiều | 10 phút | Khoảng thời gian được bỏ qua khi tính về sớm buổi chiều |
Lưu ý: Một ngày được tính đủ công (có mặt) khi giờ làm thực đạt giờ chuẩn; tính nửa công khi giờ làm thực đạt ngưỡng nửa công nhưng dưới giờ chuẩn. Phần đi muộn, về sớm chỉ bị trừ sau khi đã trừ ân hạn.
Quy định tăng ca
Đây là nơi bật làm thêm giờ và đặt các trần OT của doanh nghiệp. Các con số nhập ở đây có thể siết chặt hơn luật nhưng không nên vượt trần luật; mỗi ô có chú thích nhắc rõ trần tối đa theo quy định.
| Trường | Mặc định | Chú thích trần luật trong form |
|---|---|---|
| Cho phép tăng ca | (bật/tắt) | Bật để cho phép phát sinh OT |
| Yêu cầu phê duyệt | (bật/tắt) | OT phải được duyệt mới tính |
| Tăng ca tối đa giờ/ngày | 4 | "Trần luật: ≤ 50% giờ chuẩn (4h/ngày làm việc 8h)" |
| Tăng ca tối đa giờ/tuần | 12 | Giới hạn theo tuần do doanh nghiệp đặt |
| Tăng ca tối đa giờ/tháng | 40 | "Trần luật: ≤ 40h/tháng" |
| Tăng ca tối đa giờ/năm | 200 | "Trần luật: ≤ 200h (300h ngành đặc thù)" |
Đối tượng áp dụng
Chọn ai sẽ chịu áp dụng chính sách này qua bộ chọn đối tượng (AudiencePicker, giống khi ghi danh khóa học). Có 5 loại đối tượng:
- Nhân sự cụ thể
- Nhóm nhân sự
- Chức danh
- Nhóm chức danh
- Đơn vị (phòng ban)
Lưu ý: Để trống đối tượng nghĩa là chính sách mặc định, áp dụng cho mọi nhân viên không khớp chính sách riêng nào.
Chấm công và chống gian lận
Nhóm này gắn chính sách với các địa điểm chấm công và quyết định hệ thống xử lý ra sao khi một lần chấm công không đạt kiểm tra (ví dụ ngoài vùng địa điểm cho phép).
| Trường | Mô tả |
|---|---|
| Địa điểm chấm công áp dụng | Danh sách (checklist) các địa điểm được phép chấm công |
| Khi kiểm tra không đạt | Cho chấm nhưng chờ xác minh (đánh dấu để HR xác minh) hoặc Chặn hoàn toàn (không cho ghi nhận) |
| Cho phép chấm công online | Cho phép chấm công từ xa qua mạng |
Xem thêm về cấu hình địa điểm tại trang Địa điểm làm việc (/manage/time-attendance/locations).
Trạng thái
- Kích hoạt chính sách: bật để chính sách có hiệu lực.
- Đặt làm chính sách mặc định: chỉ xuất hiện khi tạo mới.
Cuối cùng nhấn "Lưu" (hoặc "Cập nhật") để lưu lại, hoặc "Hủy" để bỏ qua.
Engine làm thêm giờ theo luật
Từ phiên bản 8.14.4, toàn bộ phần tính làm thêm giờ được thực hiện bằng một bộ máy tính toán (engine) thuần, tách rời khỏi giao diện, áp dụng đúng Bộ luật Lao động 2019 và Nghị định 145/2020. Khi mỗi bản ghi chấm công được tính, engine sẽ: phân loại giờ OT vào 6 nhóm pháp lý, áp hệ số tiền lương theo luật, và kiểm soát trần OT (cho phép, cảnh báo hoặc chặn). Phần này giải thích cách engine vận hành để admin HR hiểu các con số xuất hiện trên bản ghi và báo cáo.
6 nhóm làm thêm giờ
Engine tự cắt khung giờ đêm và phân loại mỗi phần giờ OT vào một trong 6 nhóm, theo hai trục: loại ngày (ngày thường / ngày nghỉ hằng tuần / ngày lễ) nhân với thời điểm (ban ngày / ban đêm):
| Nhóm | Loại ngày | Thời điểm |
|---|---|---|
| 1 | Ngày thường | Ban ngày |
| 2 | Ngày thường | Ban đêm |
| 3 | Ngày nghỉ hằng tuần (cuối tuần) | Ban ngày |
| 4 | Ngày nghỉ hằng tuần (cuối tuần) | Ban đêm |
| 5 | Ngày lễ | Ban ngày |
| 6 | Ngày lễ | Ban đêm |
Khung giờ đêm theo Điều 106 Bộ luật Lao động là từ 22:00 đến 06:00 hôm sau. Engine tự cắt phần giờ rơi vào khung này (kể cả ca làm qua nửa đêm) để tách OT đêm khỏi OT ngày.
Hệ số tiền làm thêm giờ
Hệ số dưới đây nhân với đơn giá tiền lương giờ chuẩn để ra tiền OT. Tiền OT ban đêm được cộng dồn đúng luật: hệ số OT của loại ngày, cộng phụ cấp làm đêm 30%, cộng thêm 20% cho phần OT vào ban đêm (theo Điều 98 Bộ luật Lao động và Điều 55-57 Nghị định 145).
| Loại ngày | OT ban ngày | OT ban đêm |
|---|---|---|
| Ngày thường | 150% (1.5) | 200% (2.0) |
| Ngày nghỉ hằng tuần (cuối tuần) | 200% (2.0) | 270% (2.7) |
| Ngày lễ | 300% (3.0) | 390% (3.9) |
Lưu ý: Với ngày thường, nếu trong ngày đã phát sinh OT ban ngày rồi mới làm thêm vào ban đêm, hệ số OT đêm là biến thể 210% (2.1) thay vì 200%, do phần nền OT đêm được tính trên đơn giá OT ngày (1.5) thay vì đơn giá ngày thường (1.0). Engine tự nhận diện trường hợp này.
Trần làm thêm giờ và quyết định cho phép
Engine kiểm soát các trần OT theo Điều 107 Bộ luật Lao động và Điều 60-61 Nghị định 145. Với mỗi bản ghi, engine ghi ra một quyết định (otCapDecision) là cho phép, cảnh báo hay chặn, kèm lý do bằng tiếng Việt:
| Trần OT | Giới hạn luật | Cơ chế |
|---|---|---|
| Theo ngày (50% giờ chuẩn) | OT ≤ 50% giờ chuẩn/ngày (bằng 4h khi ngày làm 8h) | Áp ngay khi tính bản ghi |
| Tổng giờ làm/ngày | Tổng giờ làm (gồm OT) ≤ 12h/ngày | Áp ngay khi tính bản ghi |
| Theo tháng | OT ≤ 40h/tháng | Áp ở lớp tổng hợp kỳ |
| Theo năm | OT ≤ 200h/năm (≤ 300h/năm chỉ với ngành đặc thù được phép) | Áp ở lớp tổng hợp kỳ |
Ba mức quyết định:
- Cho phép (allow): trong trần, ghi nhận bình thường.
- Cảnh báo (warn): đạt từ 90% trần trở lên, vẫn ghi nhận nhưng có cảnh báo.
- Chặn (block): vượt trần, không ghi nhận phần vượt kèm lý do.
Quan trọng: Trần năm 300h chỉ áp dụng cho các ngành, trường hợp đặc thù được pháp luật cho phép; mặc định mọi nhân viên là 200h/năm. Hệ thống dùng con số luật làm trần tối đa; chính sách doanh nghiệp có thể siết chặt hơn nhưng không vượt trần luật.
Cơ sở pháp lý
Engine áp dụng các điều khoản sau:
- Bộ luật Lao động 2019: Điều 98 (tiền lương làm thêm giờ), Điều 106 (giờ làm việc ban đêm 22:00-06:00), Điều 107 (giới hạn làm thêm giờ).
- Nghị định 145/2020: Điều 55-57 (cách tính tiền OT và OT ban đêm), Điều 60-61 (trần OT theo tháng và năm).
Bàn giao sang lương
Engine không chỉ hiển thị số liệu mà còn chuẩn bị sẵn dữ liệu để bàn giao sang hệ thống lương. Quy trình bàn giao gồm hai phần.
Ghi sẵn trên từng bản ghi
Ngay khi tính mỗi bản ghi chấm công, engine ghi vào đó các trường phục vụ lương, trong đó quan trọng nhất là otByBucket: số giờ OT đã phân về đúng 6 nhóm pháp lý ở trên, kèm quyết định trần (allow/warn/block) và lý do. Nhờ vậy, hệ thống lương nhận được giờ OT đã phân loại sẵn và không phải tính lại.
Kỳ công và khóa kỳ
Cuối tháng, hệ thống tổng hợp toàn bộ bản ghi chấm công và đơn nghỉ phép đã duyệt của từng nhân viên thành một kỳ công (attendance_periods). Mỗi kỳ lưu:
| Trường | Mô tả |
|---|---|
| Tháng/năm | Kỳ tổng hợp |
| Ngày công thực tế | Số ngày đủ công + nửa công + ngày nghỉ có lương; nghỉ không lương không cộng |
| Ký hiệu Mẫu 01a | Bảng ký hiệu chấm công chuẩn (ví dụ: X = cả công, half = nửa công, P = phép, Ô, TS, KL, NB, N) |
| OT theo 6 nhóm | otByBucket tổng hợp cả kỳ |
| Tổng phút đi muộn / về sớm | Số phút vi phạm cộng dồn |
| Số ngày chờ xác minh | Các ngày đánh dấu chờ HR xác minh |
| Số ngày công chuẩn của kỳ | Mặc định 26 ngày |
| Trạng thái khóa | Đã khóa hay chưa, thời điểm khóa, người khóa |
Quan trọng: Kỳ công đã khóa là bất biến. Sau khi khóa, việc tổng hợp lại sẽ không ghi đè kỳ đã khóa, nhằm bảo đảm số liệu gốc dùng để tính lương không bị thay đổi sau khi đã chốt. Mẫu 01a là biểu mẫu Bảng chấm công chuẩn theo quy định kế toán, dùng các ký hiệu thống nhất để đối chiếu công và lương.
Việc tổng hợp kỳ cần quyền xem bản ghi của tất cả nhân viên; việc khóa kỳ cần quyền sửa bản ghi của tất cả nhân viên.

