Release Status Released Availability Premium
Status Page Harvest Status Page Default Historical Sync 1 year
Whitelist Tables/Columns Unsupported/Unsupported Default Replication Frequency 30 minutes
Full Table Endpoints 0 Incremental Endpoints 13
Destination Incompatibilities None

Connecting Harvest

Connecting Stitch to Harvest is a four-step process:

  1. Add Harvest as a Stitch data source
  2. Define the Historical Sync
  3. Define the Replication Frequency
  4. Authorize Stitch to access Harvest

Add Harvest as a Stitch Data Source

  1. On the Stitch Dashboard page, click the Add an Integration button.
  2. Click the Harvest icon.

  3. Enter a name for the integration. This is the name that will display on the for the integration; it’ll also be used to create the schema in your data warehouse.

    For example, the name “Stitch Harvest” would create a schema called stitch_harvest in the data warehouse. This schema is where all the tables for this integration will be stored.

  4. Enter your Harvest account name in the Account Name field. For example: if your Harvest account URL is stitch.harvestapp.com, you’d enter stitch in this field.

Define the Historical Sync

The Sync Historical Data setting will define the starting date for your Harvest integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to sync data beyond Harvest’s default setting of 1 year. For a detailed look at historical syncs, check out the Syncing Historical SaaS Data article.

Define the Replication Frequency

The Replication Frequency controls how often Stitch will attempt to replicate data from your Harvest integration. By default the frequency is set to 30 minutes, but you can change it to better suit your needs.

Before setting the Replication Frequency, note that the more often Harvest is set to replicate, the higher the number of replicated rows.

Additionally, the number of rows Stitch replicates is impacted by:

  • The Replication Methods used by this integration’s tables. Refer to the Schema section for info on how specifc tables are replicated.

To help prevent overages, we recommend setting the integration to replicate less frequently. For example: every 6 hours instead of every 30 minutes.

After selecting a Replication Frequency, click Save Integration.

Authorize Stitch to Access Harvest

Lastly, you’ll be directed to Harvest’s website to complete the setup.

  1. Enter your Harvest credentials and click Create Integration.
  2. A screen asking for authorization to Harvest will display. Note that Stitch will only ever read your data.
  3. Click Connect.
  4. After the authorization process successfully completes, you’ll be redirected back to Stitch.
  5. Click All Done.

Harvest’s Intial Sync

After you finish setting up Harvest, you might see its Sync Status show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial sync for the integration. This may take some time to complete.


Harvest Schema

Stitch's Harvest integration includes these tables:


clients

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The clients table contains info about the clients in your Harvest account.

Table Info & Attributes

clients Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • name

  • active

  • currency

  • highrise_id

  • cache_version

  • updated_at

  • created_at

  • currency_symbol

  • details

  • default_invoice_timeframe

  • last_invoice_kind

contacts

Replication Method: ncremental
Primary Key: id
Contains Nested Structures?: No

The contacts table contains info about the client contacts in your Harvest account.

Table Info & Attributes

contacts Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • client_id

  • first_name

  • last_name

  • email

  • phone_office

  • phone_mobile

  • fax

  • title

  • updated_at

  • created_at

expense_categories

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The expense_categories table contains info about the expense categories in your Harvest account.

Table Info & Attributes

expense_categories Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • name

  • unit_name

  • unit_price

  • created_at

  • updated_at

  • deactivated

expenses

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The expenses table contains info about the expenses recorded in your Harvest account.

Table Info & Attributes

expenses Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • total_cost

  • units

  • notes

  • created_at

  • updated_at

  • project_id

  • expense_category_id

  • user_id

  • spent_at

  • is_closed

  • notes

  • invoice_id

  • billable

  • company_id

  • has_receipt

  • receipt_url

  • is_locked

invoice_item_categories

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The invoice_item_categories table contains info about the various categories that can be applied to invoice line items. Harvest includes two non-removable categories by default for the hours and expenses you bill.

