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

Khái niệm cốt lõi

Person

Bản ghi trung tâm của HR (hr_people) — satellite của một Contact qua contact_id (1:1, unique). Không lưu identity như một nguồn độc lập: first_name/last_name/email/phone/avatar… tồn tại như cache, nhưng contact mới là nguồn xác thực.

Stage

Giai đoạn vòng đời, đúng 6 giá trị: talent (Ứng viên) → interviewing (Phỏng vấn) → offer (Đề nghị) → probation (Thử việc) → active (Đang làm) → resigned (Đã nghỉ). Mỗi lần đổi được ghi vào Stage transition.

Employee ID / Employment type

employee_id được cấp khi person chuyển sang probation/active. Employment type là loại hợp đồng lao động: full-time, part-time, contractor, intern (lookup có sẵn).

Talent

Person đang ở stage talent/interviewing/offer — ứng viên chưa được tuyển. Có desired_position (vị trí ứng tuyển) và source (kênh tuyển dụng).

Application

Một vòng tuyển dụng của một person (hr_applications) — trạng thái open/closed/hired/rejected. Một person có thể có nhiều application qua các đợt tuyển khác nhau.

Interview

Một buổi phỏng vấn thuộc một application (hr_interviews) — loại hr_screen/technical/manager/final/other; trạng thái scheduled/done/cancelled/no_show; có điểm số và ghi chú.

Offer

Đề nghị lương (1:1 với application) — trạng thái draft/sent/accepted/declined/expired, gồm lương, tiền tệ, hạn chấp nhận.

Stage transition

Audit trail (hr_stage_transitions) ghi mỗi lần đổi stage: from → to, lý do, người thực hiện. Chỉ đọc, không sửa tay.

Department

Phòng ban (hr_departments) — có thể lồng cây qua parent_department_id, và có một trưởng phòng (head_person_id). Trưởng phòng được dùng để phân quyền duyệt nghỉ phép theo phòng ban (leave.approve.dept).

Nhóm “hợp đồng & lương” (khi đã là nhân viên)

Phần tiêu đề “Nhóm “hợp đồng & lương” (khi đã là nhân viên)”

Contract

Hợp đồng lao động (hr_contracts) — loại indefinite/fixed_term/probation/freelance, ngày bắt đầu/kết thúc, ngày hết hạn thử việc, số lần gia hạn.

Compensation & Allowance

Lương cơ bản theo chu kỳ trả (monthly/biweekly/weekly) cộng các khoản phụ cấp riêng lẻ (hr_compensation_allowances — tên, số tiền, có chịu thuế hay không).

Insurance

Số bảo hiểm xã hội/y tế và cờ đủ điều kiện tham gia (hr_insurances) — thuộc dữ liệu sensitive, chỉ vai trò có quyền sensitive.read/sensitive.update mới xem/sửa được.

Leave type

Loại nghỉ phép (lookup, seed sẵn): annual (12 ngày/năm), sick (5 ngày), unpaid (0 ngày), maternity (180 ngày), paternity (5 ngày) — mỗi loại có cờ paid.

Leave balance

Số dư phép theo person + loại + năm — allocated (được cấp), used (đã dùng), override (điều chỉnh tay nếu có).

Leave request

Yêu cầu nghỉ phép — trạng thái pending/approved/rejected/cancelled, có ngày bắt đầu/kết thúc, số ngày, người duyệt (approved_by).

Company holiday

Ngày lễ công ty (hr_company_holidays) — có thể lặp lại hàng năm (recurring), dùng làm cơ sở tính ngày làm việc.

Document / Template / Trigger

Document là file thuộc về một person (hợp đồng, offer letter, giấy tờ tuỳ thân, tài liệu sinh từ template). Document template là mẫu nội dung; Document trigger là sự kiện (vd hired, resigned) có thể tự động sinh tài liệu từ một hoặc nhiều template gắn với nó.

Asset

Tài sản cấp phát cho nhân viên (hr_assets) — loại laptop/phone/access_card/other, số serial, ảnh, ngày cấp/thu hồi.

Offboarding case & task

Hồ sơ nghỉ việc (hr_offboarding) — loại nghỉ (tự nguyện, bị cho nghỉ, thoả thuận, hết hạn hợp đồng, nghỉ hưu), ngày báo trước, ngày làm việc cuối, thanh toán ngày phép còn lại. Gồm danh sách offboarding task (checklist bàn giao, theo category, có người phụ trách).

Provisioning log & Provider

Provider là hệ thống ngoài cần cấp/thu hồi tài khoản khi nhân viên vào/ra (Authentik, webhook tuỳ biến). Provisioning log ghi lại mỗi lần cấp/thu hồi — trạng thái success/failed/pending.