# Productive schema ERD

Table and field reference for the Fivetran Productive connector.

## Table & Field Reference

### workflow_status

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| workflow_id | Unknown | FK |
| category_id | Unknown |  |
| color_id | Unknown |  |
| name | Unknown |  |
| position | Unknown |  |

### booking

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| approver_id | Unknown | FK |
| canceler_id | Unknown | FK |
| creator_id | Unknown | FK |
| event_id | Unknown | FK |
| organization_id | Unknown | FK |
| origin_id | Unknown | FK |
| person_id | Unknown | FK |
| rejecter_id | Unknown | FK |
| service_id | Unknown | FK |
| updater_id | Unknown | FK |
| approval_status | Json |  |
| approved | Unknown |  |
| approved_at | Unknown |  |
| autotracking | Unknown |  |
| booking_method_id | Unknown |  |
| canceled | Unknown |  |
| canceled_at | Unknown |  |
| created_at | Unknown |  |
| draft | Unknown |  |
| ended_on | Unknown |  |
| external_id | Unknown |  |
| hours | Unknown |  |
| last_activity_at | Unknown |  |
| note | Unknown |  |
| percentage | Unknown |  |
| rejected | Unknown |  |
| rejected_at | Unknown |  |
| rejected_reason | Unknown |  |
| stage_type | Unknown |  |
| started_on | Unknown |  |
| time | Unknown |  |
| total_time | Unknown |  |
| total_working_days | Unknown |  |
| updated_at | Unknown |  |
| custom_** |  |  |
| people_custom_** |  |  |

### project

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown | FK |
| last_actor_id | Unknown | FK |
| organization_id | Unknown | FK |
| project_manager_id | Unknown | FK |
| workflow_id | Unknown | FK |
| archived_at | Unknown |  |
| created_at | Unknown |  |
| last_activity_at | Unknown |  |
| name | Unknown |  |
| number | Unknown |  |
| project_color_id | Unknown |  |
| project_number | Unknown |  |
| project_type_id | Unknown |  |
| public_access | Unknown |  |
| sample_data | Unknown |  |
| tag_colors | Json |  |
| template | Unknown |  |
| template_object_data | Json |  |
| time_on_tasks | Unknown |  |
| custom_** |  |  |

### line_item

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| expense_id | Unknown | FK |
| invoice_id | Unknown | FK |
| organization_id | Unknown | FK |
| service_id | Unknown | FK |
| service_type_id | Unknown | FK |
| adjustment | Unknown |  |
| amount | Unknown |  |
| amount_default | Unknown |  |
| amount_normalized | Unknown |  |
| amount_tax | Unknown |  |
| amount_tax_default | Unknown |  |
| amount_tax_normalized | Unknown |  |
| amount_with_tax | Unknown |  |
| amount_with_tax_default | Unknown |  |
| amount_with_tax_normalized | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_normalized | Unknown |  |
| description | Unknown |  |
| discount | Unknown |  |
| position | Unknown |  |
| quantity | Unknown |  |
| tax_name | Unknown |  |
| tax_rate_id | Unknown |  |
| tax_value | Unknown |  |
| unit_id | Unknown |  |
| unit_price | Unknown |  |
| unit_price_default | Unknown |  |
| unit_price_normalized | Unknown |  |

### payment

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| invoice_id | Unknown | FK |
| organization_id | Unknown | FK |
| amount | Unknown |  |
| amount_default | Unknown |  |
| amount_normalized | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_normalized | Unknown |  |
| external_id | Unknown |  |
| note | Unknown |  |
| paid_on | Unknown |  |
| written_off_on | Unknown |  |

### workflow

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

### expense

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| approver_id | Unknown | FK |
| creator_id | Unknown | FK |
| deal_id | Unknown | FK |
| organization_id | Unknown | FK |
| person_id | Unknown | FK |
| rejecter_id | Unknown | FK |
| service_id | Unknown | FK |
| service_type_id | Unknown | FK |
| amount | Unknown |  |
| amount_default | Unknown |  |
| amount_normalized | Unknown |  |
| approved | Unknown |  |
| approved_at | Unknown |  |
| attachment_id | Unknown |  |
| billable_amount | Unknown |  |
| billable_amount_default | Unknown |  |
| billable_amount_normalized | Unknown |  |
| created_at | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_normalized | Unknown |  |
| custom_field_attachment | Json |  |
| custom_field_people | Json |  |
| custom_fields | Unknown |  |
| date | Unknown |  |
| deleted_at | Unknown |  |
| draft | Unknown |  |
| exchange_date | Unknown |  |
| exchange_rate | Unknown |  |
| invoiced | Unknown |  |
| name | Unknown |  |
| paid_on | Unknown |  |
| pay_on | Unknown |  |
| position | Unknown |  |
| profit | Unknown |  |
| profit_default | Unknown |  |
| profit_normalized | Unknown |  |
| purchase_order_id | Unknown |  |
| quantity | Unknown |  |
| quantity_received | Unknown |  |
| recognized_revenue | Unknown |  |
| recognized_revenue_default | Unknown |  |
| recognized_revenue_normalized | Unknown |  |
| reimbursable | Unknown |  |
| reimbursed_on | Unknown |  |
| rejected | Unknown |  |
| rejected_at | Unknown |  |
| rejected_reason | Unknown |  |
| total_amount | Unknown |  |
| total_amount_default | Unknown |  |
| total_amount_normalized | Unknown |  |
| vendor_id | Unknown |  |

