What is contract data?
Contract data captures the employment relationship between your organization and each employee. It includes:- Employee demographics: birth date, gender, disability status
- Contract details: type (permanent/temporary), start and end dates, location, job category, working hours ratio
- Remuneration: gross annual salary including bonuses, allowances, and benefits
Why is it needed?
Under ESRS S1 and other sustainability reporting frameworks, organizations must disclose:- Total number of employees by contract type, gender, and country
- Full-time vs part-time breakdown
- Employee turnover (new hires and departures)
- Remuneration gaps between genders and job categories
Data structure
Each CSV row represents one employee with one contract and one remuneration period. If an employee has had multiple contracts or salary changes, you include multiple rows with the same Employee ID.Contracts for the same employee cannot overlap in dates. Similarly, remunerations within the same contract cannot overlap. The system enforces this automatically and will reject uploads with overlapping periods.
CSV format
Required columns
Employee fields
Employee fields
Contract fields
Contract fields
Remuneration fields
Remuneration fields
Remuneration definition: The remuneration amount should include the employee’s annual gross salary plus bonuses, extra payments, allowances, and benefits in cash or kind (e.g., shares, insurance, social benefits). This is the total compensation figure used for pay gap analysis.
Example CSV
How to upload
1
Go to Data > Workforce
Navigate to the Workforce section under Data in the Dcycle app. You’ll see the list of employees (empty if this is your first upload).
2
Click Upload
Click the Upload button in the top right. This opens the data import interface.
3
Import your data
You can paste data from a spreadsheet, upload a CSV or Excel file, or enter data manually. The importer maps your columns to the expected fields.
4
Review validation
The importer checks your data in real time:
- Errors (red): Must be fixed before uploading (e.g., missing required fields, overlapping contracts)
- Warnings (yellow): Optional corrections (e.g., unusual values)
- No duplicate Employee ID + contract start date combinations
- Contract dates don’t overlap for the same employee
- Remuneration dates fall within the parent contract dates
- Gender values are valid (
M,F,O,NS) - Working hours ratio is between 0 and 1
5
Confirm upload
Once all errors are resolved, confirm the upload. The file is sent for processing, and you’ll see a notification when it completes.
Viewing contract data
Employee list
The employee list shows all uploaded employees with key information at a glance:- Employee ID: The external identifier from your HR system
- Employment category: Job category/classification
- Location: Country where the employee works
- Contract dates: Start and end date of the current/latest contract
- Upload source: Which file the record came from
- Upload file (to see records from a specific import)
- Upload date range
Employee detail
Click on any employee to see their full record:- Personal data: Employee ID, birth date, gender, disability status
- Contract history: All contracts with their type, dates, location, category, working hours ratio, and labor agreement status
- Remuneration history: Salary periods within each contract, showing amount and currency
- Trainings: All training records linked to this employee
- Absenteeisms & Accidents: All absence and accident records
How it appears in reports
Contract and remuneration data feeds into these report sections:Headcount and FTE
Remuneration analysis
Turnover
Field reference
Gender values
Contract types
Contract end reasons
All end reasons except
change_of_contract count as departures for the turnover metric (the employee leaves the organization). change_of_contract is excluded because the employee stays.Working hours ratio
The ratio represents the fraction of a full-time schedule:Frequently asked questions
Can I upload employees from multiple subsidiaries at once?
Can I upload employees from multiple subsidiaries at once?
No. Each upload is scoped to a single organization. If you have subsidiaries, upload workforce data separately for each one. Reports will consolidate across the organization tree automatically.
What happens if I upload an employee that already exists?
What happens if I upload an employee that already exists?
If the Employee ID already exists in the organization, the system will add the new contract and remuneration data to the existing employee record. It will not create a duplicate employee.
How do I update an employee's contract?
How do I update an employee's contract?
Upload a new row with the same Employee ID and updated contract details. If the contract dates overlap with an existing contract, the upload will fail — you’ll need to delete the old record first or adjust the dates.
What if I don't have remuneration data?
What if I don't have remuneration data?
Remuneration fields are optional. You can upload employee and contract data without salary information. However, pay gap metrics will not be available in reports without remuneration data.
How do I handle an employee who changed from temporary to permanent?
How do I handle an employee who changed from temporary to permanent?
Create two rows with the same Employee ID:
- First row: temporary contract with an end date and reason
change_of_contract - Second row: permanent contract starting after the temporary one ends