# Clockify schema ERD

Table and field reference for the Fivetran Clockify connector.

## Table & Field Reference

### workspace_feature

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| workspace_id | Unknown | PK, FK |
| feature | Unknown |  |

### workspace_currency

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| workspace_id | Unknown | PK, FK |
| code | Unknown |  |
| is_default | Unknown |  |

### workspace

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| admin_only_pages | Json |  |
| automatic_lock | Unknown |  |
| can_see_time_sheet | Unknown |  |
| can_see_tracker | Unknown |  |
| cost_rate_amount | Unknown |  |
| cost_rate_currency | Unknown |  |
| currency_format | Unknown |  |
| default_billable_projects | Unknown |  |
| duration_format | Unknown |  |
| feature_subscription_type | Unknown |  |
| force_description | Unknown |  |
| force_projects | Unknown |  |
| force_tags | Unknown |  |
| force_tasks | Unknown |  |
| hourly_rate_amount | Unknown |  |
| hourly_rate_currency | Unknown |  |
| image_url | Unknown |  |
| is_project_public_by_default | Unknown |  |
| lock_time_entries | Unknown |  |
| lock_time_zone | Unknown |  |
| multi_factor_enabled | Unknown |  |
| name | Unknown |  |
| number_format | Unknown |  |
| only_admins_create_project | Unknown |  |
| only_admins_create_tag | Unknown |  |
| only_admins_create_task | Unknown |  |
| only_admins_see_all_time_entries | Unknown |  |
| only_admins_see_billable_rates | Unknown |  |
| only_admins_see_dashboard | Unknown |  |
| only_admins_see_public_projects_entries | Unknown |  |
| project_favorites | Unknown |  |
| project_grouping_label | Unknown |  |
| project_picker_special_filter | Unknown |  |
| round | Unknown |  |
| round_minutes | Unknown |  |
| subdomain_enabled | Unknown |  |
| subdomain_name | Unknown |  |
| time_rounding_in_reports | Unknown |  |
| time_tracking_mode | Unknown |  |
| track_time_down_to_second | Unknown |  |

### project

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| client_id | Unknown | FK |
| workspace_id | Unknown | FK |
| archived | Unknown |  |
| billable | Unknown |  |
| budget_estimate | Unknown |  |
| color | Unknown |  |
| cost_rate_amount | Unknown |  |
| cost_rate_currency | Unknown |  |
| duration | Unknown |  |
| estimate | Unknown |  |
| estimate_reset | Unknown |  |
| estimate_type | Unknown |  |
| hourly_rate_amount | Unknown |  |
| hourly_rate_currency | Unknown |  |
| name | Unknown |  |
| note | Unknown |  |
| public | Unknown |  |
| template | Unknown |  |
| time_estimate | Unknown |  |
| time_estimate_active | Unknown |  |
| time_estimate_include_non_billable | Unknown |  |
| time_estimate_reset_option | Unknown |  |
| time_estimate_type | Unknown |  |

### time_entry_report_tag

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK, FK |
| time_entry_report_id | Unknown | PK, FK |

### time_entry_report

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| client_id | Unknown | FK |
| project_id | Unknown | FK |
| task_id | Unknown | FK |
| user_id | Unknown | FK |
| amount | Unknown |  |
| approval_date | Unknown |  |
| approval_request_id | Unknown |  |
| approved_by | Unknown |  |
| billable | Unknown |  |
| cost_amount | Unknown |  |
| cost_rate | Unknown |  |
| currency | Unknown |  |
| description | Unknown |  |
| earned_amount | Unknown |  |
| earned_rate | Unknown |  |
| is_locked | Unknown |  |
| rate | Unknown |  |
| time_interval_duration | Unknown |  |
| time_interval_end | Unknown |  |
| time_interval_start | Unknown |  |
| type | Unknown |  |

### holiday_user

| Column | Type | Keys |
| --- | --- | --- |
| holiday_id | Unknown | PK, FK |
| user_id | Unknown | PK, FK |

### holiday

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | FK |
| task_id | Unknown | FK |
| workspace_id | Unknown | FK |
| automatic_time_entry_creation | Unknown |  |
| end_date | Unknown |  |
| everyone_including_new | Unknown |  |
| name | Unknown |  |
| occurs_annually | Unknown |  |
| start_date | Unknown |  |

### client

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| currency_id | Unknown | FK |
| workspace_id | Unknown | FK |
| address | Unknown |  |
| archived | Unknown |  |
| email | Unknown |  |
| name | Unknown |  |
| note | Unknown |  |

### assignment

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| client_id | Unknown | FK |
| project_id | Unknown | FK |
| user_id | Unknown | FK |
| workspace_id | Unknown | FK |
| billable | Unknown |  |
| hours_per_day | Unknown |  |
| note | Unknown |  |
| period_end | Unknown |  |
| period_start | Unknown |  |
| start_time | Unknown |  |

