Module: HRM Pro v1.0.0
What is HRM Pro?
Enterprise Human Resource Management for Perfex CRM — attendance, payroll, leave, recruitment, KPI, appraisal & staff portal.
This module installs into modules/hrm_pro/ and adds its own admin menus, permissions, and database tables — without editing Perfex CRM core files.
Who should use this module?
- Admins — activate the module, configure Settings, assign roles, and manage integrations.
- Operators / day-to-day staff — create and update records (orders, attendance, shipments, messages, etc.).
- Managers / approvers — review queues, approve workflows, and monitor dashboards/KPIs.
- Finance / compliance / ops leads — run reports, exports, and audit trails when the module supports them.
What you can achieve
- Keep all related work in one place inside Perfex CRM instead of spreadsheets.
- Control who can view, create, edit, approve, or export with role permissions.
- Use dashboards and reports to see status, bottlenecks, and history.
- Connect to other CRM data (customers, invoices, items, staff) where the module integrates.
Recommended learning path
- Read How to Install and activate the module.
- Skim Features so you know what screens exist.
- Complete the Quick Start checklist on this page (Settings → masters → first sample record).
- Open each screen guide under Screen-by-screen guides when you need step-by-step help.
- Check Version & Changelog after upgrades for new options.
Tip: Train one admin first, then create a limited role for operators so they only see the screens they need.
5-minute Quick Start
Follow this short path the first time you use HRM Pro:
- Activate — Setup → Modules → activate HRM Pro (run Upgrade if prompted).
- Permissions — Setup → Staff → Roles → enable view/create/edit (and approve/settings if needed) for this module.
- Settings — Open HRM Pro → Settings and save company defaults, prefixes, and integrations.
- Master data — Create the first required masters (products, warehouses, templates, channels, accounts, routes, etc.).
- First transaction — Create one sample record end-to-end (save → submit/approve → complete) and confirm it appears in lists/reports.
- Cron — If the module uses alerts, sync, queues, or AI, confirm Perfex CRM cron is scheduled on the server.
Setup & usage notes from README
Setup
- Setup → Modules → HRM Pro → Activate
- Run Upgrade when prompted (migrations apply schema changes)
- Assign HRM permissions under Setup → Staff → Roles
- Configure HRM Pro → Settings (attendance rules, payroll, leave approval, careers portal, cron jobs)
Module documentation index
Start here — full guides for HRM Pro:
- Overview & How to Use — what it is, who uses it, daily workflow
- Quick Start Guide — first 5 minutes + printable how-to
- How to Install — upload, activate, permissions, verify
- Features (Full Detail) — every capability explained
- FAQ & Tips — common questions and best practices
- Version & Changelog — version history
How to use in Perfex CRM (daily operations)
- Sign in to the admin area with a role that includes HRM Pro permissions.
- Open Hrm Pro (sidebar) or search for HRM Pro in the admin menu.
- Start on the Dashboard (if available) to see open tasks, pending approvals, and KPIs.
- Review Settings after upgrades — new options may need defaults for your company.
- Create or import master data first; most modules block transactions until masters exist.
- Run the main business flow (create → submit → approve → post/complete) using the screens listed in Admin menu below.
- Use Reports / Analytics screens to reconcile stock, finance, compliance, or SLA metrics.
- For integrations (API, EDI, gateways, tax), confirm credentials in Settings and monitor logs or webhook delivery screens.
- Train staff with role-based access — give approvers approve permissions only, operators create/edit on their area.
- If something fails overnight, check Perfex CRM cron ran and open the module log / failed queue screen if present.
Admin menu — where to work
Open the HRM Pro section in the admin sidebar. Screens your staff may use (depending on role):
- Announcements
- Asset management
- Attendance
- Biometric
- Biometric logs
- Contracts
- Dashboard
- Departments
- Designations
- Holidays
- HR analytics
- HRM
- Job Cards
- KPI system
- Leaves
- Loans
- My HR Panel
- Offices
- Payroll
- Payslips
- Performance appraisal
- Recruitment
- Reports
- Salary structure templates
- Settings
- Shift rota
- Shifts
- Staff
- Staff timeline
- Training
Detailed guide — features, workflows, API & FAQ
v1.0.0 — Initial release
- Version 1.0.0 for CodeCanyon (author: Nasbix Technologies)
- Migration
migrations/100_version_100.php(Perfex maps1.0.0→100) - Uninstall removes all
hrm_*database tables,hrm_pro_*settings, anduploads/hrm_pro/ - Careers portal honeypot + IP rate limiting; biometric API key + rate limiting
- Upload directories secured with
index.html(no directory listing)
Features
Core HR
- Staff profiles linked to Perfex CRM staff (departments, designations, shifts, offices)
- Attendance (manual, self-service portal, biometric sync, GPS/IP rules)
- Leave management with balances and calendar
- Payroll generation, payslips (PDF/email)
- Loans, job cards, contracts, assets, KPI & appraisal
v2.1 Polish
- HR Analytics wired to live KPIs and Chart.js trends
- Recruitment Kanban drag-and-drop stage persistence
- Complete uninstall (tables + all module options)
- Legacy controller redirects (
Hrm_pro,Staff→ primary routes)
v2.2 Features
- CSV import — staff HRM profiles and attendance rows
- Leave approval comments saved on approve/reject
- HR Reports PDF download (attendance, payroll, loans, staff, summary)
v2.3 Enterprise
- Multi-level leave approvals — 1–3 step chain (manager → HR → final approver)
- Training module — programs, sessions, staff enrollments
- Public careers portal — job listings and online applications at
/careers
v2.4 Integration & Polish
- Custom timeline events — save promotion, warning, and other HR events with attachments
- Salary template description — persisted in database
- Rota notes — saved per shift assignment
- Recruitment resume upload — file upload in admin (plus optional URL)
- Email alerts — next leave approver + contract expiry (employee + HR contact)
v2.5 Self-Service & Import
- Leave attachments — optional file upload when applying (staff portal + admin leaves)
- Holidays CSV import — bulk import with type, apply-to, and date range metadata
- Offices CSV import — bulk import geofence offices
- Staff portal training — employees view their training enrollments and scores
v2.6 Bulk Operations & Import
- Salary template CSV import — bulk create/update salary structures
- Leave bulk approve/reject — process multiple pending requests via AJAX
- Contracts bulk upload — ZIP with
manifest.csv+ contract files
v2.7 Reports & Operations
- Reports charts — live attendance trend (present/absent/late) and payroll bar chart
- Reports tab export — per-tab PDF download buttons wired to the reports PDF endpoint
- Reports DataTables — sortable/searchable tables on each report tab
- Attendance delete — single-row and bulk delete for attendance records
- Leave iCal export — download
.icscalendar feed for all leave requests
v3.6 Staff Portal Appraisals & Filtered KPI Exports
- Staff portal → My Appraisal — employees view published performance reviews only
- Portal dashboard — latest published appraisal rating card
- KPI PDF & rollup CSV — respect staff, department, year, and month filters from the KPI page
v3.5 Appraisal ↔ KPI & KPI PDF
- Performance appraisal — stores linked
kpi_rollup_score; live lookup by staff/period; optional “Apply as rating (÷10)” - Appraisal table — KPI score column alongside manager rating
- KPI PDF — download rollups and score rows from KPI → Download PDF
v3.4 Staff Portal KPI & Rollup Export
- Staff portal → My KPIs — employees view their scores, monthly rollups, and year filter
- Portal dashboard — current-month KPI average card with link to full view
- Admin KPI — Export rollups CSV downloads staff/period weighted averages
v3.3 Cleanup & Weighted KPI Rollups
- Weighted KPI average — dashboard stat, staff/month rollup table, and HR Analytics card respect definition weights
- Code cleanup — removed nested Stripe iDEAL module (
ideal/) and unused legacy view wrappers
v3.2 KPI Scope, Biometric Notes & Scheduled Reports
- KPI definitions — weight (%), optional department/designation scope; assignment dropdown filters by staff scope
- Biometric devices — notes field saved on create/edit (modal + standalone form)
- Scheduled reports — cron email summary to configured recipients (weekly Monday or monthly 1st); configure in Reports modal or Settings
v3.1 Extended Metadata & Returns
- Contracts — type, start date, status, department, designation, salary, notes (create, edit, filter, bulk CSV)
- Loans —
interest_rateandtenure_monthsstored in database (legacy[HRM_INT:]notes still read) - Assets — return assignment from recent assignments list (sets asset back to available)
- UI polish — corrected stale hints for payroll filters, CSV imports, salary template description
v3.0 Enterprise Operations
- Assets — purchase date/cost, vendor, warranty, location, condition columns + form fields
- Payroll generate — optional department, office, and staff filters (adds missing items to existing month runs)
- Recruitment jobs — close/reopen posting, delete job (cascades applications)
v2.9 Recruitment, Contracts & Timeline
- Recruitment — reject, delete application, move stage modal (table + kanban already supported drag)
- Contracts — edit title, expiry, optional document replace
- Timeline — delete custom timeline events
v2.8 Delete & Bulk Operations
- Loans — reject, delete, bulk approve/reject/delete via AJAX
- Assets — delete asset (cascades assignments)
- KPI — delete monthly scores and KPI definitions
- Payroll — bulk mark paid, lock, delete; single lock/delete
- Payslips — bulk delete, single delete, regenerate
Setup
- Setup → Modules → HRM Pro → Activate
- Run Upgrade when prompted (migrations apply schema changes)
- Assign HRM permissions under Setup → Staff → Roles
- Configure HRM Pro → Settings (attendance rules, payroll, leave approval, careers portal, cron jobs)
Leave approval workflow
Configure under HRM Pro → Settings → Leave approval settings:
| Levels | Chain |
|---|---|
| -------- | ------- |
| 1 | HR / attendance managers approve directly |
| 2 | Reporting manager → HR approver |
| 3 | Reporting manager → HR approver → Final approver |
Set HR and final approver staff in settings. Multi-step requests show the approval chain on the leaves list and in the detail modal.
Training
HRM Pro → Training — create programs, schedule sessions, enroll staff, mark completions. Requires training_manage permission.
Staff with portal access can view their enrollments under Staff Portal → My training.
Careers portal
- Enable in HRM Pro → Settings → Careers portal
- Post jobs with List on public careers portal checked (Recruitment)
- Public URL:
https://your-site/careers
Applications from the portal appear in Recruitment with source Careers portal.
CSV Import
Staff (`HRM Pro → Staff → Import`)
Required columns: staff_email (or staff_id), department, designation, employment_type, joining_date
Attendance (`HRM Pro → Attendance → Import attendance from CSV`)
Required: staff_email (or staff_id), attendance_date
Holidays (`HRM Pro → Holidays → Import`)
Required: title, holiday_date (or start_date). Optional: end_date, description, status, type, apply_to, department_id, office_id
Offices (`HRM Pro → Offices → Import`)
Required: office_name. Optional: latitude, longitude, radius, status
Salary templates (`HRM Pro → Salary templates → Import`)
Required: name. Optional: basic_salary, allowances, bonus, commission_pct, other_deductions, description, status
Contracts bulk upload
- Create a ZIP containing
manifest.csvand contract files - Manifest columns:
staff_email,title,expiry_date,file - Upload via HRM Pro → Contracts → Bulk Upload
Download the manifest sample from the bulk upload modal.
Reports PDF
HRM Pro → Reports — apply filters, open a tab, click Download PDF. Use Schedule Report to enable cron email delivery.
Migrations
| Version | File | Notes |
|---|---|---|
| --------- | ------ | ------- |
| 1.0.0 | 100_version_100.php | Full initial schema via install.php, upload dirs, biometric API keys |
Perfex CRM maps module version to migration number by removing dots (1.0.0 → 100).
Permissions
| Capability | Purpose |
|---|---|
| ------------ | --------- |
view_staff | Dashboard, analytics, staff list |
create_staff / edit_staff / delete_staff | Staff CRUD, CSV import |
attendance_manage | Attendance, leaves, CSV import; HR override on leave approvals |
payroll_manage | Payroll & payslips |
loan_manage | Loans |
recruitment_manage | Jobs & pipeline |
training_manage | Training programs & sessions |
staff_self_access | Employee portal |
Cron (optional)
Configure in HRM Pro → Settings. Jobs run after the main CRM cron: biometric sync, auto payroll, leave balance reset, contract expiry alerts, scheduled HR report email.
Permissions
| Capability | Access |
|---|---|
view_staff | Dashboard, staff list, reports, analytics, KPI, assets, contracts, timeline |
create_staff | Add staff HRM profiles, CSV import |
edit_staff | Edit profiles, KPI scores, assets, contracts |
delete_staff | Delete staff records, appraisals |
attendance_manage | Attendance, leaves, biometric, settings (partial) |
payroll_manage | Payroll, payslips, settings (partial) |
loan_manage | Employee loans |
recruitment_manage | Jobs, applications, pipeline |
training_manage | Training programs and sessions |
staff_self_access | Employee self-service portal (My Panel) |
Key Features
- Staff profiles, departments, designations, shifts, offices, holidays
- Attendance (manual, portal, biometric, GPS/IP geofence)
- Leave management with multi-level approvals
- Payroll generation and payslip PDF/email
- Loans, job cards, assets, contracts
- Recruitment Kanban + public careers portal
- Training programs and enrollments
- KPI system with weighted rollups + performance appraisal
- HR Analytics, reports (PDF + scheduled email)
- Employment card with QR verification
Cron Jobs
Configure in HRM Pro → Settings. All run via Perfex CRM's main cron:
- Biometric sync — reconcile device logs to attendance
- Auto payroll — generate previous month's payroll
- Leave balance reset — annual leave balance reset
- Contract alerts — email on contract expiry
- Scheduled reports — weekly/monthly HR summary email
Careers Portal
Enable in Settings → Careers portal enabled. Public URLs:
https://yourdomain.com/careers
https://yourdomain.com/careers/job/{id}
https://yourdomain.com/careers/apply/{id}
Job postings must be open and marked public listing in Recruitment.
Biometric Push API
Register devices under HRM Pro → Biometric. Each device receives an API key.
POST /admin/hrm_pro/biometric/push
Content-Type: application/json
X-API-Key: {device_api_key}
{
"employee_id": 1,
"timestamp": "2026-09-03 09:00:00",
"device_id": "DEVICE-001"
}
Rate limited to 120 requests/minute per IP. API key is mandatory.
CSV Imports
Supported imports (see README.md for column formats):
- Staff HRM profiles
- Attendance rows
- Holidays, offices, salary templates
- Contracts bulk upload (ZIP + manifest.csv)
Security Notes
- All admin routes require staff login + RBAC permissions
- CSRF tokens on admin forms; public careers apply is CSRF-excluded (honeypot + rate limit instead)
- Biometric push uses API key + rate limiting (no staff session)
- Employment card verification uses signed token (
hash_equals) - Upload directories include blank
index.htmlfiles - File uploads restricted by MIME/extension and size
After activation — configuration checklist
- Go to Setup → Modules and activate HRM Pro.
- Assign permissions under Setup → Staff → Roles (HRM Pro capability group).
- Open HRM Pro → Settings to configure attendance, payroll, and cron options.
- Ensure your server cron runs Perfex CRM's cron URL daily (required for biometric sync, scheduled reports).
One-time setup (first time only)
- Setup → Modules → activate HRM Pro.
- Setup → Staff → Roles → assign HRM Pro permissions (view, create, edit, delete, approve, export, settings as needed).
- Open HRM Pro → Settings and complete company defaults, prefixes, integrations, and notification options.
- Create master data (warehouses, products, templates, accounts, routes, etc.) before processing live transactions.
- Enable Perfex CRM cron (
php /path/to/perfex/index.php cron/index) for sync, retries, alerts, and scheduled jobs. - Optionally enable REST API / webhooks in module settings if you integrate external systems.
Tips for success
- Always configure Settings before creating live transactions.
- Create master data (items, warehouses, templates, channels, accounts) first — most modules block incomplete records.
- Use a test/sample record before going live with real customers or production stock.
- Separate roles: operators create/edit; managers approve; finance/reporting get view/export only.
- After any module upgrade, reopen Settings and confirm new options have sensible defaults.
- If overnight jobs fail, verify Perfex CRM cron and check the module log / failed queue screen.
Common questions (FAQ)
Where do I find the module after activation?
In the admin sidebar look for HRM Pro. If missing, your role may lack view permission — fix under Setup → Staff → Roles.
Do I need to edit core Perfex CRM files?
No. Keep all custom code under modules/hrm_pro/. Activate/deactivate from Setup → Modules.
What happens if I uninstall?
Deactivate keeps data. Uninstall usually removes module tables/options (see the Install article). Core customers, invoices, and items are not deleted by well-built modules.
Why can't my staff see a screen?
Almost always a permissions issue. Give the role at least view on that feature, then ask the user to log out and back in.
Reports/export buttons do nothing
Confirm the role has export (or view reports) permission, and that filters return at least one row. Try PDF/CSV from a wider date range.
Perfex CRM Knowledge Base — detailed usage guide generated from module README, HOW_TO_USE, and documentation.