### custom_field_option

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| custom_field_id | Unknown | FK |
| organization_id | Unknown | FK |
| archived_at | Unknown |  |
| color_id | Unknown |  |
| name | Unknown |  |
| position | Unknown |  |

### subsidiary

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| bill_from_id | Unknown | FK |
| organization_id | Unknown | FK |
| archived_at | Unknown |  |
| custom_domain | Json |  |
| export_integration_type_id | Unknown |  |
| facility_costs | Unknown |  |
| facility_costs_default | Unknown |  |
| facility_costs_normalized | Unknown |  |
| integration_id | Unknown |  |
| invoice_logo_url | Unknown |  |
| invoice_number_format | Unknown |  |
| invoice_number_scope | Unknown |  |
| name | Unknown |  |
| overhead_amortization_period | Unknown |  |
| overhead_per_subsidiary | Unknown |  |
| overhead_recalculation_day | Unknown |  |
| show_delivery_date | Unknown |  |

### user_beta_feature

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| users_id | Unknown | PK, FK |
| beta_feature | Unknown |  |

### users

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| account_access_expires_at | Unknown |  |
| attributes_sysadmin_permissions | Json |  |
| avatar_url | Unknown |  |
| default_organization_id | Unknown |  |
| default_organization_slug | Unknown |  |
| email | Unknown |  |
| first_name | Unknown |  |
| ical_token | Unknown |  |
| intercom_hash | Unknown |  |
| last_name | Unknown |  |
| newsletter_consent | Unknown |  |
| newsletter_consent_at | Unknown |  |
| preferences | Unknown |  |
| sso_provision | Unknown |  |
| sysadmin | Unknown |  |
| sysadmin_permissions | Unknown |  |
| time_zone | Unknown |  |
| two_factor_auth | Unknown |  |

### task_todo_assignee

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| task_id | Unknown | PK, FK |
| todo_assignee_id | Unknown | FK |

### task_repeat_on_weekday

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| task_id | Unknown | PK, FK |
| repeat_on_weekday | Unknown |  |

### task_attachment

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

### task_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| task_id | Unknown | PK, FK |
| tag_name | Unknown |  |

### task

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| assignee_id | Unknown | FK |
| creator_id | Unknown | FK |
| last_actor_id | Unknown | FK |
| organization_id | Unknown | FK |
| parent_task_id | Unknown | FK |
| project_id | Unknown | FK |
| repeated_task_id | Unknown | FK |
| task_list_id | Unknown | FK |
| workflow_status_id | Unknown | FK |
| billable_time | Unknown |  |
| blocking_dependency_count | Unknown |  |
| closed | Unknown |  |
| closed_at | Unknown |  |
| created_at | Unknown |  |
| creation_method_id | Unknown |  |
| deleted_at | Unknown |  |
| description | Unknown |  |
| due_date | Unknown |  |
| due_time | Unknown |  |
| email_key | Unknown |  |
| initial_estimate | Unknown |  |
| last_activity_at | Unknown |  |
| linked_dependency_count | Unknown |  |
| number | Unknown |  |
| open_subtask_count | Unknown |  |
| open_todo_count | Unknown |  |
| placement | Unknown |  |
| private | Unknown |  |
| remaining_time | Unknown |  |
| repeat_on_date | Unknown |  |
| repeat_on_interval | Unknown |  |
| repeat_on_monthday | Unknown |  |
| repeat_origin_id | Unknown |  |
| repeat_schedule_id | Unknown |  |
| start_date | Unknown |  |
| subtask_count | Unknown |  |
| subtask_placement | Unknown |  |
| task_dependency_count | Unknown |  |
| task_number | Unknown |  |
| title | Unknown |  |
| todo_count | Unknown |  |
| type_id | Unknown |  |
| updated_at | Unknown |  |
| waiting_on_dependency_count | Unknown |  |
| worked_time | Unknown |  |
| custom_** |  |  |

### deal_membership

| Column | Type | Keys |
| --- | --- | --- |
| membership_id | Unknown | PK |
| deal_id | Unknown | PK, FK |

### deal_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| deal_id | Unknown | PK, FK |
| tag_name | Unknown |  |

