Module: HRM Pro v3.6.1
Ultimate Enterprise HRM module for BIXCRM.
How to use in BIXCRM (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 BIXCRM 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
v3.6.1 — Security & CodeCanyon Readiness
- Careers portal honeypot + IP rate limiting (spam protection)
- Biometric push API: mandatory API key + rate limiting (120/min per IP)
- Upload directories secured with
index.html(no directory listing) - Reports permission fix (
view_staffcapability) - Complete uninstall cleanup (all module options)
- LICENSE.txt, documentation, CHANGELOG for marketplace submission
Features
Core HR
- Staff profiles linked to BIXCRM 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 |
|---|---|---|
| --------- | ------ | ------- |
| 2.0.0 | 200_version_200.php | Ultimate enterprise schema |
| 2.2.0 | 220_version_220.php | Leave approval_comment column |
| 2.3.0 | 230_version_230.php | Multi-level approvals, training, careers portal |
| 2.4.0 | 231_version_231.php | Timeline events, rota notes, email alerts |
| 2.5.0 | 232_version_232.php | Leave attachment column |
| 2.6.0 | 233_version_233.php | Feature release (no schema changes) |
| 2.7.0 | 234_version_234.php | Reports charts, attendance delete, leave iCal |
| 2.8.0 | 235_version_235.php | Loan/payroll bulk delete, asset & KPI delete, payslip regen |
| 2.9.0 | 236_version_236.php | Recruitment actions, contract edit, timeline delete |
| 3.0.0 | 300_version_300.php | Asset tracking columns, scoped payroll, job management |
| 3.1.0 | 310_version_310.php | Contract extended fields, loan interest/tenure, asset return |
| 3.2.0 | 320_version_320.php | KPI weight/scope, biometric notes, scheduled report email |
| 3.3.0 | 330_version_330.php | Weighted KPI rollups; code cleanup (no schema changes) |
| 3.4.0 | 340_version_340.php | Staff portal KPI view, rollup CSV export |
| 3.5.0 | 350_version_350.php | Appraisal KPI rollup column, KPI PDF export |
| 3.6.0 | 360_version_360.php | Staff portal appraisals, filtered KPI exports |
BIXCRM maps module version to migration number by removing dots (3.6.0 → 360). Migration files must increase by 1 with no gaps between your installed migration and the target (e.g. 350 → 360 runs 351…360). Bridge files 351–359 are empty steps; 360 has no schema changes.
Upgrade path from 3.5.x installed migration 350: run Upgrade once (applies 351 through 360).
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 BIXCRM'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 BIXCRM'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 BIXCRM cron (
php /path/to/bixcrm/index.php cron/index) for sync, retries, alerts, and scheduled jobs. - Optionally enable REST API / webhooks in module settings if you integrate external systems.
BIXCRM Knowledge Base — usage guide generated from module README and documentation.