# Personio schema ERD

Table and field reference for the Fivetran Personio connector.

## Table & Field Reference

### document_category

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| name | Unknown |  |

### project

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| assigned_to_all | Unknown |  |
| billable | Unknown |  |
| client_name | Unknown |  |
| cost_center_id | Unknown |  |
| created_at | Unknown |  |
| description | Unknown |  |
| end_date | Unknown |  |
| name | Unknown |  |
| parent_project_id | Unknown |  |
| project_code | Unknown |  |
| project_type | Unknown |  |
| start_date | Unknown |  |
| status | Unknown |  |
| sub_projects_count | Unknown |  |
| sub_projects_tracked_minute | Unknown |  |
| tracked_minute | Unknown |  |
| tracked_periods_count | Unknown |  |
| updated_at | Unknown |  |

### absence_entitlement

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | PK, FK |
| category | Unknown |  |
| entitlement | Unknown |  |
| name | Unknown |  |
| type | Unknown |  |

### cost_center

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | PK, FK |
| name | Unknown |  |
| percentage | Unknown |  |
| type | Unknown |  |

### employee

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| supervisor_id | Unknown | FK |
| contract_end_date | Unknown |  |
| created_at | Unknown |  |
| department_id | Unknown |  |
| department_name | Unknown |  |
| email | Unknown |  |
| employment_type | Unknown |  |
| first_name | Unknown |  |
| fix_salary | Unknown |  |
| fix_salary_currency | Unknown |  |
| fix_salary_interval | Unknown |  |
| gender | Unknown |  |
| hire_date | Unknown |  |
| holiday_calendar_country | Unknown |  |
| holiday_calendar_id | Unknown |  |
| holiday_calendar_label | Unknown |  |
| holiday_calendar_name | Unknown |  |
| holiday_calendar_state | Unknown |  |
| hourly_salary | Unknown |  |
| hourly_salary_currency | Unknown |  |
| last_modified_at | Unknown |  |
| last_name | Unknown |  |
| last_working_day | Unknown |  |
| office_id | Unknown |  |
| office_name | Unknown |  |
| position | Unknown |  |
| probation_period_end | Unknown |  |
| profile_picture_url | Unknown |  |
| status | Unknown |  |
| subcompany_id | Unknown |  |
| subcompany_name | Unknown |  |
| team_id | Unknown |  |
| team_name | Unknown |  |
| termination_date | Unknown |  |
| termination_reason | Unknown |  |
| termination_type | Unknown |  |
| vacation_day_balance | Unknown |  |
| weekly_working_hours | Unknown |  |
| work_schedule_friday | Unknown |  |
| work_schedule_id | Unknown |  |
| work_schedule_monday | Unknown |  |
| work_schedule_name | Unknown |  |
| work_schedule_saturday | Unknown |  |
| work_schedule_sunday | Unknown |  |
| work_schedule_thursday | Unknown |  |
| work_schedule_tuesday | Unknown |  |
| work_schedule_type | Unknown |  |
| work_schedule_valid_from | Unknown |  |
| work_schedule_wednesday | Unknown |  |
| custom_** |  |  |

### time_off

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | FK |
| time_off_type_id | Unknown | FK |
| certificate_status | Unknown |  |
| created_at | Unknown |  |
| created_by | Unknown |  |
| days_count | Unknown |  |
| end_date | Unknown |  |
| half_day_end | Unknown |  |
| half_day_start | Unknown |  |
| start_date | Unknown |  |
| status | Unknown |  |
| updated_at | Unknown |  |

### employee_absence_balance

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | PK, FK |
| balance | Unknown |  |
| category | Json |  |
| name | Unknown |  |

### time_off_type

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| approval_required | Unknown |  |
| category | Unknown |  |
| certification_required | Unknown |  |
| certification_submission_timeframe | Unknown |  |
| half_day_requests_enabled | Unknown |  |
| legacy_category | Unknown |  |
| name | Unknown |  |
| substitute_option | Unknown |  |
| unit | Unknown |  |

### absence_period

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| absence_type_id | Unknown | FK |
| employee_id | Unknown | FK |
| absence_type_name | Unknown |  |
| approved_at | Unknown |  |
| breakdowns | Json |  |
| certificate_status | Unknown |  |
| comment | Unknown |  |
| created_at | Unknown |  |
| created_by | Unknown |  |
| effective_duration | Unknown |  |
| end_ | Unknown |  |
| half_day_end | Unknown |  |
| half_day_start | Unknown |  |
| measurement_unit | Unknown |  |
| origin | Unknown |  |
| start | Unknown |  |
| status | Unknown |  |
| updated_at | Unknown |  |