### deal

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown | FK |
| contact_id | Unknown | FK |
| creator_id | Unknown | FK |
| deal_status_id | Unknown | FK |
| document_type_id | Unknown | FK |
| lost_reason_id | Unknown | FK |
| organization_id | Unknown | FK |
| project_id | Unknown | FK |
| responsible_id | Unknown | FK |
| subsidiary_id | Unknown | FK |
| amount_credited | Unknown |  |
| amount_credited_default | Unknown |  |
| amount_credited_normalized | Unknown |  |
| billable_time | Unknown |  |
| budget | Unknown |  |
| budget_total | Unknown |  |
| budget_total_default | Unknown |  |
| budget_total_normalized | Unknown |  |
| budget_used | Unknown |  |
| budget_used_default | Unknown |  |
| budget_used_normalized | Unknown |  |
| budget_warning | Unknown |  |
| budgeted_time | Unknown |  |
| client_access | Unknown |  |
| closed_at | Unknown |  |
| contract_id | Unknown |  |
| cost | Unknown |  |
| cost_default | Unknown |  |
| cost_normalized | Unknown |  |
| created_at | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_normalized | Unknown |  |
| date | Instant |  |
| deal_number | Unknown |  |
| deal_type_id | Unknown |  |
| deleted_at | Unknown |  |
| delivered_on | Unknown |  |
| discount | Unknown |  |
| draft_invoiced | Unknown |  |
| draft_invoiced_default | Unknown |  |
| draft_invoiced_normalized | Unknown |  |
| editor_config | Json |  |
| email_key | Unknown |  |
| end_date | Unknown |  |
| estimated_time | Unknown |  |
| exchange_date | Unknown |  |
| exchange_rate | Unknown |  |
| expense | Unknown |  |
| expense_approval | Unknown |  |
| expense_default | Unknown |  |
| expense_normalized | Unknown |  |
| external_id | Unknown |  |
| external_sync | Unknown |  |
| invoiced | Unknown |  |
| invoiced_default | Unknown |  |
| invoiced_normalized | Unknown |  |
| last_activity_at | Unknown |  |
| lost_comment | Unknown |  |
| man_day_minutes | Unknown |  |
| name | Unknown |  |
| note | Unknown |  |
| note_interpolated | Unknown |  |
| number | Unknown |  |
| origin_deal_id | Unknown |  |
| pending_invoicing | Unknown |  |
| pending_invoicing_default | Unknown |  |
| pending_invoicing_normalized | Unknown |  |
| position | Unknown |  |
| probability | Unknown |  |
| profit | Unknown |  |
| profit_default | Unknown |  |
| profit_margin | Unknown |  |
| profit_normalized | Unknown |  |
| projected_revenue | Unknown |  |
| projected_revenue_default | Unknown |  |
| projected_revenue_normalized | Unknown |  |
| purchase_order_number | Unknown |  |
| rejected_entries_count | Unknown |  |
| revenue | Unknown |  |
| revenue_default | Unknown |  |
| revenue_normalized | Unknown |  |
| rounding_interval_id | Unknown |  |
| rounding_method_id | Unknown |  |
| sales_closed_at | Unknown |  |
| sales_closed_on | Unknown |  |
| sales_status_id | Unknown |  |
| sales_status_updated_at | Unknown |  |
| sample_data | Unknown |  |
| service_type_restricted_tracking | Unknown |  |
| services_revenue | Unknown |  |
| services_revenue_default | Unknown |  |
| services_revenue_normalized | Unknown |  |
| suffix | Unknown |  |
| tax_rate_id | Unknown |  |
| template_id | Unknown |  |
| time_approval | Unknown |  |
| time_to_close | Unknown |  |
| todo_count | Unknown |  |
| todo_due_date | Unknown |  |
| tracking_type_id | Unknown |  |
| unapproved_entries_count | Unknown |  |
| worked_time | Unknown |  |
| custom_** |  |  |

### company_invoice_email_recipient_to

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| company_id | Unknown | PK, FK |
| invoice_email_recipients_to | Unknown |  |

### company_invoice_email_recipient_cc

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| company_id | Unknown | PK, FK |
| invoice_email_recipients_cc | Unknown |  |

### company_invoice_email_recipient_bcc

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| company_id | Unknown | PK, FK |
| invoice_email_recipients_bcc | Unknown |  |

### company_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| company_id | Unknown | PK, FK |
| tag_name | Unknown |  |

### company_contact_phone

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| company_id | Unknown | PK, FK |
| contact_datum_id | Unknown |  |
| name | Unknown |  |
| phone | Unknown |  |

### company_contact_website

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| company_id | Unknown | PK, FK |
| contact_datum_id | Unknown |  |
| name | Unknown |  |
| website | Unknown |  |

### company_contact_address

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| company_id | Unknown | PK, FK |
| address | Unknown |  |
| billing_address | Unknown |  |
| city | Unknown |  |
| contact_datum_id | Unknown |  |
| country | Unknown |  |
| name | Unknown |  |
| state | Unknown |  |
| zipcode | Unknown |  |

### company

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| archived_at | Unknown |  |
| avatar_url | Unknown |  |
| billing_name | Unknown |  |
| company_code | Unknown |  |
| created_at | Unknown |  |
| default_currency | Unknown |  |
| default_subsidiary_id | Unknown |  |
| description | Unknown |  |
| domain | Unknown |  |
| due_day | Unknown |  |
| external_id | Unknown |  |
| external_sync | Unknown |  |
| invoice_setting_budget_display_format | Unknown |  |
| invoice_setting_date_interval_id | Unknown |  |
| invoice_setting_document_type_id | Unknown |  |
| invoice_setting_end_date | Unknown |  |
| invoice_setting_expenses_display_format | Unknown |  |
| invoice_setting_invoicing_method | Unknown |  |
| invoice_setting_percentage | Unknown |  |
| invoice_setting_services_display_format | Unknown |  |
| invoice_setting_start_date | Unknown |  |
| invoice_setting_subsidiary_id | Unknown |  |
| invoice_setting_time_display_format | Unknown |  |
| last_activity_at | Unknown |  |
| name | Unknown |  |
| projectless_budget | Unknown |  |
| sample_data | Unknown |  |
| setting_exporter_option_tax_code_id | Unknown |  |
| vat | Unknown |  |
| custom_** |  |  |

### task_list

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| project_id | Unknown | FK |
| archived_at | Unknown |  |
| board_id | Unknown |  |
| email_key | Unknown |  |
| name | Unknown |  |
| placement | Unknown |  |
| position | Unknown |  |

