Imports & Exports
The HRMS supports CSV-based bulk imports for employees and KPI templates, and CSV exports from most list screens.
Employee Import
Who can use this: Admin and HR
How to Import
- Go to Employees in the sidebar.
- Click Import at the top of the page.
- Click Download Sample CSV to get the template.
- Fill in the CSV with employee data.
- Upload the file.
- Review the results.
CSV Format
The sample CSV includes these columns:
| Column | Required | Notes |
|---|---|---|
| employee_number | No | Auto-generated if blank or column omitted |
| first_name | Yes | |
| last_name | Yes | |
| work_email | Yes | Must be unique, valid email format |
| entity_id | Yes | Must match an existing entity |
| department_id | Yes | Must match a department in the specified entity |
| date_of_birth | No | Format: YYYY-MM-DD |
| gender | No | male, female, or other |
| marital_status | No | single, married, divorced, widowed |
| nationality | No | Country name |
| job_title | No | |
| activity_status | No | active (default) or inactive |
| employment_lifecycle | No | probationary (default), confirmed, resigned, terminated |
Import Rules
- Partial success: Valid rows are imported; invalid rows are skipped.
- Error report: After import, you see a summary showing:
- ✅ Successfully imported count
- ❌ Failed rows with specific error messages (e.g., "Row 5: employee_number already exists")
- Duplicate detection: Employee numbers (when provided) and emails must be unique.
- Auto-numbering: If the
employee_numbercolumn is empty or missing, the system auto-generates numbers using the entity name (e.g., HAYO-001, SLICK-002). - Entity/Department validation: Referenced entities and departments must exist.
- User accounts: A user account is automatically created for each imported employee with a default password.
Large Imports
For imports with many rows, the system processes them in the background. You'll see a progress indicator.
KPI Template Import
Who can use this: Admin and HR
How to Import
- Go to KPI Templates.
- Click Import.
- Download the sample CSV.
- Prepare your templates.
- Upload and review.
CSV Format
template_name,item_name,weight
Engineering Performance,Code Quality,30
Engineering Performance,Delivery Timeliness,30
Engineering Performance,Collaboration,20
Engineering Performance,Innovation,20
Sales KPI,Revenue Target,50
Sales KPI,Client Satisfaction,30
Sales KPI,Pipeline Growth,20
Import Rules
- Rows with the same
template_nameare grouped into one template. - Weights within each template must total exactly 100.
- Template names must be unique (no duplicates with existing templates).
- If one template in the file fails validation, other valid templates in the file are still created.
CSV Exports
Most list screens have an Export CSV button:
| Screen | What's Exported |
|---|---|
| Entities | Entity list with department and employee counts |
| Departments | Department list with entity, manager, and team lead info |
| Employees | Full employee list with all filterable fields |
| KPI Cycles | Finance KPI score summary per evaluation |
Export Behavior
- Respects filters: If you have filters active (e.g., only showing "Active" employees), the export includes only the filtered data.
- Respects search: If you have search text entered, only matching records are exported.
- Column format: CSV with headers, downloadable directly to your browser.
- File naming: Automatically named (e.g.,
employees_export_2025-01-15.csv).
Error Handling
Common Import Errors
| Error | Cause | Fix |
|---|---|---|
| "Duplicate employee_number" | Employee number already exists | Use a unique number |
| "Invalid email format" | Email doesn't follow standard format | Fix the email address |
| "Entity not found" | Referenced entity_id doesn't exist | Check entity IDs |
| "Weights don't total 100" | Template item weights ≠ 100 | Adjust weights |
| "Required field missing" | A required column is empty | Fill in the missing value |
After an Import
Always review the import results summary. Keep the error report to fix and re-import any failed rows.