HR & Workforce
Roles covered: HR Manager · Recruiter · Payroll Specialist · HR Specialist · HR Director
Main modules: Recruitment · Staff · HR Profile · HR Payroll · Timesheets · Staff Teams · Departments
Who uses this guide
| Role | What they do in CRMConnect |
|---|---|
| Recruiter | Manages recruitment campaigns, candidates, interviews, and evaluations |
| HR Specialist | Completes employee files, tracks contracts, manages onboarding/offboarding |
| Payroll Specialist | Processes timesheets, calculates salaries, generates payslips |
| HR Manager | Oversees all HR processes, approves requests, monitors indicators |
| HR Director | Strategic dashboard, reports, headcount, total payroll cost |
HR module map
RECRUITMENT EMPLOYEE (Staff)
─────────── ────────────────
Recruitment Proposal Staff (basic data)
Recruitment Campaign Teams (Staff Teams)
Candidates + Application portal Departments
Interviews + Evaluations Roles & Permissions
Recruitment Channels Org Chart
HR RECORDS (HR Profile) TIMEKEEPING & ATTENDANCE
─────────────────────── ────────────────────────
Job Positions Daily timesheets
Employment Contracts Leave requests
Onboarding Checklist Shifts
HR Documents GPS Check-in/Check-out
Training & Evaluation Public holidays & days off
Dependents Field agent routes
Offboarding Checklist
PAYROLL REPORTING
─────────── ─────────
Salary components HR Dashboard
Deductions & Insurance Recruitment reports
Income tax Timesheet reports
KPI Bonuses Payroll reports
Payslips HR indicators
Recommended daily routine
Recruiter — Morning
1. New applicants — /admin/recruitment/candidate_profile
Candidates who applied online or were added manually — review CVs and update status.
2. Today's interviews — /admin/recruitment/interview_schedule
Today's interview schedule — verify that interviewers are notified.
3. Pending offers — Candidates with status Send Offer (5)
Follow up on responses to sent offers.
HR Specialist — Morning
1. Expiring contracts — HR Dashboard → "Expired / expiring in 7 days" widget
Initiate renewal or prepare exit documentation.
2. Pending leave requests — /admin/timesheets → Unapproved requests
Approve or reject employee leave requests.
3. Onboarding in progress — New employees with incomplete checklists
Check the progress of onboarding tasks.
Payroll Specialist — Monthly (beginning of month)
1. Collect previous month's timesheets
↓ Verify timesheet approvals
2. Validate salary data with HR Profile
3. Generate payslips for that month
4. Review and approve
5. Distribute to employees
Recruitment — complete cycle
→ Detailed workflow: Recruit to Payroll
Recruitment Proposal
Where: /admin/recruitment/recruitment_proposal
First stage — justify the need to hire:
| Field | Notes |
|---|---|
| Required position | FK to Job Position in HR Profile |
| Department | Who is hiring |
| Number of positions | How many candidates sought |
| Employment type | Full-time, Part-time, Contract, Internship |
| Salary range | salary_from — salary_to |
| Period | Campaign start date — end date |
| Candidate requirements | Age, gender, education, experience, height, weight |
| Justification | Business reason for hiring |
| Approver | The manager who approves the proposal |
Recruitment Campaign
Where: /admin/recruitment/recruitment_campaign
The campaign takes data from the proposal and adds:
campaign_code— auto-generated- Campaign manager + followers
- Recruitment channel (web portal, LinkedIn, Indeed, agency, internal referral)
- Web form for online applications (with optional reCAPTCHA)
- SEO metadata (title, description) for the published job ad
Candidate application portal:
The web form generated by the campaign can be embedded on the company website or published as a link. Candidates complete it directly from their browser — data automatically arrives in the CRM as new candidates.
Candidate Profile
Where: /admin/recruitment/candidate_profile
Data captured per candidate:
| Category | Fields |
|---|---|
| Personal | Name, date of birth, gender, marital status, nationality, religion |
| Contact | Phone, email, Facebook, LinkedIn, Skype |
| Address | Residence, current living address |
| ID documents | ID card — series, issued by, date |
| Professional | Desired salary, years of experience, skills (JSON), interests |
| Cover letter | introduce_yourself — free text |
| Professional experience | Per previous employer: period, company, role, contact person, salary, reason for leaving |
| Education | Per institution: period, diploma, specialization, study type |
| Family | Relatives: relationship type, name, birth, job, address, phone |
| Skills | Full list of competencies with descriptions |
| Follow-up | Contact notes: date, type (call/email/meeting), outcome |
Candidate statuses
| Code | Status | Your action |
|---|---|---|
| 1 | Application | CV received — review |
| 2 | Potential | CV selected — send invitation |
| 3 | Interview | Interview scheduled |
| 4 | Won Interview | Advanced to final stage |
| 5 | Send Offer | Offer sent — awaiting response |
| 6 | Elect ★ | Hired — Staff record created automatically |
| 7 | Non-Elect | Rejected |
| 8 | Unanswer | No response to offer |
| 9 | Transferred | Moved to another campaign |
| 10 | Freedom | Left the process |
At status 6 (Elect): The system automatically creates the Staff record with the candidate's data. Recruitment ends, HR Profile takes over.
Interviews and Evaluations
Where: /admin/recruitment/interview_schedule
Scheduling an interview:
- Date, time slot
- Location (in-person or video)
- Interviewer(s)
- Automatic candidate notification (if
send_notify = 1)
Evaluation system:
Evaluation criteria are organized in groups (Technical, Behavioral, Experience, Cultural Fit) with a 1–5 scale and percentage weight per criterion:
Criterion: Technical skills — 40% — Score: 4/5 → 32%
Criterion: Communication — 30% — Score: 3/5 → 18%
Criterion: Cultural fit — 30% — Score: 5/5 → 30%
────────────────────────────────────────────────────────
Total: 80/100 — RECOMMENDED
Each evaluator fills in their own scores + text feedback → an aggregate score is calculated per candidate.
HR Profile — employee records
Where: /admin/hr_profile
Org Chart
Where: /admin/hr_profile/organizational_chart
Auto-generated from the department structure and manager assignments. Supports multi-level hierarchies with parent_id on departments. Interactive visualization of the organizational structure.
Job Positions
Where: /admin/hr_profile/job_positions
Each position has:
- Position code (configurable prefix, e.g.,
#JOB-001) - Job classification (
tblhr_job_p) — groups of similar positions - Department
- Full role description
- Associated salary scale (salary + benefits + insurance)
- Training requirements specific to the position
Employment Contracts
Where: /admin/hr_profile/contracts
Key fields:
| Field | Notes |
|---|---|
contract_code |
Auto-generated code (#CONTRACT-001) |
| Contract type | Fixed-term + Indefinite + other configurable types |
start_valid / end_valid |
Validity period |
contract_status |
valid / expired / terminated |
sign_day |
Signing date |
hourly_or_month |
Pay basis (hourly/monthly) |
| Salary components | Salary + benefits + insurance (per contract details) |
| Employee digital signature | staff_signature + staff_sign_day |
| Company representative signature | signature + signer |
Automatic alerts:
- Dashboard widget: expired contracts + expiring in 7 days
- Configure Workflow Automation for reminders 30/60 days in advance
Onboarding Checklist
Where: /admin/hr_profile/reception_staff
When hiring a new colleague, create an onboarding checklist:
Examples of standard tasks:
| Category | Task | Responsible |
|---|---|---|
| IT | Create company email account | IT Admin |
| IT | VPN and internal systems access | IT Admin |
| IT | Laptop/equipment configured | IT Admin |
| HR | Contract signed | HR |
| HR | Personal file completed | HR |
| HR | Badge and office access | Reception |
| Finance | Bank account communicated to payroll | Employee |
| Manager | Department induction | Direct manager |
| Manager | First objectives established | Direct manager |
| Legal | NDA and policies signed | Legal |
Per task:
status = 0→ to be completedstatus = 1→ completed
Overall progress visible from the employee profile.
HR Records (Staff Information)
Where: /admin/hr_profile/staff_infor
Full HR data per employee beyond what is in tblstaff:
| Category | Fields |
|---|---|
| Identification | National ID number, ID card series/number, issued by, issue date |
| Personal | Date of birth, place of birth, gender, marital status, nationality, religion |
| Address | Domicile address, current residence address, hometown |
| Banking | IBAN, bank, account holder |
| Fiscal | Personal fiscal code, social insurance numbers (CAS/CASS numbers) |
| Professional | Workplace (tblhr_workplace), job position |
| Status | Working / Inactivity / On Leave |
| Documents | List of documents received in the file (JSON tracking) |
Training and Professional Development
Where: /admin/hr_profile/training
Training programs:
- Subject, type, description
- Minimum score to pass (
mint_point) - Active/inactive
Training requirements per position:
- Each job position can specify which training programs are mandatory
- When hired for a position → required training is automatically assigned to the employee
Evaluation forms:
- Questions with multiple choice or free text answers
- Points per question
- Correct answers marked
- Results stored per evaluation session
Dependents
Where: /admin/hr_profile/dependent_persons
Register family dependents for the calculation of tax deductions:
- Relationship type (spouse, child, parent)
- Date of birth (automatically calculated if under 26)
- Period of dependency (
start_month→end_month) - Reason (education, disability, income below threshold)
status = 1→ active, impacts income tax calculation
Offboarding Checklist
Where: /admin/hr_profile/resignation_procedures
Similar to onboarding, but for departures:
Examples of offboarding tasks:
| Category | Task | Responsible |
|---|---|---|
| IT | Revoke system access | IT Admin |
| IT | Data backup and handover | IT Admin |
| IT | Return equipment | IT Admin |
| HR | Severance settlement | Payroll |
| HR | Employment certificate | HR |
| HR | Delete GDPR data upon request | HR/DPO |
| Manager | Project handover | Manager |
| Finance | Recover advances/equipment | Finance |
Departure registry: tblhr_list_staff_quitting_work — records of all employees who have left with their exit date.
Timesheets & Attendance
Where: /admin/staff/timesheets or /admin/timesheets
Recording mode
CRMConnect supports multiple attendance recording modes, configurable from settings:
| Mode | Description |
|---|---|
| Manual by HR | HR fills in the daily timesheet per employee |
| Manual by employee | The employee fills it in from their own profile |
| GPS Check-in/out | Employee marks attendance from mobile app with GPS validation |
| IP Check-in/out | IP address validation — access only from the company network |
| Biometric import | Import from access control systems (table tblhr_timekeeper_data) |
| Task-based | Hours logged on CRM tasks feed into timesheets |
Timesheet codes
The system uses symbolic codes per day:
| Code | Meaning |
|---|---|
W |
Working day |
B |
Working day (alternative) |
AL |
Annual Leave (paid leave) |
HO |
Holiday |
EB |
Extra Benefit (extra paid leave) |
U |
Unpaid (unpaid leave) |
SI |
Sick (medical leave) |
UB |
Unpaid Benefit |
P |
Personal leave |
Codes are configured and mapped in payroll integration settings (integration_actual_workday, integration_paid_leave, integration_unpaid_leave).
Leave Requests
Where: /admin/timesheets → Leave Requests
Request fields:
| Field | Notes |
|---|---|
| Leave type | Annual, Medical, Personal, Unpaid, etc. |
| Start date / End date | Period |
| Number of days | Calculated automatically |
| Planned/Urgent | Planned leave vs. unexpected situation |
| Reason | Justification |
| Approver | The manager who approves |
| Cover persons | Who covers during absence |
| Travel advance | If it's a business trip — amount requested |
Approval flow:
status = 0— Submitted, under reviewstatus = 1— Approvedstatus = 2— Rejected
Leave balance:
Each employee has an annual balance (tblhr_timesheets_day_off): Total granted − Used = Remaining. Balance carries over if configured.
Shifts
Where: /admin/timesheets → Shifts
Define work shifts with:
- Exact hours:
time_start_work→time_end_work - Lunch break:
start_lunch_break_time→end_lunch_break_time - Late tolerance (
late_latency_allowed) in minutes - Visual symbol (e.g., A, B, N for Shift 1, Shift 2, Night)
Shifts are assigned per employee, per department, or per day of the week. The system automatically calculates whether the employee met their shift.
GPS Check-in/out (via Mobile App)
Field employees:
- Open the CRMConnect mobile app
- Tap Check-in → system captures GPS
- At end of activity → Check-out
Validation:
- GPS Geofence — check-in valid only within the configured radius of the location (
distancein meters) - Valid IP — check-in valid only from the company's IP address (alternative to GPS)
- Route — field agents can receive an ordered route of points to visit
Public Holidays and Days Off
Where: /admin/timesheets → Days Off
Configure:
- Public holidays (with annual repeat option
repeat_by_year = 1) - Company-specific days off
- Global or per department/role application
HR Payroll — salary processing
Where: /admin/hr_payroll
Payslip components
Calculation flow:
INPUT DATA:
Working days (from timesheet) × Daily salary
+ Commissions (from Commission module)
+ KPI Bonuses
= GROSS
DEDUCTIONS:
− Employee insurance (CAS, CASS, etc.)
− Income tax (from progressive brackets)
− Other withholdings
NET = GROSS − Deductions
TOTAL COST = GROSS + Employer contributions
Salary components (`hrp_payroll_columns`)
Predefined column categories (40+):
| Category | Columns |
|---|---|
| Employee data | Employee code, Name, Department, Role |
| Time worked | Standard days, Actual days worked, Paid leave, Unpaid leave |
| Earnings | Trial salary, Formal salary, Commissions, KPI Bonuses, Task hours |
| Gross | Automatically calculated from all earnings |
| Deductions | Total deductions, Total insurance |
| Fiscal | Taxable salary, Tax rebate code, Income tax, Personal deduction value |
| Net | Net salary, Total employer cost |
| Banking | IBAN, Bank, Social security number |
Calculation methods per column
taking_method |
Description |
|---|---|
system |
Value comes automatically from the system (base salary, working days from timesheet) |
calculator |
Configurable calculation formula |
constant |
Fixed value set manually |
Deductions
Configurable deduction types (hrp_salary_deductions_list):
- Pension contribution (CAS) — percentage of gross
- Health contribution (CASS) — percentage
- Advance recovery
- Internal loan installments
- Union dues
- Other withholdings
Each deduction has:
- Calculation base:
gross/fixed_amount/ other salary type - Inclusion/exclusion of specific earnings
- Annual limit
Income Tax
Where: /admin/hr_payroll/income_taxs_manage
Progressive brackets (hrp_income_tax_rates):
tax_bracket_value_from |
tax_bracket_value_to |
tax_rate |
|---|---|---|
| 0 | 5,000 | 10% |
| 5,001 | 15,000 | 15% |
| 15,001 | — | 25% |
| ... | ... | ... |
Personal deductions (hrp_income_tax_rebates):
- The rebate code (A, B, C...) determines the deductible amount per dependent
- The employee declares the number of dependents → the code is set on their profile → impacts the calculation
KPI Bonuses
Where: /admin/hr_payroll/manage_bonus
KPI bonuses are configured per:
- Individual employee
- Period (month)
- Amount or percentage
Disciplinary deductions (salary reductions for violations) can also be applied.
Insurance
Where: /admin/hr_payroll/manage_insurances
Configurable insurance types with:
- Employee rate (how much the employee pays)
- Employer contribution (total employer cost)
Generating Payslips
Where: /admin/hr_payroll/payslip_manage
Monthly process:
1. Select the month and payslip template
↓
2. System automatically gathers:
- Approved timesheets (from Timesheets)
- Commissions (from Commission module)
- Configured KPI bonuses
- Deductions and insurance
↓
3. Calculates: gross → deductions → tax → net
↓
4. Generates payslips (status: payslip_opening)
↓
5. Review and correct if needed
↓
6. Finalize (status: finalized — locked for editing)
↓
7. Distribute to employees (email with PDF)
Payslip statuses:
| Status | Description |
|---|---|
payslip_opening |
Draft — editable |
processing |
Under review |
finalized |
Finalized — locked |
Payslip templates:
Customizable HTML/PDF content per department or per employee. You can configure which columns appear and in what order.
Multi-currency:
Payslips support different currencies with configurable exchange rates and stored rate history (tblcurrency_rate_logs).
HR Reports
HR Dashboard
Where: /admin/hr_profile/dashboard
Available widgets:
| Widget | Data displayed |
|---|---|
| Total headcount | Total active employees |
| New employees this month | Count status = working AND dateadded in current month |
| Expired contracts | Count contract_status = expired |
| Contracts expiring in 7 days | end_valid ≤ today + 7 days |
| Distribution by department | Bar chart employees per department |
| Distribution by age | Groups: 18–24, 25–29, 30–39, 40–60 |
| Birthdays this month | Employees with birthday in current month |
Available reports
| Report | Location | Content |
|---|---|---|
| Staff roster | /admin/hr_profile/reports |
Complete roster with filters |
| New hires | HR Reports | New hires per period |
| Departures | HR Reports | Resignation registry with dates |
| Expired contracts | HR Reports | Contracts requiring action |
| Monthly timesheet | /admin/hr_payroll/reports |
Attendance per employee |
| Monthly payslips | Payroll Reports | Net summary per employee |
| Payroll cost | Payroll Reports | Total gross + contributions per department |
| Withheld taxes | Payroll Reports | Tax withholding per employee |
| Insurance | Payroll Reports | Contributions per insurance type |
| Leave | Timesheets Reports | Usage per leave type |
| Leave balance | Timesheets Reports | Remaining days per employee |
| Recruitment pipeline | Recruitment Reports | Candidates per status per campaign |
HR module integration
RECRUITMENT
Candidate status → Elect (6)
↓ Automatic Staff record creation
↓
HR PROFILE
Complete: job position, employment contract, HR file
Onboarding checklist activated
↓
TIMESHEETS
Employee marks attendance daily
Manager approves monthly timesheet
↓
HR PAYROLL
Approved timesheet → salary calculation
Commissions from Commission module
Configured KPI bonuses
↓
PAYSLIP generated → distributed → archived
↓ (on departure)
HR PROFILE → Offboarding Checklist → Resignation Registry
Recommended HR automations
Configurable in Workflow Automation (/admin/workflow_automation):
| Trigger | Action | Benefit |
|---|---|---|
| Candidate → status Elect | Task "Complete HR file" → HR Specialist | Zero onboarding delays |
| Staff created (new employee) | Task "IT setup for [Name]" → IT Admin | Automatic IT onboarding |
| Contract expires in 60 days | Task "Renew contract [Employee]" → HR Manager | Zero expired contracts |
| Contract expired | Notification to HR Director | Immediate escalation |
| Leave request → Approved | Confirmation email → employee | Automatic communication |
| Leave request → Rejected | Email with reason → employee | Transparency |
| Employee — birthday today | Internal notification → Manager + HR | Automatic recognition |
Recommended permissions for the HR team
Ask the administrator at /admin/roles:
| Permission | Required for |
|---|---|
| Staff → View / Create / Edit | Employee management |
| HR Profile → View / Create / Edit | Complete HR records |
| Recruitment → View / Create | Recruitment |
| Timesheets → View / Approve | Timesheets and leave |
| HR Payroll → View / Create | Payroll |
| Departments → View | Organizational structure |
| Reports → HR | HR reports |
| Custom Fields → View | Custom HR fields |
Quick references
Workflows: Recruit to Payroll · Project → Invoice (for project timesheets)
Modules: Staff · Staff Teams · Roles & Permissions · Departments · HR Profile · HR Payroll · Recruitment · Timesheets
Related departments: Finance Department · Legal Department · IT / Administrator
Configure the organisational structure in Staff before assigning OKRs or Resource Workload — reporting lines in the system determine which manager sees which team's performance data and which tasks appear on whose workload view.
Offboarding is as important as onboarding. Staff account deactivation, role permission removal, and API/portal credential revocation should be executed on the last day as a single checklist — not discovered weeks later during an access audit.