### event

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| archived_at | Unknown |  |
| color_id | Unknown |  |
| description | Unknown |  |
| event_type_id | Unknown |  |
| half_day_bookings | Unknown |  |
| icon_id | Unknown |  |
| limitation_type_id | Unknown |  |
| name | Unknown |  |
| sync_personal_integrations | Unknown |  |

### deal_status

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| pipeline_id | Unknown | FK |
| archived_at | Unknown |  |
| booking_tracking_enabled | Unknown |  |
| color_id | Unknown |  |
| expense_tracking_enabled | Unknown |  |
| lost_reason_enabled | Unknown |  |
| name | Unknown |  |
| position | Unknown |  |
| probability_enabled | Unknown |  |
| status_id | Unknown |  |
| time_tracking_enabled | Unknown |  |

### document_type

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| subsidiary_id | Unknown | FK |
| archived_at | Unknown |  |
| attachments | Json |  |
| body_template | Unknown |  |
| document_style_id | Unknown |  |
| document_template_id | Unknown |  |
| dual_currency | Unknown |  |
| email_data | Json |  |
| email_subject | Unknown |  |
| email_template | Unknown |  |
| exportable_type_id | Unknown |  |
| exporter_options | Json |  |
| footer | Unknown |  |
| footer_template | Unknown |  |
| header_template | Unknown |  |
| line_item_tax | Unknown |  |
| locale | Unknown |  |
| name | Unknown |  |
| note | Unknown |  |
| scss_template | Unknown |  |
| tax_1_name | Unknown |  |
| tax_1_value | Unknown |  |
| tax_2_name | Unknown |  |
| tax_2_value | Unknown |  |
| template_options | Json |  |

### time_entry_version_date

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| date | Unknown |  |

### time_entry_version_time

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| time | Unknown |  |

### time_entry_version_person

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| person_id | Unknown | FK |

### time_entry_version_creator

| Column | Type | Keys |
| --- | --- | --- |
| creator_id | Unknown | PK, FK |
| time_entry_version_id | Unknown | PK, FK |

### time_entry_version_approved_at

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| approved_at | Unknown |  |

### time_entry_version_billing_point

| Column | Type | Keys |
| --- | --- | --- |
| billing_point_id | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |

### time_entry_version_correction

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| correction | Unknown |  |

### time_entry_version_started_at

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| started_at | Unknown |  |

### time_entry_version_approver

| Column | Type | Keys |
| --- | --- | --- |
| approver_id | Unknown | PK, FK |
| time_entry_version_id | Unknown | PK, FK |

### time_entry_version_rejected_at

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| rejected_at | Unknown |  |

### time_entry_version_rejector

| Column | Type | Keys |
| --- | --- | --- |
| rejector_id | Unknown | PK, FK |
| time_entry_version_id | Unknown | PK, FK |

### time_entry_version_rejected_reason

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| time_entry_version_id | Unknown | PK, FK |
| rejected_reason | Unknown |  |

### time_entry_version

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| creator_id | Unknown | FK |
| organization_id | Unknown | FK |
| created_at | Unknown |  |
| event | Unknown |  |
| item_id | Unknown |  |
| item_type | Unknown |  |
| type | Unknown |  |

### contact_entry

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown | FK |
| invoice_id | Unknown | FK |
| organization_id | Unknown | FK |
| person_id | Unknown | FK |
| subsidiary_id | Unknown | FK |
| address | Unknown |  |
| billing_address | Unknown |  |
| city | Unknown |  |
| contactable_type | Unknown |  |
| country | Unknown |  |
| email | Unknown |  |
| name | Unknown |  |
| phone | Unknown |  |
| purchase_order_id | Unknown |  |
| state | Unknown |  |
| vat | Unknown |  |
| website | Unknown |  |
| zipcode | Unknown |  |

### custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| project_id | Unknown | FK |
| aggregation_type_id | Unknown |  |
| archived_at | Unknown |  |
| created_at | Unknown |  |
| custom_field_attachment | Json |  |
| custom_field_people | Json |  |
| customizable_type | Unknown |  |
| data_type_id | Unknown |  |
| description | Unknown |  |
| formatting_type_id | Unknown |  |
| global | Unknown |  |
| name | Unknown |  |
| pipeline_id | Unknown |  |
| required | Unknown |  |
| sensitive | Unknown |  |
| show_in_add_edit_views | Unknown |  |
| updated_at | Unknown |  |

### people_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| people_id | Unknown | PK, FK |
| tag_name | Unknown |  |

### people_contact_phone

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| people_id | Unknown | PK, FK |
| contact_datum_id | Unknown |  |
| name | Unknown |  |
| phone | Unknown |  |

### people_contact_email

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| people_id | Unknown | PK, FK |
| contact_datum_id | Unknown |  |
| email | Unknown |  |
| name | Unknown |  |

### people_contact_address

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| people_id | Unknown | PK, FK |
| address | Unknown |  |
| billing_address | Unknown |  |
| city | Unknown |  |
| contact_datum_id | Unknown |  |
| country | Unknown |  |
| name | Unknown |  |
| state | Unknown |  |
| zipcode | Unknown |  |

