Skip to main content

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
This data is the foundation for calculating headcount, FTE, gender pay gap, and workforce composition metrics in your social reports.

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
Without contract data, Dcycle cannot calculate these social KPIs for your reports.

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

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)
Common validation checks:
  • 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
You can search by Employee ID and filter by:
  • 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:
Best practice: Use your payroll system’s FTE values directly. If an employee works 30 hours in a 40-hour-week organization, the ratio is 0.75.

Frequently asked questions

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.
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.
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.
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.
Create two rows with the same Employee ID:
  1. First row: temporary contract with an end date and reason change_of_contract
  2. Second row: permanent contract starting after the temporary one ends