Sample timesheets data
Time tracking entries with hours, projects, and approval workflows
Free to download, no account needed for the 1k-row files below.
Larger sizes — up to 500k rows — need a free account.
This is synthetic data: it looks realistic and refers to nobody, so it
carries none of the data-protection risk of copying production records into a test system.
Downloads
| Size | Format | Locale |
|---|---|---|
| 1k rows | csv | de_DE en_GB en_US es_ES fr_FR ja_JP |
| 1k rows | jsonl | de_DE en_GB en_US es_ES fr_FR ja_JP |
| 10k rows | csv | free account (6 locales) |
| 10k rows | jsonl | free account (6 locales) |
| 100k rows | csv | free account (6 locales) |
| 100k rows | jsonl | free account (6 locales) |
| 500k rows | csv | free account (6 locales) |
| 500k rows | jsonl | free account (6 locales) |
Columns
| Column | Type | |
|---|---|---|
id | id | always set |
timesheet_id | sequence | always set |
employee_id | foreign_key | always set |
work_date | date | always set |
week_ending | date | always set |
project_id | zipfian_choice | always set |
project_name | sentence | always set |
task_category | weighted_choice | always set |
hours_regular | distribution_float | always set |
hours_overtime | distribution_float | optional |
hours_pto | decimal | optional |
hours_sick | decimal | optional |
hours_holiday | decimal | optional |
billable | weighted_choice | always set |
billing_rate | decimal | optional |
cost_center | regex | always set |
description | sentence | optional |
location | weighted_choice | always set |
status | weighted_choice | always set |
approver_id | foreign_key | optional |
approved_at | datetime | optional |
rejection_reason | sentence | optional |
submitted_at | datetime | always set |
created_at | datetime | always set |
updated_at | datetime | always set |
Need a different shape?
Generate this dataset with your own columns, row counts and locales, or browse the full catalogue of 72 ready-made files for this template alone.