Harvest

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

  • An active Harvest account from which data is to be ingested.

  • The Access Token is available to authenticate Hevo on your Harvest account.

  • You are logged in as an Admin user, to obtain the access token. Else, you can obtain the access token from your administrator. Read User Types to know about the different types of user accounts and permissions related to them in Harvest.


Obtaining the Access Token

Hevo uses an access token to authenticate itself on your Harvest account.

Perform the following steps to create the access token:

  1. Log in to your Harvest account.

  2. In the Overview page, click Settings at the top right corner.

    Settings

  3. In the Account Settings page, scroll down to the Integrations section, and click View all OAuth2 API clients.

    Integrations

  4. In the Developers page, do one of the following:

    • Create an access token:

      1. Click Create new personal access token to create a new access token.

        Create new personal token

      2. In the New personal access token page, specify a unique name for this access token, and click Create personal access token.

        Peronal token

      3. From the Your personal access token section, copy the token and account ID and save it securely like any other password.

        Access token

    • Use an existing access token:

      1. In the Personal access tokens section, click on the existing access token name to reveal the access token.

        Existing token

      2. Copy the access token and account ID and save it securely like any other password.

      You have successfully obtained your access token. Use this token for creating Hevo Pipelines.


Configuring Harvest as a Source

Perform the following steps to configure Harvest as the Source in your Pipeline:

  1. Click PIPELINES in the Asset Palette.

  2. Click + CREATE in the Pipelines List View.

  3. In the Select Source Type page, select Harvest.

  4. In the Configure your Harvest Source page, specify the following:

    Source config

    • 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.

  5. Click TEST & CONTINUE.

  6. Proceed to configuring the data ingestion and setting up the Destination.


Data Replication

Default Pipeline Frequency Minimum Pipeline Frequency Maximum Pipeline Frequency Custom Frequency Range (Hrs)
1 Hr 1 Hr 24 Hrs 1-24

Note: You must set the custom frequency in hours as an integer value. For example, 1, 2, 3 but not 1.5 or 1.75.

Hevo fetches all the objects in Full Load mode in each run of the Pipeline.

  • Historical Data: In the first run of the Pipeline, Hevo ingests historical data for all the objects on the basis of the historical sync duration selected at the time of creating the Pipeline and loads it to the Destination.

  • Incremental Data: Once the historical load is completed, all new and updated records are synchronized with your Destination according to the Pipeline frequency.


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 a maximum of 100 API calls per 15 minutes to ensure that their system remains stable for usage by all users.


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.

Limitations

  1. Hevo does not capture information for records deleted in the Source objects.

  2. 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.


Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Sep-21-2022 1.98 New document.
Last updated on 21 Sep 2022

Tell us what went wrong