CRMconnect Azuvio · Docs

Workflow: Recruit to Payroll

Modules involved: Recruitment · Staff (HR) · HR Profile · HR Payroll · Timesheets
Who uses it: HR manager, Recruiter, Department manager, Finance
Typical duration: 2–8 weeks recruitment + ongoing (monthly for payroll)

Overview

The complete HR cycle: from identifying a hiring need to the first payslip. Covers structured recruitment (proposal → campaign → candidates → interviews → hiring), HR onboarding, and monthly salary calculation (attendance → gross calculation → deductions → net).


Flow diagram

[RECRUITMENT PROPOSAL]
  │  define the need: position, department, number of openings, budget
  │  ↓ Proposal approval → launch campaign
  │
[RECRUITMENT CAMPAIGN]
  │  job posting published on channels (LinkedIn, job boards, etc.)
  │  ↓ Candidates apply
  │
[CANDIDATE]
  │  status: Application (1) → Potential (2) → Interview (3)
  │         → Won Interview (4) → Send Offer (5) → Elect / Hired (6)
  │         ↘ Non-Elect (7) / Unanswer (8) / Transferred (9)
  │
[INTERVIEW]
  │  scheduling + evaluation + candidate scoring
  │  ↓ Candidate selected → status Elect (6)
  │
[HIRING → STAFF record created automatically]
  │  job description, department, role, CRM access
  │
[HR PROFILE ONBOARDING]
  │  onboarding checklist, HR contracts, dependents
  │  training, complete HR record
  │
[MONTHLY ATTENDANCE]
  │  days worked / leave / absences recorded
  │  ↓ Attendance approval
  │
[PAYROLL CALCULATION]
  │  gross = base salary + bonuses + commissions
  │  deductions = insurance + income tax + withholdings
  │  net = gross − deductions
  │  ↓ Generate payslip
  │
[PAYSLIP ✓]
  │  status: payslip_opening → approved → distributed

Step by step

1. Recruitment Proposal — Defining the need

Where: /admin/recruitment/recruitment_proposal

What the proposal contains:

  • The position being sought (Job Position from HR Profile)
  • The hiring department
  • Number of openings required (amount_recruiment)
  • Period: start date – end date
  • Justification / estimated budget

Approval workflow:
The proposal goes through managerial approval (if configured) before becoming an active campaign.


2. Recruitment Campaign — Publishing the position

Where: /admin/recruitment/recruitment_campaign

The campaign contains:

  • Campaign code (campaign_code)
  • Job title and description
  • Recruitment channel (cp_position, cp_status)
  • Distribution channels: LinkedIn, eJobs, BestJobs, internal, etc. (configurable at /admin/recruitment/recruitment_channel)

Campaign statuses:
Numeric (1–10), configurable per implementation; typically: Open, Closed, Suspended.


3. Candidate — Evaluation and selection

Where: /admin/recruitment/candidate_profile

How a candidate enters:

  • Manually: HR enters the CV
  • Import: from a file or public application form

The candidate profile includes:

  • Personal data: name, date of birth, gender, national ID number
  • Work experience (cd_work_experience)
  • Education / certifications (cd_literacy)
  • Family information (cd_family_infor)
  • Follow-up notes (cd_care)

Candidate statuses — state machine:

Code Status Description Typical action
1 Application CV received, not evaluated HR reviews the CV
2 Potential CV selected Invitation to phone interview
3 Interview Scheduled for interview Interview scheduling created
4 Won Interview Advanced to final stage Technical / manager interview
5 Send Offer Offer sent Offer email generated
6 Elect Hired → automatically creates Staff record Contract signed
7 Non-Elect Rejected Thank-you email (optional)
8 Unanswer Did not respond to offer Follow-up after X days
9 Transferred Moved to another campaign Reallocated to another department
10 Freedom Exited the process Archived

Critical transition: When the status reaches 6 (Elect), the system automatically creates a Staff record populated with the candidate's data (name, email, phone). The candidate becomes an active employee in the CRM.


4. Interview — Structured evaluation

Where: /admin/recruitment/interview_schedule

Interview scheduling:

  • Date, time (from → to)
  • Interviewer (interviewer = staff)
  • Link to the candidate via cd_interview

Candidate evaluation:

  • Evaluation form (rec_evaluation_form) with predefined criteria (rec_list_criteria)
  • Score per criterion → total candidate score
  • Compare candidates for the same position

5. Hiring — Creating the employee in the system

Where: /admin/staff (created automatically) + /admin/hr_profile

