Bỏ qua để đến nội dung

Workday Absence: quản lý nghỉ phép và tích lũy phép

Đây là bài mở đầu cụm Time & Absence — phần Workday xử lý thời gian làm việc và vắng mặt. Bốn bài còn lại: Nghỉ dài hạn · Xếp ca · Chấm công: thiết lập · Chấm công: tính giờ.

flowchart LR
  P["TIME OFF PLAN<br/>(sổ số dư: chu kỳ, đơn vị,<br/>trần trên/dưới, carryover)"] --> T["TIME OFF<br/>(loại nghỉ nhân viên chọn:<br/>phép năm, nghỉ ốm, việc riêng)"]
  A["ACCRUAL<br/>(quy tắc CỘNG phép:<br/>bao nhiêu, khi nào)"] --> P
  T -->|"trừ số dư"| P
  E["Eligibility rule<br/>(ai được hưởng)"] -.-> P & T & A

Ba nguyên tắc phải nắm trước khi cấu hình dòng đầu tiên:

  1. Workday không tự quy đổi giờ ↔ ngày. Plan tính theo ngày thì mọi accrual, giới hạn, phép nhập đều phải theo ngày.
  2. Sau khi lưu plan, không sửa được Period Schedule, Track Balance và Unit of Time; chọn position-based hay worker-based cũng là quyết định một chiều khi đã có dữ liệu.
  3. Nhân viên không xin nghỉ được cho ngày nằm ngoài period schedule — hết kỳ là nghẽn nghiệp vụ, nên dựng lịch cho năm nay và năm sau.
KiểuCách hoạt độngHợp với
Front-loadedCấp trọn gói đầu kỳPhép năm cấp một lần đầu năm. Không áp dụng cho người vào giữa kỳ, không dùng với position-based plan
Accrue-as-you-goSinh phép theo chính đơn xin nghỉNghỉ tang, nghỉ cưới (giới hạn đặt trên accrual, không đặt trên plan)
Based on as-of-date / theo kỳCộng dần mỗi kỳ, tự chia tỷ lệ khi đổi điều kiện giữa kỳPhép cộng dần theo tháng

Thứ tự xử lý đổi kết quả thật — điều nhiều người bỏ qua. Với trần 120 giờ, cộng 12 giờ/tháng, số dư 110 giờ, xin nghỉ 8 giờ:

  • Start of Period (cộng trước, trừ sau): 110 + 12 = 122 → vượt trần 2 → bị cắt còn 120 → trừ 8 = 112 giờ.
  • End of Period (trừ trước, cộng sau): 110 − 8 = 102 → + 12 = 114 giờ.

Cùng dữ liệu, lệch 2 giờ. Tương tự, khi nhiều accrual đụng trần cùng lúc, accrual có priority thấp hơn là bên bị mất phép.

Phép năm tăng theo thâm niên — bài toán quen thuộc ở VN

Phần tiêu đề “Phép năm tăng theo thâm niên — bài toán quen thuộc ở VN”

Workday làm bằng lookup table tra theo số năm công tác (ví dụ 1 giờ/kỳ trong 5 năm đầu, 2 giờ/kỳ từ năm thứ 6), cộng thêm quy tắc “accrual đầu tiên sau 30 ngày thử việc” bằng Custom Frequency với First Accrual Date = ngày vào làm + 30 ngày.

Bẫy tái tuyển dụng: Workday tính thâm niên theo Continuous Service Date, mà tuyển lại sẽ ghi đè ngày này và tính lại sai toàn bộ lịch sử. Cách tránh chuẩn: dùng nhóm trường “Recent … Based on Period Start/End Date” thay cho ngày gốc — áp dụng cho mọi quy tắc thâm niên.

  • Carryover: chuyển phép chưa dùng sang năm sau, có hạn mức (phần vượt hiện là Carryover Forfeited) và hạn sử dụng (ví dụ dùng hết trước 31/3). Khi carryover và accrual rơi cùng ngày, carryover xử lý trước; khi tiêu phép, Workday dùng phần hết hạn sớm nhất trước.
  • Accrual expiration: từng đợt phép hết hạn tính từ ngày được cấp. ⚠️ Gần như không gỡ được sau khi plan đã có đơn nghỉ hoặc số dư đã lưu — phải quyết định trước khi go-live.
  • Lower limit quyết định “được nghỉ âm quỹ tới đâu mà vẫn hưởng lương”; phần vượt thành nghỉ không lương. Muốn cấm hẳn nghỉ không lương thì đặt validation Maximum Unpaid Time Off Units Allowed = 0.

Workday hỗ trợ Buy Time Off (nhân viên mua thêm phép, trừ dần vào lương) và Sell Time Off (bán lại phép chưa dùng). Cả hai đều chỉ nhân viên tự làm — quản lý không làm hộ được, và bán phép chỉ áp dụng cho plan worker-based.

Ba loại điều chỉnh dễ nhầm: time off adjustment (một kỳ; số dương = TRỪ số dư, ngược trực giác), accrual adjustment (cộng/trừ vào accrual; số dương = cộng), accrual override (thay thế hẳn công thức, trải nhiều kỳ). Khi nhân viên nghỉ việc, Workday tự sinh điều chỉnh đưa số dư về 0 — nhưng không xử lý được điều chỉnh lớn hơn 1.000 đơn vị.

  • Số dư được tính động mỗi lần xem — không lưu định kỳ thì Workday phải tính lại từ đầu lịch sử, rất chậm. Hãy lên lịch Store Balances (ngưỡng khuyến nghị: chỉ lưu các mốc cách hiện tại ≥91 ngày).
  • Đổi cấu hình accrual có hiệu lực trước ngày số dư đã lưu thì Workday không tự tính lại — phải chạy recalculate thủ công.
  • Report Approved Time Off lọc theo ngày duyệt, không phải ngày nghỉ — muốn lọc theo ngày nghỉ dùng All Worker Time Off. Đây là nguồn hiểu nhầm số liệu phổ biến nhất.
  • Không xoá được time off plan — cách vô hiệu là thêm điều kiện không ai thoả mãn (ví dụ 1 = 2) vào mọi dòng eligibility.

Chắt lọc từ Workday HCM Administrator Guide (Absence: Time Off, Accruals, Balances tr.2348–2682) — doc.workday.com.

Chia sẻ: