Harvest is a cloud-based time tracking and invoice generation software designed for businesses of all sizes. Harvest is easy to integrate with the other software for your team to track time effortlessly. Businesses can use Harvest for time tracking, expense tracking, project management, billable hours tracking, task assignment, invoicing, scheduling, and more.
Harvest authenticates API requests from Hevo to access your account data with HTTP Basic authentication.
Prerequisites
Obtaining the Account ID and Access Token
Hevo uses an access token to authenticate itself on your Harvest account.
Note: You must log in as an Admin user to perform these steps.
Perform the following steps to create the access token:
-
Log in to your Harvest account.
-
On the Overview page, click Settings at the top right corner.
-
In the left navigation pane, click Integrations.
-
On the Integrations page, scroll down to the bottom and click View all OAuth2 API clients.
-
On the Developers page, do one of the following:
You can use these credentials while configuring your Hevo Pipeline.
Configuring Harvest as a Source
Perform the following steps to configure Harvest as the Source in your Pipeline:
-
Click PIPELINES in the Navigation Bar.
-
Click + CREATE PIPELINE in the Pipelines List View.
-
On the Select Source Type page, select Harvest.
-
On the Configure your Harvest Source page, specify the following:
-
Pipeline Name: A unique name for the Pipeline, not exceeding 255 characters.
-
Access Token: The access token that you copied from your Harvest account.
-
Account ID: The ID of the account from which data is to be ingested.
-
Click TEST & CONTINUE.
-
Proceed to configuring the data ingestion and setting up the Destination.
Data Replication
For Teams Created |
Default Ingestion Frequency |
Minimum Ingestion Frequency |
Maximum Ingestion Frequency |
Custom Frequency Range (in Hrs) |
Before Release 2.21 |
1 Hr |
1 Hr |
24 Hrs |
1-24 |
After Release 2.21 |
6 Hrs |
30 Mins |
24 Hrs |
1-24 |
Note: The custom frequency must be set in hours as an integer value. For example, 1, 2, or 3 but not 1.5 or 1.75.
-
Historical Data: In the first run of the Pipeline, Hevo ingests all the existing data for the selected objects from your Harvest account and loads it to the Destination.
-
Incremental Data: Once the historical load is complete, data is ingested as per the ingestion frequency in Full Load or Incremental mode, as applicable.
Schema and Primary Keys
Hevo uses the following schema to upload the records in the Destination database:
Data Model
The following is the list of tables (objects) that are created at the Destination when you run the Pipeline:
Object |
Description |
Client |
Contains details about the customers in your Harvest account. |
Client Contacts |
Contains the details of the contacts associated with your client accounts. |
Invoices |
Contains details about the sale of products and services offered by you. An invoice enumerates all the charges, adjustments, payments, and discounts and taxes associated with the sale. |
Invoice Item Categories |
Contains the details of the groups associated with the items in the invoice. |
Estimates |
Contains the details of the proposals for a financial transaction sent to the clients, for goods or services proposed to be sold. |
Estimate Item Categories |
Contains the details of the categories associated with the estimated items. |
Expenses |
Contains the details of the amount spent by a client for buying a service or a product. |
Expense Categories |
Contains the details of the groups created to track the spending and to organize the expenses. |
Projects |
Contains the details of all the tasks associated with the client. |
Project User Assignments |
Contains the details of all the users associated with each project in your Harvest account. |
Project Task Assignments |
Contains the details of task assignments for each user associated with the projects in your Harvest account. It helps to determine the total billable hours for a particular project. |
Roles |
Contains the details of all the privileges and profiles specifying what an agent can see and do within their Harvest account. |
Tasks |
Contains the list of different operations performed within projects in Harvest. |
Time Entries |
Contains the details of the time entries submitted by users to record the time spent on their tasks. |
Users |
Contains the details of all the users that have access to the Harvest account. |
Read the detailed Hevo documentation for the following related topics:
Source Considerations
-
Pagination: Each API response for each Harvest object fetches one page with up to 100 records.
-
Rate Limit: Harvest imposes a limit of 100 API calls per 15 minutes. If the limit is exceeded, Hevo defers the ingestion till the limits reset.
Limitations
-
Hevo does not capture information for records deleted in the Source objects.
-
Hevo does not provide you with the option to select the historical sync duration for loading historical data. All the historical data in your Harvest account is loaded.
-
Hevo does not load an Event into the Destination table if its size exceeds 128 MB, which may lead to discrepancies between your Source and Destination data. To avoid such a scenario, ensure that each row in your Source objects contains less than 100 MB of data.
Revision History
Refer to the following table for the list of key updates made to this page:
Date |
Release |
Description of Change |
Jan-07-2025 |
NA |
Updated the Limitations section to add information on Event size. |
Nov-05-2024 |
NA |
Updated section, Obtaining the Account ID and Access Token as per the latest Harvest UI. |
Mar-05-2024 |
2.21 |
Updated the ingestion frequency table in the Data Replication section. |
Sep-21-2022 |
1.98 |
New document. |