Base Automation HR

Tự động hóa quy trình nhân sự với Automated Actions cho HR module

Base Automation HR mở rộng module Base Automation để cung cấp các automated actions chuyên biệt cho quy trình nhân sự, giúp tự động hóa onboarding nhân viên, phê duyệt nghỉ phép, quản lý timesheet và gửi thông báo.

Module này tích hợp sâu với HR, HR Holidays, HR Timesheet để tạo các quy tắc tự động dựa trên sự kiện như nhân viên mới, yêu cầu nghỉ phép, timesheet chờ duyệt, giúp tiết kiệm thời gian và đảm bảo quy trình nhất quán.

HR Automation
Onboarding
Leave Approval
Timesheet
Notifications
Workflow

Tính năng chính

Điểm chính

  • • Automated Actions cho HR: Trigger tự động khi tạo/cập nhật nhân viên, nghỉ phép, timesheet

  • • Employee Onboarding: Tự động tạo task, gửi email chào mừng, cấp quyền truy cập cho nhân viên mới

  • • Leave Approval Workflow: Tự động gửi thông báo cho manager, escalate yêu cầu quá hạn

  • • Timesheet Automation: Nhắc nhở nhân viên điền timesheet, tự động submit cuối tuần

  • • Notification Triggers: Gửi email/SMS/chatter khi có sự kiện quan trọng (sinh nhật, kỷ niệm)

  • • Conditional Actions: Thực thi action dựa trên điều kiện phức tạp (department, job position)


Thuật ngữ EN/VI

FieldsTrường dữ liệuDescription
Automated ActionHành động tự độngQuy tắc tự động thực thi khi có trigger
TriggerKích hoạtSự kiện kích hoạt action (On Create, On Update, On Delete)
Server ActionHành động máy chủPython code hoặc action thực thi trên server
Filter DomainBộ lọc điều kiệnĐiều kiện để action được thực thi
ActivityHoạt độngTask/reminder gắn với bản ghi
FollowerNgười theo dõiUser nhận thông báo về bản ghi

Quy trình thiết lập

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

  • 1. Kích hoạt module: Vào Apps, tìm "Base Automation HR", nhấn Install. Module yêu cầu Base Automation và HR đã cài đặt.

  • 2. Tạo Automated Action: Vào Settings → Technical → Automation → Automated Actions, nhấn New. Chọn Model: hr.employee (hoặc hr.leave, hr.timesheet).

  • 3. Cấu hình Trigger: Chọn Trigger Condition: On Creation (khi tạo mới), On Update (khi cập nhật), Based on Form Modification (khi field thay đổi), hoặc Based on Timed Condition (theo thời gian).

  • 4. Thiết lập Filter Domain: Nhấn Edit Domain, thêm điều kiện như [("department_id.name", "=", "Sales")] để chỉ áp dụng cho phòng Sales.

  • 5. Chọn Action Type: Execute Python Code (chạy code), Create Activity (tạo task), Send Email (gửi email), Add Followers (thêm người theo dõi), hoặc Update Record (cập nhật field).

  • 6. Test Action: Nhấn Run Action để test với bản ghi mẫu. Kiểm tra log để đảm bảo action chạy đúng.


Ví dụ thực tế

Use cases phổ biến

Tình huốngCấu hìnhLợi ích
Onboarding nhân viên mớiModel: hr.employee, Trigger: On Creation, Action: Create Activity (tạo checklist onboarding), Send Email (gửi email chào mừng), Add Followers (thêm HR manager)Tự động hóa quy trình onboarding, đảm bảo không bỏ sót bước nào
Nhắc nhở điền timesheetModel: hr.employee, Trigger: Based on Timed Condition (mỗi thứ 6 lúc 16h), Filter: [("timesheet_ids", "=", False)], Action: Send EmailNhân viên không quên điền timesheet, giảm công việc nhắc nhở thủ công
Phê duyệt nghỉ phép tự độngModel: hr.leave, Trigger: On Creation, Filter: [("number_of_days", "<=", 1)], Action: Execute Python (record.action_approve())Nghỉ phép 1 ngày tự động duyệt, tiết kiệm thời gian manager
Thông báo sinh nhật nhân viênModel: hr.employee, Trigger: Based on Timed Condition (hàng ngày 9h), Filter: [("birthday", "=", today)], Action: Send Email (gửi cho team)Tăng tinh thần đồng đội, không bỏ sót sinh nhật
Escalate timesheet quá hạnModel: hr.timesheet, Trigger: Based on Timed Condition (hàng ngày), Filter: [("date", "<", today - 7 days), ("state", "=", "draft")], Action: Create Activity (gán cho manager)Manager biết timesheet nào cần xử lý gấp

Best practices

Điểm chính

  • • Test kỹ Filter Domain: Dùng Edit Domain để test điều kiện trước khi kích hoạt action

  • • Tránh vòng lặp vô hạn: Nếu action Update Record, đảm bảo không trigger lại chính nó

  • • Sử dụng Activity thay vì Email: Activity ít spam hơn, dễ theo dõi trong Odoo

  • • Log Python Code: Thêm _logger.info() trong Python action để debug

  • • Phân quyền cẩn thận: Action chạy với quyền của user tạo action, không phải user trigger

  • • Backup trước khi deploy: Test action trên staging trước khi áp dụng production