# Factorial schema ERD

Table and field reference for the Fivetran Factorial connector.

## Table & Field Reference

### document

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | FK |
| folder_id | Unknown | FK |
| author_id | Unknown |  |
| company_id | Unknown |  |
| content_type | Unknown |  |
| created_at | Unknown |  |
| deleted_at | Unknown |  |
| extension | Unknown |  |
| file_size | Unknown |  |
| filename | Unknown |  |
| is_company_document | Unknown |  |
| is_management_document | Unknown |  |
| is_pending_assignment | Unknown |  |
| leave_id | Unknown |  |
| public | Unknown |  |
| signature_status | Unknown |  |
| signees | Json |  |
| space | Unknown |  |
| updated_at | Unknown |  |

### policies

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown |  |
| description | Unknown |  |
| main | Unknown |  |
| name | Unknown |  |

### shift_management

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | FK |
| location_id | Unknown | FK |
| company_id | Unknown |  |
| default_shift_title | Unknown |  |
| end_at | Unknown |  |
| extra_hours | Unknown |  |
| local_end_at | Unknown |  |
| local_start_at | Unknown |  |
| locations_work_area_id | Unknown |  |
| name | Unknown |  |
| notes | Unknown |  |
| start_at | Unknown |  |
| state | Unknown |  |
| timezone | Unknown |  |

### taxonomy

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| legal_entity_id | Unknown | FK |
| archived | Unknown |  |
| defaults | Unknown |  |
| name | Unknown |  |

### employee

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| legal_entity_id | Unknown | FK |
| location_id | Unknown | FK |
| manager_id | Unknown | FK |
| timeoff_manager_id | Unknown | FK |
| access_id | Unknown |  |
| active | Unknown |  |
| address_line_1 | Unknown |  |
| address_line_2 | Unknown |  |
| age_number | Unknown |  |
| attendable | Unknown |  |
| bank_number | Unknown |  |
| bank_number_format | Unknown |  |
| birth_name | Unknown |  |
| birthday_on | Unknown |  |
| birthplace | Unknown |  |
| city | Unknown |  |
| company_id | Unknown |  |
| company_identifier | Unknown |  |
| contact_name | Unknown |  |
| contact_number | Unknown |  |
| country | Unknown |  |
| country_of_birth | Unknown |  |
| created_at | Unknown |  |
| disability_percentage_cents | Unknown |  |
| email | Unknown |  |
| first_name | Unknown |  |
| full_name | Unknown |  |
| gender | Unknown |  |
| identifier | Unknown |  |
| identifier_expiration_date | Unknown |  |
| identifier_type | Unknown |  |
| is_terminating | Unknown |  |
| last_name | Unknown |  |
| login_email | Unknown |  |
| nationality | Unknown |  |
| personal_email | Unknown |  |
| phone_number | Unknown |  |
| postal_code | Unknown |  |
| preferred_name | Unknown |  |
| pronouns | Unknown |  |
| seniority_calculation_date | Unknown |  |
| social_security_number | Unknown |  |
| state | Unknown |  |
| swift_bic | Unknown |  |
| terminated_on | Unknown |  |
| termination_observations | Unknown |  |
| termination_reason | Unknown |  |
| termination_reason_type | Unknown |  |
| termination_type_description | Unknown |  |
| updated_at | Unknown |  |

### ats_job_posting_id

| Column | Type | Keys |
| --- | --- | --- |
| ats_job_posting_id | Unknown | PK |
| candidate_id | Unknown | PK, FK |

### candidate

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown |  |
| consent_expiration_date | Unknown |  |
| consent_given_at | Unknown |  |
| consent_to_talent_pool | Unknown |  |
| created_at | Unknown |  |
| email | Unknown |  |
| first_name | Unknown |  |
| full_name | Unknown |  |
| gender | Unknown |  |
| inactive_since | Unknown |  |
| last_name | Unknown |  |
| medium | Unknown |  |
| personal_url | Unknown |  |
| phone_number | Unknown |  |
| score | Unknown |  |
| source_id | Unknown |  |
| talent_pool | Unknown |  |
| updated_at | Unknown |  |

### post

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| allow_comments_and_reactions | Unknown |  |
| comments_count | Unknown |  |
| cover_image_url | Unknown |  |
| created_at | Unknown |  |
| description | Unknown |  |
| posts_group_id | Unknown |  |
| published_at | Unknown |  |
| title | Unknown |  |
| updated_at | Unknown |  |
| visits_count | Unknown |  |

### leave

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | FK |
| leave_type_id | Unknown | FK |
| approved | Unknown |  |
| company_id | Unknown |  |
| created_at | Unknown |  |
| description | Unknown |  |
| employee_full_name | Unknown |  |
| finish_on | Unknown |  |
| half_day | Unknown |  |
| hours_amount_in_cents | Unknown |  |
| leave_type_name | Unknown |  |
| reason | Unknown |  |
| start_on | Unknown |  |
| start_time | Unknown |  |
| updated_at | Unknown |  |