### people

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown | FK |
| manager_id | Unknown | FK |
| organization_id | Unknown | FK |
| subsidiary_id | Unknown | FK |
| archived_at | Unknown |  |
| autotracking | Unknown |  |
| availabilities | Unknown |  |
| avatar_url | Unknown |  |
| color_id | Unknown |  |
| created_at | Unknown |  |
| deactivated_at | Unknown |  |
| email | Unknown |  |
| external_id | Unknown |  |
| external_sync | Unknown |  |
| first_name | Unknown |  |
| holiday_calendar_id | Unknown |  |
| hrm_type_id | Unknown |  |
| invited_at | Unknown |  |
| is_user | Unknown |  |
| joined_at | Unknown |  |
| last_activity_at | Unknown |  |
| last_name | Unknown |  |
| last_seen_at | Unknown |  |
| nickname | Unknown |  |
| placeholder | Unknown |  |
| role_id | Unknown |  |
| sample_data | Unknown |  |
| status_emoji | Unknown |  |
| status_expires_at | Unknown |  |
| status_text | Unknown |  |
| team_data | Json |  |
| time_unlocked | Unknown |  |
| time_unlocked_end_date | Unknown |  |
| time_unlocked_interval | Unknown |  |
| time_unlocked_on | Unknown |  |
| time_unlocked_period_id | Unknown |  |
| time_unlocked_start_date | Unknown |  |
| title | Unknown |  |
| two_factor_auth | Unknown |  |
| user_id | Unknown |  |
| virtual | Unknown |  |
| custom_** |  |  |

### time_entry

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| approver_id | Unknown | FK |
| creator_id | Unknown | FK |
| last_actor_id | Unknown | FK |
| organization_id | Unknown | FK |
| person_id | Unknown | FK |
| rejecter_id | Unknown | FK |
| service_id | Unknown | FK |
| task_id | Unknown | FK |
| updater_id | Unknown | FK |
| approved | Unknown |  |
| approved_at | Unknown |  |
| billable_time | Unknown |  |
| calendar_event_id | Unknown |  |
| cost | Unknown |  |
| cost_default | Unknown |  |
| cost_normalized | Unknown |  |
| created_at | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_normalized | Unknown |  |
| date | Unknown |  |
| facility_overhead_cost | Unknown |  |
| facility_overhead_cost_default | Unknown |  |
| facility_overhead_cost_normalized | Unknown |  |
| internal_overhead_cost | Unknown |  |
| internal_overhead_cost_default | Unknown |  |
| internal_overhead_cost_normalized | Unknown |  |
| invoice_attribution_id | Unknown |  |
| invoiced | Unknown |  |
| note | Unknown |  |
| overhead | Unknown |  |
| overhead_cost | Unknown |  |
| overhead_cost_default | Unknown |  |
| overhead_cost_normalized | Unknown |  |
| rejected | Unknown |  |
| rejected_at | Unknown |  |
| rejected_reason | Unknown |  |
| started_at | Unknown |  |
| time | Unknown |  |
| timer_started_at | Unknown |  |
| timer_stopped_at | Unknown |  |
| track_method_id | Unknown |  |
| updated_at | Unknown |  |
| work_cost | Unknown |  |
| work_cost_default | Unknown |  |
| work_cost_normalized | Unknown |  |

### pipeline

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| creator_id | Unknown | FK |
| organization_id | Unknown | FK |
| updater_id | Unknown | FK |
| created_at | Unknown |  |
| icon_id | Unknown |  |
| name | Unknown |  |
| pipeline_type_id | Unknown |  |
| position | Unknown |  |
| updated_at | Unknown |  |

### lost_reason

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

### service_type_assignee

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

### service_type

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| organization_id | Unknown | FK |
| archived_at | Unknown |  |
| description | Unknown |  |
| name | Unknown |  |

### service

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| deal_id | Unknown | FK |
| initial_service_id | Unknown | FK |
| organization_id | Unknown | FK |
| origin_service_id | Unknown | FK |
| person_id | Unknown | FK |
| service_type_id | Unknown | FK |
| billable | Unknown |  |
| billable_time | Unknown |  |
| billing_type_id | Unknown |  |
| booked_time | Unknown |  |
| booking_tracking_enabled | Unknown |  |
| budget_cap_enabled | Unknown |  |
| budget_total | Unknown |  |
| budget_total_default | Unknown |  |
| budget_total_normalized | Unknown |  |
| budget_used | Unknown |  |
| budget_used_default | Unknown |  |
| budget_used_normalized | Unknown |  |
| budgeted_time | Unknown |  |
| cost | Unknown |  |
| cost_default | Unknown |  |
| cost_normalized | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_normalized | Unknown |  |
| custom_field_attachment | Json |  |
| custom_field_people | Json |  |
| deleted_at | Unknown |  |
| description | Unknown |  |
| discount | Unknown |  |
| discount_amount | Unknown |  |
| discount_amount_default | Unknown |  |
| discount_amount_normalized | Unknown |  |
| editor_config | Json |  |
| estimated_time | Unknown |  |
| expense_amount | Unknown |  |
| expense_amount_default | Unknown |  |
| expense_amount_normalized | Unknown |  |
| expense_billable_amount | Unknown |  |
| expense_billable_amount_default | Unknown |  |
| expense_billable_amount_normalized | Unknown |  |
| expense_tracking_enabled | Unknown |  |
| future_booked_time | Unknown |  |
| future_budget_used | Unknown |  |
| future_budget_used_default | Unknown |  |
| future_budget_used_normalized | Unknown |  |
| future_cost | Unknown |  |
| future_cost_default | Unknown |  |
| future_cost_normalized | Unknown |  |
| future_revenue | Unknown |  |
| future_revenue_default | Unknown |  |
| future_revenue_normalized | Unknown |  |
| markup | Unknown |  |
| markup_amount | Unknown |  |
| markup_amount_default | Unknown |  |
| markup_amount_normalized | Unknown |  |
| name | Unknown |  |
| position | Unknown |  |
| price | Unknown |  |
| price_default | Unknown |  |
| price_normalized | Unknown |  |
| pricing_type_id | Unknown |  |
| profit | Unknown |  |
| profit_default | Unknown |  |
| profit_margin | Unknown |  |
| profit_normalized | Unknown |  |
| projected_revenue | Unknown |  |
| projected_revenue_default | Unknown |  |
| projected_revenue_normalized | Unknown |  |
| quantity | Unknown |  |
| revenue | Unknown |  |
| revenue_default | Unknown |  |
| revenue_normalized | Unknown |  |
| section_id | Unknown |  |
| time_tracking_enabled | Unknown |  |
| unapproved_time | Unknown |  |
| unit_id | Unknown |  |
| work_cost | Unknown |  |
| work_cost_default | Unknown |  |
| work_cost_normalized | Unknown |  |
| worked_time | Unknown |  |