### group_user

| Column | Type | Keys |
| --- | --- | --- |
| group_id | Unknown | PK, FK |
| user_id | Unknown | PK, FK |

### groups

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

### time_entry_tag

| Column | Type | Keys |
| --- | --- | --- |
| tag_id | Unknown | PK, FK |
| time_entry_id | Unknown | PK, FK |

### time_entry_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| time_entry_id | Unknown | PK, FK |
| name | Unknown |  |
| type | Unknown |  |
| value | Unknown |  |

### time_entry

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | FK |
| task_id | Unknown | FK |
| user_id | Unknown | FK |
| workspace_id | Unknown | FK |
| billable | Unknown |  |
| cost_rate_amount | Unknown |  |
| cost_rate_currency | Unknown |  |
| description | Unknown |  |
| hourly_rate_amount | Unknown |  |
| hourly_rate_currency | Unknown |  |
| is_locked | Unknown |  |
| kiosk_id | Unknown |  |
| time_interval_duration | Unknown |  |
| time_interval_end | Unknown |  |
| time_interval_start | Unknown |  |
| type | Unknown |  |

### user_membership

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| user_id | Unknown | PK, FK |
| cost_rate_amount | Unknown |  |
| cost_rate_currency | Unknown |  |
| hourly_rate_amount | Unknown |  |
| hourly_rate_currency | Unknown |  |
| status | Unknown |  |
| target_id | Unknown |  |
| type | Unknown |  |

### user_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| user_id | Unknown | PK, FK |
| id | Unknown |  |
| name | Unknown |  |
| type | Unknown |  |
| value | Unknown |  |

### users

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| workspace_id | Unknown | FK |
| active_workspace | Unknown |  |
| alerts | Unknown |  |
| approval | Unknown |  |
| collapse_all_project_lists | Unknown |  |
| dashboard_pin_to_top | Unknown |  |
| dashboard_selection | Unknown |  |
| dashboard_view_type | Unknown |  |
| date_format | Unknown |  |
| default_workspace | Unknown |  |
| email | Unknown |  |
| group_similar_entries_disabled | Unknown |  |
| is_compact_view_on | Unknown |  |
| lang | Unknown |  |
| long_running | Unknown |  |
| multi_factor_enabled | Unknown |  |
| my_start_of_day | Unknown |  |
| name | Unknown |  |
| onboarding | Unknown |  |
| profile_picture | Unknown |  |
| project_list_collapse | Unknown |  |
| project_picker_task_filter | Unknown |  |
| pto | Unknown |  |
| reminders | Unknown |  |
| scheduled_reports | Unknown |  |
| scheduling | Unknown |  |
| send_newsletter | Unknown |  |
| show_only_working_days | Unknown |  |
| status | Unknown |  |
| summary_report_setting_groups | Unknown |  |
| summary_report_setting_subgroup | Unknown |  |
| theme | Unknown |  |
| time_format | Unknown |  |
| time_tracking_manual | Unknown |  |
| time_zone | Unknown |  |
| week_start | Unknown |  |
| weekly_updates | Unknown |  |

### tags

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| workspace_id | Unknown | FK |
| archived | Unknown |  |
| name | Unknown |  |

### team_report

| Column | Type | Keys |
| --- | --- | --- |
| date | Unknown | PK |
| user_id | Unknown | PK, FK |
| break | Unknown |  |
| capacity | Unknown |  |
| end_time | Unknown |  |
| has_running_entry | Unknown |  |
| image_url | Unknown |  |
| overtime | Unknown |  |
| remaining_capacity | Unknown |  |
| start_time | Unknown |  |
| time_off | Unknown |  |
| total_duration | Unknown |  |

### task_assignee

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

### task

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| project_id | Unknown | FK |
| workspace_id | Unknown | FK |
| billable | Unknown |  |
| budget_estimate | Unknown |  |
| cost_rate_amount | Unknown |  |
| cost_rate_currency | Unknown |  |
| duration | Unknown |  |
| estimate | Unknown |  |
| hourly_rate_amount | Unknown |  |
| hourly_rate_currency | Unknown |  |
| name | Unknown |  |
| status | Unknown |  |

### approval_request_entry

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | Unknown | PK, FK |
| id | Unknown | PK, FK |

### approval_request_expense

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| _fivetran_id | Unknown | PK, FK |
| project_id | Unknown | FK |
| task_id | Unknown | FK |
| user_id | Unknown | FK |
| approval_request_id | Unknown |  |
| approval_status | Unknown |  |
| billable | Unknown |  |
| category_archived | Unknown |  |
| category_has_unit_price | Unknown |  |
| category_id | Unknown |  |
| category_name | Unknown |  |
| category_price_in_cents | Unknown |  |
| category_unit | Unknown |  |
| category_workspace_id | Unknown |  |
| currency | Unknown |  |
| date | Unknown |  |
| file_id | Unknown |  |
| file_name | Unknown |  |
| locked | Unknown |  |
| notes | Unknown |  |
| quantity | Unknown |  |
| total | Unknown |  |