Table Info & Attributes

invoice_item_categories Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • name

  • created_at

  • updated_at

  • use_as_service

  • use_as_expense

invoice_messages

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The invoice_messages table contains info about invoice messages, or emails sent to clients about invoices.

Table Info & Attributes

invoice_messages Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • invoice_id

  • send_me_a_copy

  • body

  • created_at

  • sent_by

  • sent_by_email

  • thank_you

  • subject

  • include_pay_pal_link

  • updated_at

  • sent_from_email

  • sent_from

  • send_reminder_on

  • full_recipient_list

invoice_payments

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The invoice_payments table contains info about the payments applied to invoices in your Harvest account.

Table Info & Attributes

invoice_payments Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • invoice_id

  • amount

  • paid_at

  • created_at

  • notes

  • recorded_by

  • recorded_by_email

  • paypal_transaction_id

  • authorization

  • payment_gateway_id

  • updated_at

invoices

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The invoices table contains info about the invoices in your Harvest account.

Table Info & Attributes

invoices Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • client_id

  • period_start

  • period_end

  • number

  • issued_at

  • due_at

  • amount

  • currency

  • state

  • notes

  • purchase_order

  • due_amount

  • due_at_human_format

  • created_at

  • updated_at

  • tax

  • tax_amount

  • subject

  • recurring_invoice_id

  • tax2

  • tax2_amount

  • client_key

  • estimate_id

  • discount

  • discount_amount

  • retainer_id

  • created_by_id

  • client_name

people

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The people table contains info about the people - or users - in your Harvest account. Note that these are internal users - info about external users, or clients, is in the clients table.

Table Info & Attributes

people Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • email

  • created_at

  • is_admin

  • first_name

  • last_name

  • timezone

  • is_contractor

  • telephone

  • is_active

  • has_access_to_all_future_projects

  • default_hourly_rate

  • department

  • wants_newsletter

  • updated_at

  • cost_rate

  • identity_account_id

  • indentity_user_id

project_tasks

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The project_tasks table contains info about the tasks assigned to projects.

Table Info & Attributes

project_tasks Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • project_id

  • task_id

  • billable

  • deactivated

  • hourly_rate

  • budget

  • id

  • created_at

  • updated_at

  • estimate

project_users

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The project_users table contains info about the users assigned to projects.

Table Info & Attributes

project_users Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • user_id

  • project_id

  • is_project_manager

  • deactivated

  • hourly_rate

  • id

  • budget

  • created_at

  • updated_at

  • estimate

projects

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The projects table contains info about the projects in your Harvest account.

Table Info & Attributes

projects Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • client_id

  • name

  • code

  • active

  • billable

  • bill_by

  • hourly_rate

  • budget

  • budget_by

  • notify_when_over_budget

  • over_budget_notification_percetange

  • over_budget_notified_at

  • show_budget_to_all

  • created_at

  • updated_at

  • starts_on

  • ends_on

  • estimate

  • estimate_by

  • hint_earliest_record_at

  • hint_latest_record_at

  • notes

  • cost_budget

  • cost_budget_include_expenses

tasks

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The tasks table contains info about the tasks in your Harvest account.

Table Info & Attributes

tasks Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • name

  • billable_by_default

  • created_at

  • updated_at

  • is_default

  • default_hourly_rate

  • deactivated

time_entries

Replication Method: Incremental
Primary Key: id
Contains Nested Structures?: No

The time_entries table contains info about the time entries in your Harvest account.

Table Info & Attributes

time_entries Attributes

While we try to include everything Harvest has here, this may not be a full list of attributes. Refer to Harvest's documentation for a full list and description of each attribute.

  • ID (id)

  • notes

  • spent_at

  • hours

  • user_id

  • project_id

  • task_id

  • created_at

  • updated_at

  • adjustment_record

  • timer_started_at

  • is_closed

  • is_billed

  • hours_with_timer



Questions? Feedback?

Did this article help? If you have questions or feedback, please reach out to us.