### organization_addon

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| organization_id | Unknown | PK, FK |
| addon | Unknown |  |

### organization_working_hour

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| organization_id | Unknown | PK, FK |
| working_hour | Unknown |  |

### organization

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown | FK |
| owner_id | Unknown | FK |
| ai_enabled | Unknown |  |
| allow_user_email | Unknown |  |
| analytics_uid | Unknown |  |
| avatar_url | Unknown |  |
| billing_email | Unknown |  |
| booked_demo | Unknown |  |
| conflict_resolver_active | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_format_id | Unknown |  |
| currency_normalized | Unknown |  |
| customer_success_specialist_id | Unknown |  |
| date_format_id | Unknown |  |
| deal_probability | Unknown |  |
| deal_settings_advanced_mode | Unknown |  |
| deal_settings_budget_warning | Unknown |  |
| deal_settings_client_access | Unknown |  |
| deal_settings_create_open_hours_open_expenses | Unknown |  |
| deal_settings_deal_probability | Unknown |  |
| deal_settings_expense_approval | Unknown |  |
| deal_settings_time_approval | Unknown |  |
| deal_settings_tracking_type_id | Unknown |  |
| decimal_places_id | Unknown |  |
| delivered_budget_recognition_date_id | Unknown |  |
| domain_verified | Unknown |  |
| due_days | Unknown |  |
| email_domain_name | Unknown |  |
| email_key | Unknown |  |
| email_local_name | Unknown |  |
| email_sender_name | Unknown |  |
| email_type_id | Unknown |  |
| erector_id | Unknown |  |
| exchange_rate_provider_id | Unknown |  |
| expense_markup | Unknown |  |
| expense_settings_markup | Unknown |  |
| expense_settings_payment | Unknown |  |
| expense_settings_reimbursement | Unknown |  |
| facility_costs | Unknown |  |
| facility_costs_breakdown | Json |  |
| facility_costs_default | Unknown |  |
| facility_costs_normalized | Unknown |  |
| force_single_sign_on | Unknown |  |
| force_two_factor_auth | Unknown |  |
| invitation_token | Unknown |  |
| limited_service_types | Unknown |  |
| man_day_minutes | Unknown |  |
| metrics | Unknown |  |
| name | Unknown |  |
| number_format_id | Unknown |  |
| numbering_format_settings_budget_format | Unknown |  |
| numbering_format_settings_budget_scope | Unknown |  |
| numbering_format_settings_project_format | Unknown |  |
| numbering_format_settings_project_scope | Unknown |  |
| numbering_format_settings_purchase_order_format | Unknown |  |
| numbering_format_settings_purchase_order_scope | Unknown |  |
| numbering_format_settings_task_format | Unknown |  |
| numbering_format_settings_task_scope | Unknown |  |
| onboarding_progress | Unknown |  |
| open_budget_recognition_date_id | Unknown |  |
| organization_subscription_id | Unknown |  |
| organization_type_id | Unknown |  |
| overhead_amortization_period | Unknown |  |
| overhead_recalculation_day | Unknown |  |
| remove_branding | Unknown |  |
| revenue_recognition_type_id | Unknown |  |
| rounding_interval_id | Unknown |  |
| rounding_method_id | Unknown |  |
| sample_data_imported_at | Unknown |  |
| sample_data_reverted_at | Unknown |  |
| single_sign_on | Unknown |  |
| time_display_id | Unknown |  |
| time_format_id | Unknown |  |
| time_locking | Unknown |  |
| time_locking_interval | Unknown |  |
| time_locking_period_id | Unknown |  |
| time_locking_reminders | Unknown |  |
| time_reminder_at | Unknown |  |
| time_reminder_condition | Unknown |  |
| time_reminder_id | Unknown |  |
| time_reminders | Unknown |  |
| time_zone | Unknown |  |
| verified_at | Unknown |  |
| week_start_day_id | Unknown |  |
| weight | Unknown |  |

### comment_attachment

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

### comment

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown | FK |
| creator_id | Unknown | FK |
| deal_id | Unknown | FK |
| invoice_id | Unknown | FK |
| organization_id | Unknown | FK |
| person_id | Unknown | FK |
| task_id | Unknown | FK |
| body | Unknown |  |
| commentable_type | Unknown |  |
| created_at | Unknown |  |
| deleted_at | Unknown |  |
| discussion_id | Unknown |  |
| draft | Unknown |  |
| edited_at | Unknown |  |
| hidden | Unknown |  |
| pinned_at | Unknown |  |
| pinned_by_id | Unknown |  |
| purchase_order_id | Unknown |  |
| reactions | Json |  |
| updated_at | Unknown |  |
| version_number | Unknown |  |