### contract

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | FK |
| annual_working_time_distribution | Unknown |  |
| bank_holiday_treatment | Unknown |  |
| company_id | Unknown |  |
| contracts_es_tariff_group_id | Unknown |  |
| country | Unknown |  |
| created_at | Unknown |  |
| de_contract_type_id | Unknown |  |
| effective_on | Unknown |  |
| ends_on | Unknown |  |
| es_contract_observations | Unknown |  |
| es_contract_type_id | Unknown |  |
| es_cotization_group | Unknown |  |
| es_education_level_id | Unknown |  |
| es_has_teleworking_contract | Unknown |  |
| es_job_description | Unknown |  |
| es_professional_category_id | Unknown |  |
| es_working_day_type_id | Unknown |  |
| fr_coefficient | Unknown |  |
| fr_contract_type_id | Unknown |  |
| fr_employee_type | Unknown |  |
| fr_forfait_jours | Unknown |  |
| fr_jours_par_an | Unknown |  |
| fr_level_id | Unknown |  |
| fr_mutual_id | Unknown |  |
| fr_professional_category_id | Unknown |  |
| fr_step_id | Unknown |  |
| fr_work_type_id | Unknown |  |
| has_payroll | Unknown |  |
| has_trial_period | Unknown |  |
| job_catalog_level_id | Unknown |  |
| job_title | Unknown |  |
| max_legal_yearly_hours | Unknown |  |
| max_work_days_in_row | Unknown |  |
| max_work_minutes_per_day | Unknown |  |
| maximum_weekly_hours | Unknown |  |
| min_rest_hours_in_row | Unknown |  |
| min_rest_minutes_between_days | Unknown |  |
| pt_contract_type_id | Unknown |  |
| salary_amount | Unknown |  |
| salary_frequency | Unknown |  |
| starts_on | Unknown |  |
| trial_period_ends_on | Unknown |  |
| updated_at | Unknown |  |
| working_hours | Unknown |  |
| working_hours_frequency | Unknown |  |
| working_time_percentage_in_cents | Unknown |  |
| working_week_days | Unknown |  |

### team_lead

| Column | Type | Keys |
| --- | --- | --- |
| lead_id | Unknown | PK, FK |
| team_id | Unknown | PK, FK |

### team_employee

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

### team

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| avatar | Unknown |  |
| company_id | Unknown |  |
| description | Unknown |  |
| name | Unknown |  |

### company_holiday

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| location_id | Unknown | FK |
| date | Unknown |  |
| description | Unknown |  |
| half_day | Unknown |  |
| summary | Unknown |  |

### folder

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| parent_folder_id | Unknown | FK |
| active | Unknown |  |
| company_id | Unknown |  |
| name | Unknown |  |
| space | Unknown |  |

### task_assignee

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

### task

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| author_employee_id | Unknown |  |
| company_id | Unknown |  |
| completed_at | Unknown |  |
| completed_by_id | Unknown |  |
| content | Unknown |  |
| created_at | Unknown |  |
| due_on | Unknown |  |
| name | Unknown |  |
| status | Unknown |  |
| updated_at | Unknown |  |

### task_file

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| task_id | Unknown | FK |
| content_type | Unknown |  |
| created_at | Unknown |  |
| filename | Unknown |  |
| path | Unknown |  |

### leave_type_allowance

| Column | Type | Keys |
| --- | --- | --- |
| allowance_id | Unknown | PK |
| leave_type_id | Unknown | FK |

### leave_type

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| accrues | Unknown |  |
| active | Unknown |  |
| allow_endless | Unknown |  |
| approval_required | Unknown |  |
| attachment | Unknown |  |
| color | Unknown |  |
| company_id | Unknown |  |
| description | Unknown |  |
| details_required | Unknown |  |
| editable | Unknown |  |
| half_days_units_enabled | Unknown |  |
| identifier | Unknown |  |
| is_attachment_mandatory | Unknown |  |
| max_days_in_cents | Unknown |  |
| min_days_in_cents | Unknown |  |
| name | Unknown |  |
| payable | Unknown |  |
| restricted | Unknown |  |
| translated_name | Unknown |  |
| visibility | Unknown |  |
| workable | Unknown |  |

### supplement_employee_observation

| Column | Type | Keys |
| --- | --- | --- |
| employee_observation | Unknown | PK |
| supplement_id | Unknown | PK, FK |

### supplement

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| contracts_compensation_id | Unknown | FK |
| contracts_taxonomy_id | Unknown | FK |
| employee_id | Unknown | FK |
| amount_in_cents | Unknown |  |
| company_id | Unknown |  |
| created_at | Unknown |  |
| currency | Unknown |  |
| description | Unknown |  |
| effective_on | Unknown |  |
| equivalent_minutes_in_cents | Unknown |  |
| legal_entity_id | Unknown |  |
| minutes_in_cents | Unknown |  |
| payroll_policy_period_id | Unknown |  |
| raw_minutes_in_cents | Unknown |  |
| unit | Unknown |  |
| updated_at | Unknown |  |

