Bút toán công từ Kế hoạch

Tạo bút toán công tự động từ lịch kế hoạch linh hoạt

Module Work Entries - Planning tích hợp ứng dụng Planning với hệ thống Work Entry, cho phép tạo công tự động từ lịch kế hoạch (planning slots) đã xuất bản, thay thế lịch làm việc tĩnh bằng lịch kế hoạch linh hoạt.

Module này phân bổ giờ làm chính xác theo kế hoạch thực tế của nhân viên, tính lương dựa trên kế hoạch thay vì lịch làm việc cố định, và khóa planning slot khi work entry đã được validated.

Planning
Kế hoạch
Work Entries
Shifts
Scheduling

Mục đích

Điểm chính

  • • Tạo công tự động từ lịch kế hoạch (planning slots) đã xuất bản

  • • Thay thế lịch làm việc tĩnh bằng lịch kế hoạch linh hoạt

  • • Phân bổ giờ làm chính xác theo kế hoạch thực tế của nhân viên

  • • Tính lương dựa trên kế hoạch thay vì lịch làm việc cố định


Đối tượng sử dụng

Vai trò và quyền truy cập

Vai tròQuyền truy cậpChức năng chính
Quản lý kế hoạchPlanning ManagerTạo và xuất bản planning slots
Nhân viên HRHR OfficerCấu hình nguồn tạo công, xem work entries
Quản lý lươngPayroll ManagerXác nhận work entries trước khi tính lương

Thuật ngữ quan trọng

FieldsTrường dữ liệuDescription
PlanningKế hoạchNguồn tạo công từ lịch kế hoạch
Planning ShiftLập kế hoạch ca làmModel planning.slot
Planning SlotKhung giờ kế hoạchMột ca làm trong kế hoạch
PublishedĐã xuất bảnTrạng thái planning slot
Allocated HoursGiờ phân bổSố giờ làm trong planning slot

Khi nào sử dụng

Sử dụng Planning làm nguồn tạo công khi lịch làm việc của nhân viên không cố định, thay đổi theo tuần/tháng, công ty sử dụng ứng dụng Planning để lập lịch ca làm, và cần tính lương dựa trên kế hoạch thực tế thay vì lịch làm việc mẫu.


Cấu hình nguồn Planning

Các bước thực hiện

  • 1. Vào Employees → Employees

  • 2. Chọn nhân viên cần cấu hình

  • 3. Vào tab Work Information

  • 4. Thiết lập Work Entry Source: Planning

  • 5. Lưu nhân viên


Quy trình tự động

Planning Manager tạo planning slots cho nhân viên, xuất bản planning slots (state = Published), hệ thống tự động tìm nhân viên có Work Entry Source = Planning, tìm hợp đồng đang hoạt động, archive các work entries cũ trong khoảng thời gian của slot, tạo work entries mới từ planning slots, và phân bổ giờ làm đều cho các ngày.


Ví dụ tạo work entry

Planning Slot: Nhân viên Nguyễn Văn A, thời gian 15/04/2026 08:00 - 17/04/2026 17:00 (3 ngày), Allocated Hours: 24 giờ, State: Published.

Work Entries được tạo: Ngày 15/04: 8 giờ (24/3), Ngày 16/04: 8 giờ (24/3), Ngày 17/04: 8 giờ (24/3).

Điểm chính

  • • Mỗi work entry có planning_slot_id link đến planning slot gốc

  • • Duration: 8 giờ

  • • Work_entry_type_id: Loại công (Attendance)


Phân bổ giờ làm

Hệ thống phân bổ giờ làm theo quy tắc: Planning slot 1 ngày → Giờ làm = Allocated Hours, Planning slot nhiều ngày → Giờ làm = Allocated Hours / Số ngày.

Ví dụ phân bổ

SlotAllocated HoursKết quả
15/04 08:00 - 15/04 17:008 giờWork Entry: 15/04, Duration = 8 giờ
15/04 08:00 - 17/04 17:0024 giờWork Entries: 15/04 (8h), 16/04 (8h), 17/04 (8h)

Quản lý Planning Slot và Work Entry

Xem work entries từ planning slot: Planning → Planning → Chọn slot → Click Smart Button Work Entries, hoặc Payroll → Work Entries → Lọc theo Planning Slot.


Sửa planning slot

Điểm chính

  • • Chưa có work entry validated: Có thể sửa Start Datetime, End Datetime, Allocated Hours, Resource. Hệ thống tự động archive work entries cũ và tạo mới.

  • • Có work entry validated: Không thể sửa. Thông báo lỗi: "Bạn không thể sửa bản ghi ca làm này, vì nó liên kết với công đã được xác nhận."

  • • Giải pháp: Hủy validate work entries (nếu chưa chạy lương) → Sửa planning slot → Validate lại


Xóa planning slot

Điểm chính

  • • Chưa có work entry validated: Có thể xóa. Hệ thống tự động archive các work entries liên kết.

  • • Có work entry validated: Không thể xóa. Giải pháp: Hủy validate work entries → Xóa planning slot.


Tái tạo Work Entry

Cần tái tạo work entries khi planning slots bị sửa sau khi work entries đã được tạo, có lỗi trong quá trình tạo work entries, hoặc cần đồng bộ lại work entries với planning slots.

Điểm chính

  • • Hệ thống xóa link planning_slot_id từ work entries cũ

  • • Archive work entries cũ (active=False)

  • • Tạo work entries mới từ planning slots đã xuất bản

  • • Phân bổ giờ làm theo quy tắc

Các bước thực hiện

  • 1. Vào Payroll → Work Entries → Regenerate Work Entries

  • 2. Chọn Employees, Date From, Date To

  • 3. Click Regenerate


Mẹo thực tế

Điểm chính

  • • Xuất bản planning slots đúng lúc: Trước deadline tính lương, không quá sớm để tránh sửa nhiều lần

  • • Quản lý planning slots: Sử dụng view Gantt để xem tổng quan, lọc theo nhân viên

  • • Xử lý thay đổi: Kiểm tra work entries có validated chưa trước khi sửa planning slot

  • • Kiểm tra work entries: So sánh tổng giờ làm với planning slots, xử lý các work entries có conflict

  • • Quy trình trước khi chạy lương: Kiểm tra planning slots đã xuất bản đầy đủ → Kiểm tra work entries đã được tạo → Xử lý conflict → Validate → Chạy lương