### invoice_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| invoice_id | Unknown | PK, FK |
| tag_name | Unknown |  |

### invoice_attribution

| Column | Type | Keys |
| --- | --- | --- |
| invoice_attribution_id | Unknown | PK |
| invoice_id | Unknown | PK, FK |

### invoice

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| bill_from_id | Unknown | FK |
| bill_to_id | Unknown | FK |
| company_id | Unknown | FK |
| creator_id | Unknown | FK |
| document_type_id | Unknown | FK |
| organization_id | Unknown | FK |
| parent_invoice_id | Unknown | FK |
| subsidiary_id | Unknown | FK |
| amount | Unknown |  |
| amount_credited | Unknown |  |
| amount_credited_default | Unknown |  |
| amount_credited_normalized | Unknown |  |
| amount_credited_with_tax | Unknown |  |
| amount_credited_with_tax_default | Unknown |  |
| amount_credited_with_tax_normalized | Unknown |  |
| amount_default | Unknown |  |
| amount_normalized | Unknown |  |
| amount_paid | Unknown |  |
| amount_paid_default | Unknown |  |
| amount_paid_normalized | Unknown |  |
| amount_tax | Unknown |  |
| amount_tax_default | Unknown |  |
| amount_tax_normalized | Unknown |  |
| amount_unpaid | Unknown |  |
| amount_unpaid_default | Unknown |  |
| amount_unpaid_normalized | Unknown |  |
| amount_with_tax | Unknown |  |
| amount_with_tax_default | Unknown |  |
| amount_with_tax_normalized | Unknown |  |
| amount_written_off | Unknown |  |
| amount_written_off_default | Unknown |  |
| amount_written_off_normalized | Unknown |  |
| attachment_id | Unknown |  |
| company_reference_id | Unknown |  |
| created_at | Unknown |  |
| credited | Unknown |  |
| currency | Unknown |  |
| currency_default | Unknown |  |
| currency_normalized | Unknown |  |
| custom_field_attachment | Json |  |
| custom_field_people | Json |  |
| custom_fields | Unknown |  |
| deleted_at | Unknown |  |
| delivery_on | Unknown |  |
| discount | Unknown |  |
| email_key | Unknown |  |
| exchange_date | Unknown |  |
| exchange_rate | Unknown |  |
| export_id | Unknown |  |
| export_integration_type_id | Unknown |  |
| export_invoice_url | Unknown |  |
| exported | Unknown |  |
| exported_at | Unknown |  |
| finalized_on | Unknown |  |
| invoice_type_id | Unknown |  |
| invoiced_on | Unknown |  |
| last_activity_at | Unknown |  |
| line_item_tax | Unknown |  |
| note | Unknown |  |
| note_interpolated | Unknown |  |
| number | Unknown |  |
| paid_on | Unknown |  |
| pay_on | Unknown |  |
| pay_on_relative | Unknown |  |
| purchase_order_number | Unknown |  |
| sample_data | Unknown |  |
| sent_on | Unknown |  |
| subject | Unknown |  |
| tax_1_name | Unknown |  |
| tax_1_value | Unknown |  |
| tax_2_name | Unknown |  |
| tax_2_value | Unknown |  |
| updated_at | Unknown |  |

## Relationships

