KPI Templates
A KPI Template defines what employees are evaluated on during a performance cycle. It is a reusable set of weighted items — each item represents a performance dimension, and the weights determine how much each dimension contributes to the overall score.
Templates are assigned to departments when publishing a KPI cycle, so the same template can be used across multiple departments and multiple cycles.
Viewing Templates
Click KPI Templates in the sidebar. The list shows all templates with their names, number of items, and current usage status.
Creating a Template
- Click New Template.
- Fill in the template details:
| Field | Required | Description |
|---|---|---|
| Template Name | ✅ Yes | A clear, descriptive name (e.g., Engineering Team — Q1 2026) |
| Job Position | No | Optional — associate the template with a specific job position for reference |
| Employee Grade | No | Optional — associate with a grade level (T0 through M4) |
- Add KPI items. For each item:
| Field | Required | Description |
|---|---|---|
| Item Name | ✅ Yes | The performance dimension being measured (e.g., Code Quality, Attendance, Team Collaboration) |
| Weight | ✅ Yes | The percentage contribution of this item to the overall score |
- Ensure all weights add up to exactly 100%. The form shows a running total as you add items.
- Click Save.
Keep item names specific and measurable. Vague items like "Performance" are hard for employees and managers to score consistently. Instead, use "Delivery of assigned tasks on time" or "Communication with stakeholders".
Editing a Template
- Find the template in the list.
- Click Edit.
- Update the name, items, or weights as needed.
- Click Save.
A template that is assigned to a published KPI cycle cannot be edited. Make a copy or create a new template for the next cycle.
Deleting a Template
- Find the template in the list.
- Click Delete and confirm.
Templates that are currently assigned to any cycle — published or draft — cannot be deleted.
Importing Templates
For bulk creation, you can import multiple templates from a spreadsheet. This is the recommended approach when setting up templates for a large workforce.
How the Import Works
Each row in the import file represents one KPI item. Rows are automatically grouped into templates by matching entity_name + department_name + designation + emp_grade. All rows in the same group become one template.
The template name is auto-generated as {Designation} - {Grade} (e.g., PHP Laravel Developer - E2). You do not need to provide it manually.
Spreadsheet Columns
Use a single sheet with these columns:
| Column | Required | Description |
|---|---|---|
entity_name | ✅ Yes | Must match an existing entity exactly (e.g., Hayo, Slick) |
department_name | ✅ Yes | Must match an existing department within that entity |
designation | ✅ Yes | Must match the employee's job title exactly (case-insensitive) |
emp_grade | ✅ Yes | Grade code: T0, E1, E2, E3, M1, M2, M3, M4 |
status | ✅ Yes | active or inactive |
item_title | ✅ Yes | The KPI item name (e.g., Code Quality, Delivery) |
item_description | No | Optional description of what the item measures |
item_weight | ✅ Yes | Weight as a number (e.g., 30) — all items in a group must sum to exactly 100 |
Example
entity_name | department_name | designation | emp_grade | status | item_title | item_description | item_weight
Hayo | Development | PHP Laravel Developer | E2 | active | Code Quality | Maintain low defect rate | 35
Hayo | Development | PHP Laravel Developer | E2 | active | Delivery | Sprint commitments on time | 35
Hayo | Development | PHP Laravel Developer | E2 | active | Collaboration | Coordinate with team | 30
These 3 rows create one template named PHP Laravel Developer - E2 with 3 KPI items totalling 100%.
Important Rules
designationmust match the employee'sjob_titleexactly (spacing is normalized, case is ignored).- All item weights within a group must sum to exactly 100.
- If a template already exists for a given entity + department + designation + grade combination, those rows will fail with a duplicate error.
- Item titles must be unique within the same template group.
statusmust beactiveorinactiveand must be consistent across all rows in the same group.
Starter File
A pre-filled starter file based on your current employee data is available in the docs/import-samples/ folder of the project as kpi-template-import-starter.xlsx. It contains all unique entity/department/designation/grade combinations from your workforce with placeholder KPI items by grade level. Review and customize the items and weights before importing.
Running the Import
- On the KPI Templates page, click Import.
- Upload your completed spreadsheet (CSV, XLSX, or XLS accepted, max 10 MB).
- The system validates all rows and groups.
- A summary is returned showing how many templates were created and how many rows failed.
- If any rows fail, download the error report, correct the issues, and re-import only the corrected rows.
File: static/img/hr-admin-guide/kpi-templates-import-result.png
Show: The import result summary showing total rows, successful templates created, failed rows, and a download link for the error report.
Scoring Reference
Items are scored on a 1–5 scale during evaluation:
| Score | Label |
|---|---|
| 1 | Poor |
| 2 | Below Average |
| 3 | Average |
| 4 | Good |
| 5 | Excellent |
Overall score formula:
Overall % = Σ (Manager Score / 5 × Item Weight)
Example — 3 items with weights 40%, 35%, 25% and manager scores 4, 3, 5:
= (4/5 × 40) + (3/5 × 35) + (5/5 × 25)
= 32 + 21 + 25
= 78%