Harvest
Harvest is a convenient cloud-based time tracking and invoicing tool, which has been designed for businesses of all sizes.
Data integration: Skyvia supports importing data to and from Harvest, exporting Harvest data to CSV files, replicating Harvest data to relational databases and synchronizing Harvest data with other cloud apps and relational databases.
Backup: Skyvia Backup does not support Harvest.
Query: Skyvia Query supports Harvest.
Establishing Connection
To create a connection with Harvest, log in to Harvest via OAuth authentication in Skyvia.
Creating Connection
To create a Harvest connection, perform the following steps:
- Click Sign In with Harvest
-
In the opened window, sign in with your Harvest credentials or sign In with Google.
- In the next window, click Authorize App to allow Skyvia to access your Harvest account.
-
The authentication token is generated.
Connector Specifics
Object Peculiarities
*Reports* Objects
The objects with the *Reports* part in their names, such as ExpenseReports_Categories, ExpenseReports_Clients, ExpenseReports_Projects, ExpenseReports_Teams, TimeReports_Clients, TimeReports_Projects, TimeReports_Tasks, TimeReports_Teams, UninvoicedReport are read-only. To get data from these objects, you must set filters by from and to fields. The specified time span must not exceed 365 days.
Invoices and Estimates
The LineItems field in the Invoices and Estimates objects stores complex structured data in JSON format. You can use our Nested Objects mapping feature in the Import integrations to insert or update the nested values in such fields. Select the Nested Objects checkbox in Import integration to enable this feature.
InvoiceMessages and EstimateMessages
The Recipients field in the InvoiceMessages and EstimateMessages objects stores complex structured data in JSON format. You can use our Nested Objects mapping feature in the Import integrations to insert or update the nested values in such fields. Select the Nested Objects checkbox in Import integration to enable this feature.
Filtering Specifics
Harvest supports the following native filters:
Object | Operator | Field |
---|---|---|
Contacts | = |
ClientId |
> , >= |
UpdatedDate | |
Clients | = |
IsActive |
> , >= |
UpdatedDate | |
Invoices | = |
State, ClientId |
> , >= |
UpdatedDate | |
Projects | = |
ClientId, IsActive |
> , >= |
UpdatedDate | |
Estimates | = |
ClientId, State |
> , >= |
UpdatedDate | |
Tasks | = |
IsActive |
> , >= |
UpdatedDate | |
Expenses | = |
ClientId, UserId, ProjectId, IsBilled |
> , >= |
UpdatedDate | |
> , >= , < , <= |
SpentDate | |
TimeEntries | = |
ClientId, UserId, ProjectId, TaskId, ExternalReferenceId, IsBilled, IsRunning |
> , >= , < , <= |
SpentDate | |
> , >= |
UpdatedDate | |
InvoiceItemCategories | > , >= |
UpdatedDate |
Use these filters to improve performance and save API calls. You can use filters with other fields or operators, but it may increase API call usage.
Incremental Replication and Synchronization
Skyvia supports Incremental Replication for the following Harvest objects: Clients, Contacts, EstimateItemCategories, EstimateMessages, Estimates, ExpensesCategories, Expenses, InvoiceItemCategories, InvoiceMessages, InvoicePayments, Invoices, Projects, ProjectTaskAssigment, ProjectUserAssigment, Roles, Tasks, TimeEntries, UserBillableRates, UserCostRates, Users.
Skyvia supports Synchronization for the following Harvest objects: Clients, Contacts, EstimateItemCategories, Estimates, ExpensesCategories, Expenses, Invoices, InvoiceItemCategories, Projects, ProjectTaskAssigment, ProjectUserAssigment, Roles, Tasks, TimeEntries, Users.
DML Operations Support
Operation | Object |
---|---|
INSERT, UPDATE, DELETE | Clients, Contacts, EstimateItemCategories, Estimates, ExpensesCategories, Expenses, InvoiceItemCategories, Invoices, Projects, ProjectTaskAssigment, ProjectUserAssigment, Roles, Tasks, TimeEntries, Users |
INSERT, DELETE | InvoiceMessages, InvoicePayments, EstimateMessages |
INSERT | UserBillableRates, UserCostRates |
Stored Procedures
Skyvia represents part of the supported Harvest features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.
ChangeEventTypeInvoice
To change an invoice message event type, use the command
call ChangeEventTypeInvoice(:invoice_id,:event_type)
PARAMETER NAME | DESCRIPTION |
---|---|
Invoice_Id | The invoice identifier |
Event_type | The type of invoice event that occurred with the message. Valid values are draft, send, close, re-open |
ChangeEventTypeEstimate
To change an estimate event type, use the command
call ChangeEventTypeEstimate(:estimate_id,:event_type)
PARAMETER NAME | DESCRIPTION |
---|---|
Estimate_Id | The invoice identifier |
Event_type | The type of estimate event that occurred with the message: send, accept, decline, re-open |
RestartTimeEntry
Use the following command to restart a time entry
call RestartTimeEntry(:time_entry_id)
StopTimeEntry
Use the following command to stop a time entry
call StopTimeEntry(:time_entry_id)
Supported Actions
Skyvia supports all the common actions for Harvest.