- workflow_status(workflow_id) → workflow(id)
- workflow_status(organization_id) → organization(id)
- booking(canceler_id) → people(id)
- booking(event_id) → event(id)
- booking(service_id) → service(id)
- booking(approver_id) → people(id)
- booking(person_id) → people(id)
- booking(organization_id) → organization(id)
- booking(updater_id) → people(id)
- booking(rejecter_id) → people(id)
- booking(origin_id) → booking(id)
- booking(creator_id) → people(id)
- project(project_manager_id) → people(id)
- project(organization_id) → organization(id)
- project(last_actor_id) → people(id)
- project(company_id) → company(id)
- project(workflow_id) → workflow(id)
- line_item(expense_id) → expense(id)
- line_item(service_id) → service(id)
- line_item(organization_id) → organization(id)
- line_item(invoice_id) → invoice(id)
- line_item(service_type_id) → service_type(id)
- payment(organization_id) → organization(id)
- payment(invoice_id) → invoice(id)
- workflow(organization_id) → organization(id)
- expense(deal_id) → deal(id)
- expense(service_id) → service(id)
- expense(approver_id) → people(id)
- expense(person_id) → people(id)
- expense(organization_id) → organization(id)
- expense(rejecter_id) → people(id)
- expense(service_type_id) → service_type(id)
- expense(creator_id) → people(id)
- custom_field_option(organization_id) → organization(id)
- custom_field_option(custom_field_id) → custom_field(id)
- subsidiary(organization_id) → organization(id)
- subsidiary(bill_from_id) → contact_entry(id)
- user_beta_feature(users_id) → users(id)
- task_todo_assignee(todo_assignee_id) → people(id)
- task_todo_assignee(task_id) → task(id)
- task_repeat_on_weekday(task_id) → task(id)
- task_attachment(task_id) → task(id)
- task_tag(task_id) → task(id)
- task(repeated_task_id) → task(id)
- task(task_list_id) → task_list(id)
- task(organization_id) → organization(id)
- task(last_actor_id) → people(id)
- task(assignee_id) → people(id)
- task(project_id) → project(id)
- task(creator_id) → people(id)
- task(parent_task_id) → task(id)
- task(workflow_status_id) → workflow_status(id)
- deal_membership(deal_id) → deal(id)
- deal_tag(deal_id) → deal(id)
- deal(subsidiary_id) → subsidiary(id)
- deal(lost_reason_id) → lost_reason(id)
- deal(responsible_id) → people(id)
- deal(document_type_id) → document_type(id)
- deal(organization_id) → organization(id)
- deal(project_id) → project(id)
- deal(company_id) → company(id)
- deal(creator_id) → people(id)
- deal(deal_status_id) → deal_status(id)
- deal(contact_id) → people(id)
- company_invoice_email_recipient_to(company_id) → company(id)
- company_invoice_email_recipient_cc(company_id) → company(id)
- company_invoice_email_recipient_bcc(company_id) → company(id)
- company_tag(company_id) → company(id)
- company_contact_phone(company_id) → company(id)
- company_contact_website(company_id) → company(id)
- company_contact_address(company_id) → company(id)
- company(organization_id) → organization(id)
- task_list(organization_id) → organization(id)
- task_list(project_id) → project(id)
- event(organization_id) → organization(id)
- deal_status(pipeline_id) → pipeline(id)
- deal_status(organization_id) → organization(id)
- document_type(organization_id) → organization(id)
- document_type(subsidiary_id) → subsidiary(id)
- time_entry_version_date(time_entry_version_id) → time_entry_version(id)
- time_entry_version_time(time_entry_version_id) → time_entry_version(id)
- time_entry_version_person(person_id) → people(id)
- time_entry_version_person(time_entry_version_id) → time_entry_version(id)
- time_entry_version_creator(creator_id) → people(id)
- time_entry_version_creator(time_entry_version_id) → time_entry_version(id)
- time_entry_version_approved_at(time_entry_version_id) → time_entry_version(id)
- time_entry_version_billing_point(time_entry_version_id) → time_entry_version(id)
- time_entry_version_correction(time_entry_version_id) → time_entry_version(id)
- time_entry_version_started_at(time_entry_version_id) → time_entry_version(id)
- time_entry_version_approver(approver_id) → people(id)
- time_entry_version_approver(time_entry_version_id) → time_entry_version(id)
- time_entry_version_rejected_at(time_entry_version_id) → time_entry_version(id)
- time_entry_version_rejector(rejector_id) → people(id)
- time_entry_version_rejector(time_entry_version_id) → time_entry_version(id)
- time_entry_version_rejected_reason(time_entry_version_id) → time_entry_version(id)
- time_entry_version(organization_id) → organization(id)
- time_entry_version(creator_id) → people(id)
- contact_entry(organization_id) → organization(id)
- contact_entry(company_id) → company(id)
- contact_entry(person_id) → people(id)
- contact_entry(invoice_id) → invoice(id)
- contact_entry(subsidiary_id) → subsidiary(id)
- custom_field(organization_id) → organization(id)
- custom_field(project_id) → project(id)
- people_tag(people_id) → people(id)
- people_contact_phone(people_id) → people(id)
- people_contact_email(people_id) → people(id)
- people_contact_address(people_id) → people(id)
- people(subsidiary_id) → subsidiary(id)
- people(manager_id) → people(id)
- people(organization_id) → organization(id)
- people(company_id) → company(id)
- time_entry(task_id) → task(id)
- time_entry(service_id) → service(id)
- time_entry(approver_id) → people(id)
- time_entry(person_id) → people(id)
- time_entry(organization_id) → organization(id)
- time_entry(updater_id) → people(id)
- time_entry(last_actor_id) → people(id)
- time_entry(rejecter_id) → people(id)
- time_entry(creator_id) → people(id)
- pipeline(organization_id) → organization(id)
- pipeline(updater_id) → people(id)
- pipeline(creator_id) → people(id)
- lost_reason(organization_id) → organization(id)
- service_type_assignee(assignee_id) → people(id)
- service_type_assignee(service_type_id) → service_type(id)
- service_type(organization_id) → organization(id)
- service(deal_id) → deal(id)
- service(origin_service_id) → service(id)
- service(person_id) → people(id)
- service(organization_id) → organization(id)
- service(service_type_id) → service_type(id)
- service(initial_service_id) → service(id)
- organization_addon(organization_id) → organization(id)
- organization_working_hour(organization_id) → organization(id)
- organization(owner_id) → people(id)
- organization(company_id) → company(id)
- comment_attachment(comment_id) → comment(id)
- comment(deal_id) → deal(id)
- comment(task_id) → task(id)
- comment(person_id) → people(id)
- comment(organization_id) → organization(id)
- comment(invoice_id) → invoice(id)
- comment(company_id) → company(id)
- comment(creator_id) → people(id)
- invoice_tag(invoice_id) → invoice(id)
- invoice_attribution(invoice_id) → invoice(id)
- invoice(subsidiary_id) → subsidiary(id)
- invoice(bill_to_id) → contact_entry(id)
- invoice(document_type_id) → document_type(id)
- invoice(organization_id) → organization(id)
- invoice(bill_from_id) → contact_entry(id)
- invoice(parent_invoice_id) → invoice(id)
- invoice(company_id) → company(id)
- invoice(creator_id) → people(id)
