What is training data?
Training data records the professional development activities completed by your employees. This includes any structured learning activity such as safety courses, technical certifications, language classes, leadership programs, or compliance training. Under ESRS S1, organizations must disclose the average number of training hours per employee, broken down by gender and job category. This data helps demonstrate your investment in employee development and upskilling.Why is it needed?
Training metrics are a key indicator of how organizations invest in their workforce. Sustainability reports typically require:- Total training hours across the organization
- Average training hours per employee (total hours / headcount)
- Training hours by gender to show equitable access to development
- Training by type to categorize investment areas (safety, technical, etc.)
Data structure
Training records are linked to employees via the External Employee ID. Each training record is independent — an employee can have multiple trainings.Employees must already exist in the system before you can upload their training records. Upload contract data first, then trainings.
CSV format
| Column | Type | Required | Description | Example |
|---|---|---|---|---|
external_employee_id | String | Yes | The employee’s ID (must match an existing employee) | EMP001 |
hours | Decimal | Yes | Total training hours (must be >= 0) | 8.0 |
start_date | Date | Yes | When the training started (YYYY-MM-DD) | 2024-01-15 |
end_date | Date | Yes | When the training ended (must be >= start_date) | 2024-01-16 |
description | String | Yes | Name or description of the training | Workplace Safety Certification |
type | String | Yes | Category of the training | safety |
Training types
You can use any string value for the training type. Common categories include:| Type | Description |
|---|---|
safety | Health and safety training (e.g., fire drills, PPE usage) |
technical | Job-specific technical skills (e.g., software, machinery) |
compliance | Regulatory compliance (e.g., data protection, anti-corruption) |
leadership | Management and leadership development |
languages | Language courses |
onboarding | New employee induction programs |
other | Any other training type |
Training types are free-text fields — you can use any value that makes sense for your organization. The values listed above are suggestions.
Example CSV
How to upload
Import your data
Paste from a spreadsheet, upload a CSV/Excel file, or enter data manually. The importer maps your columns to the expected fields.
Viewing training data
Training list
The training list shows all uploaded training records with:- Employee ID: Which employee completed the training
- Description: Training name/description
- Type: Training category
- Hours: Duration in hours
- Dates: Start and end dates
- Upload source: Which file the record came from
- Upload file
- Upload date range
Employee detail view
From the employee detail page, the Trainings section shows all trainings for that specific employee in chronological order.How it appears in reports
Training data feeds into these report metrics:| Metric | Calculation | Description |
|---|---|---|
| Total training hours | Sum of all training hours | Organization-wide investment in training |
| Avg. training hours per employee | Total hours / Headcount | Per-capita training metric |
| Training hours by gender | Hours grouped by employee gender | Equity in training access |
| Training hours by category | Hours grouped by employment category | Distribution across job levels |
Training hours are prorated in reports when a training spans multiple months. For example, a 20-hour training from March 15 to April 15 would allocate approximately 10 hours to March and 10 hours to April based on the number of days in each month.
Frequently asked questions
Do employees need to exist before I upload trainings?
Do employees need to exist before I upload trainings?
Yes. The
external_employee_id in each training record must match an employee already uploaded through the contracts upload. If the employee doesn’t exist, the training record will be rejected.Can I upload the same training for multiple employees?
Can I upload the same training for multiple employees?
Yes. Create one row per employee per training. If 10 employees attended the same 8-hour workshop, you’d have 10 rows in your CSV, each with a different
external_employee_id but the same description, type, hours, and dates.What if a training spans multiple days but isn't full-day?
What if a training spans multiple days but isn't full-day?
Set the
hours field to the actual hours of instruction, not the calendar duration. For example, a course running 2 hours per day over 5 days would have hours: 10, start_date: 2024-01-06, end_date: 2024-01-10.How do I delete training records from a specific upload?
How do I delete training records from a specific upload?
Use the filter to select records from a specific upload file, then use the bulk delete option to remove all records from that file.