What is created automatically at Elect status (6):

  • Staff record in tblstaff: firstname, lastname, email, phone from candidate
  • Transfer record (rec_transfer_records) for onboarding tracking

What is filled in manually:

  • CRM role and permissions (/admin/roles)
  • Department
  • Hire date
  • Contract type

6. HR Profile Onboarding — Integrating the employee

Where: /admin/hr_profile

The HR Profile module covers:

Sub-module URL Description
HR Dashboard /admin/hr_profile/dashboard Employee overview
Job Positions /admin/hr_profile/job_positions Job descriptions
Org Chart /admin/hr_profile/organizational_chart Company structure
Onboarding /admin/hr_profile/reception_staff New employee checklist
HR Records /admin/hr_profile/staff_infor Complete HR data
Training /admin/hr_profile/training Training programs
HR Contracts /admin/hr_profile/contracts Individual employment contracts
Dependents /admin/hr_profile/dependent_persons Spouse, children (tax impact)
Offboarding checklist /admin/hr_profile/resignation_procedures Employment termination procedures

Onboarding checklist:

  • Task list per new employee (system access, equipment, induction)
  • Status per task: status = 0 (pending) → status = 1 (complete)
  • Allocated via group_checklist_allocation with staffid

7. Attendance (Timesheets) — Recording presence

Where: /admin/hr_payroll/manage_attendance or /admin/staff/timesheets

Monthly attendance data per employee (hrp_employees_timesheets):

Field Description
standard_workday Standard working days in the month
actual_workday Days actually worked
paid_leave Paid leave days
unpaid_leave Unpaid leave days

Attendance approval:
The manager approves attendance records before generating payslips. Without approval, the data is not included in the calculation.


8. Payroll Calculation — Generating the payslip

Where: /admin/hr_payroll

Calculation flow — step by step:

INPUTS:
  ├── Base salary (from HR contract)
  ├── Days actually worked (from approved attendance)
  ├── KPI bonuses (hrp_bonus)
  ├── Commissions (from commission module)
  └── Deductions (hrp_deductions)

GROSS CALCULATION:
  daily_salary = base_salary / standard_workday
  earned_salary = daily_salary × actual_workday
  gross = earned_salary + bonuses + commissions

DEDUCTIONS:
  employee_insurance = gross × CAS_rate + CASS_rate + ...
  income_tax = (gross - insurance - personal_rebate) × tax_rate
  other_withholdings = from hrp_deductions

NET = gross - employee_insurance - income_tax - other_withholdings
TOTAL_COST = gross + employer_contributions

Configurable components (hrp_payroll_columns):

  • taking_method: system (calculated automatically), calculator (custom formula), constant (fixed amount)
  • Tax rates: progressive brackets from hrp_income_tax_rates
  • Deductions: configurable from /admin/hr_payroll/setting

Payslip statuses:

Status Description
payslip_opening Draft — generated, not yet submitted for approval
Approved Verified by HR/Finance
Distributed Payslip sent to the employee

Generation:
Generate Payslips button for the selected month → system automatically calculates for all active employees with approved attendance.


What is created automatically

Event Created automatically
Candidate → status Elect (6) Staff record in CRM with data from candidate profile
Staff record created rec_transfer_records for onboarding tracking
Onboarding activated Checklist tasks allocated to new employee
Payroll generation Payslip per employee with all components calculated
Payslip approved Email/notification to employee with payslip attached

Points where the workflow may stall

Problem Likely cause Solution
Staff record not created at hiring Candidate status did not reach 6 (Elect) Explicitly change the status to Elect
Payslip has 0 values Attendance not approved or salary not configured Approve attendance; fill in salary in the HR contract
Tax calculated incorrectly Tax rates not configured Configure hrp_income_tax_rates with correct brackets
Payslip does not reach employee SMTP email not configured or employee has no email Check employee email + SMTP in settings
KPI bonus does not appear KPIs for the period not closed or not approved Approve KPIs from /admin/hr_payroll/manage_bonus

Relevant reports

  • Recruitment Reports — candidates per campaign, sources, hiring times
  • HR Payroll Reports/admin/hr_payroll/reports — salary costs per department
  • Timesheets — hours per employee per period
  • Org Chart/admin/hr_profile/organizational_chart — updated structure post-hiring

Modules involved — detailed documentation

← Back to Workflows

Tip

Start payroll preparation from commission approval — Sales Manager must approve and generate commission payout receipts before payroll is processed so the final payroll total includes confirmed variable compensation.

Note

Offboarding in this workflow requires deactivating the staff account, not deleting it. Deletion removes the employee from all historical records (approved payslips, processed timesheets, resolved tickets) that reference their account.