### approval_request

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| creator_id | Unknown | FK |
| owner_id | Unknown | FK |
| status_updated_by | Unknown | FK |
| workspace_id | Unknown | FK |
| approved_time | Unknown |  |
| billable_amount | Unknown |  |
| billable_time | Unknown |  |
| break_time | Unknown |  |
| cost_amount | Unknown |  |
| date_range_end | Unknown |  |
| date_range_start | Unknown |  |
| expense_total | Unknown |  |
| id | Unknown |  |
| owner_start_of_week | Unknown |  |
| pending_time | Unknown |  |
| status_note | Unknown |  |
| status_updated_at | Instant |  |
| tracked_time | Unknown |  |

### invoice_item_time_entry

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK, FK |
| invoice_item_index | Unknown | PK, FK |
| invoice_item_invoice_id | Unknown | PK, FK |

### invoice_item

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| invoice_id | Unknown | PK, FK |
| amount | Unknown |  |
| description | Unknown |  |
| item_type | Unknown |  |
| orders | Unknown |  |
| quantity | Unknown |  |
| unit_price | Unknown |  |

### invoice

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| client_id | Unknown | FK |
| user_id | Unknown | FK |
| amount | Unknown |  |
| balance | Unknown |  |
| bill_from | Unknown |  |
| company_id | Unknown |  |
| contains_imported_expenses | Unknown |  |
| contains_imported_times | Unknown |  |
| currency | Unknown |  |
| discount | Unknown |  |
| discount_amount | Unknown |  |
| due_date | Unknown |  |
| issued_date | Unknown |  |
| note | Unknown |  |
| paid | Unknown |  |
| status | Unknown |  |
| subject | Unknown |  |
| subtotal | Unknown |  |
| tax | Unknown |  |
| tax_2 | Unknown |  |
| tax_2_amount | Unknown |  |
| tax_amount | Unknown |  |
| visible_zero_fields | Json |  |

## Relationships

- workspace_feature(workspace_id) → workspace(id)
- workspace_currency(workspace_id) → workspace(id)
- project(workspace_id) → workspace(id)
- project(client_id) → client(id)
- time_entry_report_tag(id) → tags(id)
- time_entry_report_tag(time_entry_report_id) → time_entry_report(id)
- time_entry_report(user_id) → users(id)
- time_entry_report(task_id) → task(id)
- time_entry_report(project_id) → project(id)
- time_entry_report(client_id) → client(id)
- holiday_user(user_id) → users(id)
- holiday_user(holiday_id) → holiday(id)
- holiday(task_id) → task(id)
- holiday(workspace_id) → workspace(id)
- holiday(project_id) → project(id)
- client(workspace_id) → workspace(id)
- client(currency_id) → workspace_currency(id)
- assignment(user_id) → users(id)
- assignment(workspace_id) → workspace(id)
- assignment(project_id) → project(id)
- assignment(client_id) → client(id)
- group_user(user_id) → users(id)
- group_user(group_id) → groups(id)
- groups(workspace_id) → workspace(id)
- time_entry_tag(tag_id) → tags(id)
- time_entry_tag(time_entry_id) → time_entry(id)
- time_entry_custom_field(time_entry_id) → time_entry(id)
- time_entry(user_id) → users(id)
- time_entry(task_id) → task(id)
- time_entry(workspace_id) → workspace(id)
- time_entry(project_id) → project(id)
- user_membership(user_id) → users(id)
- user_custom_field(user_id) → users(id)
- users(workspace_id) → workspace(id)
- tags(workspace_id) → workspace(id)
- team_report(user_id) → users(id)
- task_assignee(assignee_id) → users(id)
- task_assignee(task_id) → task(id)
- task(project_id) → project(id)
- task(workspace_id) → workspace(id)
- approval_request_entry(id) → time_entry(id)
- approval_request_entry(_fivetran_id) → approval_request(_fivetran_id)
- approval_request_expense(user_id) → users(id)
- approval_request_expense(task_id) → task(id)
- approval_request_expense(project_id) → project(id)
- approval_request_expense(_fivetran_id) → approval_request(_fivetran_id)
- approval_request(workspace_id) → workspace(id)
- approval_request(owner_id) → users(id)
- approval_request(status_updated_by) → users(id)
- approval_request(creator_id) → users(id)
- invoice_item_time_entry(id) → time_entry(id)
- invoice_item_time_entry(invoice_item_invoice_id) → invoice_item(invoice_id)
- invoice_item_time_entry(invoice_item_index) → invoice_item(index)
- invoice_item(invoice_id) → invoice(id)
- invoice(user_id) → users(id)
- invoice(client_id) → client(id)