### report_column

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| report_id | Unknown | PK, FK |
| columns | Unknown |  |

### report_filter

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| report_id | Unknown | PK, FK |
| columns | Unknown |  |
| comparison | Unknown |  |
| value | Unknown |  |

### report_employee

| Column | Type | Keys |
| --- | --- | --- |
| employee_id | Unknown | PK, FK |
| report_id | Unknown | PK, FK |

### report

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| author_first_name | Unknown |  |
| author_last_name | Unknown |  |
| created_at | Unknown |  |
| data_refreshed_at | Unknown |  |
| description | Unknown |  |
| end_date | Unknown |  |
| name | Unknown |  |
| period_type | Unknown |  |
| start_date | Unknown |  |
| status | Unknown |  |
| type | Unknown |  |
| updated_at | Unknown |  |

### report_employee_attribute_performance_target

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| employee_id | Unknown |  |
| performance_target | Json |  |

### report_employee_attribute_text

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| employee_id | Unknown |  |
| value | Unknown |  |

### report_employee_attribute_performance_kpi

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| employee_id | Unknown |  |
| performance_target_kpi | Json |  |

### report_employee_attribute_entity

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| employee_id | Unknown |  |
| entity_id | Unknown |  |
| value | Unknown |  |

### report_employee_attribute_absence_overview

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| duration_day | Unknown |  |
| duration_hour | Unknown |  |
| employee_id | Unknown |  |
| end_date | Unknown |  |
| start_date | Unknown |  |

### report_employee_attribute_cost_center

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| cost_center | Json |  |
| employee_id | Unknown |  |

### report_employee_attribute_absence_period

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| employee_id | Unknown |  |
| end_date | Unknown |  |
| half_day_at_end | Unknown |  |
| half_day_at_start | Unknown |  |
| start_date | Unknown |  |

### report_employee_attribute_duration

| Column | Type | Keys |
| --- | --- | --- |
| attribute_id | Unknown | PK |
| report_employee_employee_id | Unknown | PK, FK |
| duration | Unknown |  |
| employee_id | Unknown |  |

### compensation

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| person_id | Unknown | FK |
| amount_currency | Unknown |  |
| amount_value | Unknown |  |
| effective_from | Unknown |  |
| full_time_weekly_working_hours | Unknown |  |
| interval | Unknown |  |
| legal_entity_id | Unknown |  |
| type_category | Unknown |  |
| type_name | Unknown |  |
| weekly_working_hours | Unknown |  |

### attendance

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| person_id | Unknown | FK |
| project_id | Unknown | FK |
| attribution_date | Unknown |  |
| comment | Unknown |  |
| created_at | Unknown |  |
| end_date_time | Unknown |  |
| is_auto_generated | Unknown |  |
| start_date_time | Unknown |  |
| status | Unknown |  |
| type | Unknown |  |
| updated_at | Instant |  |

## Relationships

- absence_entitlement(employee_id) → employee(id)
- cost_center(employee_id) → employee(id)
- employee(supervisor_id) → employee(id)
- time_off(employee_id) → employee(id)
- time_off(time_off_type_id) → time_off_type(id)
- employee_absence_balance(employee_id) → employee(id)
- absence_period(absence_type_id) → time_off_type(id)
- absence_period(employee_id) → employee(id)
- report_column(report_id) → report(id)
- report_filter(report_id) → report(id)
- report_employee(employee_id) → employee(id)
- report_employee(report_id) → report(id)
- report_employee_attribute_performance_target(report_employee_employee_id) → report_employee(employee_id)
- report_employee_attribute_text(report_employee_employee_id) → report_employee(employee_id)
- report_employee_attribute_performance_kpi(report_employee_employee_id) → report_employee(employee_id)
- report_employee_attribute_entity(report_employee_employee_id) → report_employee(employee_id)
- report_employee_attribute_absence_overview(report_employee_employee_id) → report_employee(employee_id)
- report_employee_attribute_cost_center(report_employee_employee_id) → report_employee(employee_id)
- report_employee_attribute_absence_period(report_employee_employee_id) → report_employee(employee_id)
- report_employee_attribute_duration(report_employee_employee_id) → report_employee(employee_id)
- compensation(person_id) → employee(id)
- attendance(person_id) → employee(id)
- attendance(project_id) → project(id)