### compensation

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| contract_version_id | Unknown | FK |
| contracts_taxonomy_id | Unknown | FK |
| payroll_policy_id | Unknown | FK |
| amount | Unknown |  |
| calculation | Unknown |  |
| compensation_type | Unknown |  |
| currency | Unknown |  |
| description | Unknown |  |
| first_payment_on | Unknown |  |
| minimum_amount_of_hours | Unknown |  |
| minimum_amount_of_hours_in_cents | Unknown |  |
| recurrence | Unknown |  |
| recurrence_count | Unknown |  |
| starts_on | Unknown |  |
| sync_with_supplements | Unknown |  |
| time_condition | Unknown |  |
| unit | Unknown |  |

### location

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| address_line_1 | Unknown |  |
| address_line_2 | Unknown |  |
| city | Unknown |  |
| company_id | Unknown |  |
| country | Unknown |  |
| latitude | Unknown |  |
| longitude | Unknown |  |
| main | Unknown |  |
| name | Unknown |  |
| phone_number | Unknown |  |
| postal_code | Unknown |  |
| radius | Unknown |  |
| siret | Unknown |  |
| state | Unknown |  |
| timezone | Unknown |  |

### job_posting

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| legal_entity_id | Unknown | FK |
| location_id | Unknown | FK |
| team_id | Unknown | FK |
| ats_company_id | Unknown |  |
| company_id | Unknown |  |
| contract_type | Unknown |  |
| cover_letter_requirement | Unknown |  |
| created_at | Unknown |  |
| cv_requirement | Unknown |  |
| description | Unknown |  |
| hide_salary | Unknown |  |
| phone_requirement | Unknown |  |
| photo_requirement | Unknown |  |
| preview_token | Unknown |  |
| published_at | Unknown |  |
| remote | Unknown |  |
| salary_format | Unknown |  |
| salary_from_amount_in_cents | Unknown |  |
| salary_period | Unknown |  |
| salary_to_amount_in_cents | Unknown |  |
| schedule_type | Unknown |  |
| status | Unknown |  |
| title | Unknown |  |
| url | Unknown |  |
| workplace_type | Unknown |  |

### workplace

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| location_id | Unknown | FK |
| archived_at | Unknown |  |
| name | Unknown |  |

### legal_entities

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| address_line_1 | Unknown |  |
| address_line_2 | Unknown |  |
| city | Unknown |  |
| company_id | Unknown |  |
| country | Unknown |  |
| currency | Unknown |  |
| legal_name | Unknown |  |
| postal_code | Unknown |  |
| state | Unknown |  |
| tin | Unknown |  |

### attendance

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | FK |
| workplace_id | Unknown | FK |
| clock_in | Unknown |  |
| clock_in_with_second | Unknown |  |
| clock_out | Unknown |  |
| company_id | Unknown |  |
| created_at | Unknown |  |
| date | Unknown |  |
| half_day | Unknown |  |
| in_location_accuracy | Unknown |  |
| in_location_latitude | Unknown |  |
| in_location_longitude | Unknown |  |
| in_source | Unknown |  |
| location_type | Unknown |  |
| minutes | Unknown |  |
| observation | Unknown |  |
| out_location_accuracy | Unknown |  |
| out_location_latitude | Unknown |  |
| out_location_longitude | Unknown |  |
| out_source | Unknown |  |
| reference_date | Unknown |  |
| time_settings_break_configuration_id | Unknown |  |
| updated_at | Unknown |  |
| workable | Unknown |  |

## Relationships

- document(folder_id) → folder(id)
- document(employee_id) → employee(id)
- shift_management(employee_id) → employee(id)
- shift_management(location_id) → location(id)
- taxonomy(legal_entity_id) → legal_entities(id)
- employee(legal_entity_id) → legal_entities(id)
- employee(manager_id) → employee(id)
- employee(timeoff_manager_id) → employee(id)
- employee(location_id) → location(id)
- ats_job_posting_id(candidate_id) → candidate(id)
- leave(leave_type_id) → leave_type(id)
- leave(employee_id) → employee(id)
- contract(employee_id) → employee(id)
- team_lead(lead_id) → employee(id)
- team_lead(team_id) → team(id)
- team_employee(employee_id) → employee(id)
- team_employee(team_id) → team(id)
- company_holiday(location_id) → location(id)
- folder(parent_folder_id) → folder(id)
- task_assignee(employee_id) → employee(id)
- task_assignee(task_id) → task(id)
- task_file(task_id) → task(id)
- leave_type_allowance(leave_type_id) → leave_type(id)
- supplement_employee_observation(supplement_id) → supplement(id)
- supplement(contracts_taxonomy_id) → taxonomy(id)
- supplement(contracts_compensation_id) → compensation(id)
- supplement(employee_id) → employee(id)
- compensation(contracts_taxonomy_id) → taxonomy(id)
- compensation(contract_version_id) → contract(id)
- compensation(payroll_policy_id) → policies(id)
- job_posting(team_id) → team(id)
- job_posting(legal_entity_id) → legal_entities(id)
- job_posting(location_id) → location(id)
- workplace(location_id) → location(id)
- attendance(workplace_id) → workplace(id)
- attendance(employee_id) → employee(id)
