Harvest¶
Getting Started with Harvest¶
The Harvest modules allow you to monitor, create, edit, or delete clients, contacts, projects, invoices, expenses, tasks, time entries and users in your Harvest account.
Prerequisites
- A Harvest account
In order to use Harvest with Ibexa Connect, it is necessary to have a Harvest account. If you do not have one, you can create a Harvest account at www.getharvest.com/signup.
Connecting Harvest to Ibexa Connect¶
To connect your Harvest account to Ibexa Connect follow the general instructions for Connecting to services.
After you click the Continue button, Ibexa Connect will redirect you to the Harvest website where you will be prompted to grant Ibexa Connect access to your account.
Confirm the dialog by clicking the Authorize App button.
Clients¶
Watch Clients¶
Triggers when a new client is added.
Watch | Select whether you want to watch all changes or newly added clients only. |
Limit | Set the maximum number of clients Ibexa Connect will return during one execution cycle. |
List Clients¶
Returns a list of your clients. The clients are returned sorted by creation date, with the most recently created clients appearing first.
Number of Clients to Return | Set the maximum number of clients Ibexa Connect will return during one execution cycle. |
Active or Inactive | Select whether you want to return only active, only inactive, or both clients. |
Updated Since | Returns only clients that have been updated since the entered date and time. The list of supported date and time formats. |
Get a Client¶
Retrieves details about a desired client.
Client ID | Map or select the Client ID of the client you want to retrieve information about. |
Create a Client¶
Creates a new client.
Name | Enter the name of the client. |
Address | Enter the client’s physical address. May include new line characters. |
Currency | ISO 4217 currency code. Example: USD . If not provided, the company’s currency will be used. List of supported currencies. |
Active | Set whether the client is active or archived. |
Edit a Client¶
Updates the specific client by setting the provided values.
Client ID | Select or map the Client ID of the client you want to update. |
Name | Enter the new name of the client. |
Address | Enter the client’s new physical address. May include new line characters. |
Currency | ISO 4217 currency code. Example: USD . If not provided, the company’s currency will be used. List of supported currencies. |
Active | Set whether the client is active or archived. |
Delete a Client¶
Deletes a selected client.
Client ID | Select or map the Client ID of the client you want to delete. |
Contacts¶
Watch Contacts¶
Triggers when a new contact is created.
Client ID |
Appears when the Filter by Client option is enabled. Allows you to return contacts that belong to the client with the provided Client ID. |
Watch |
Select whether you want to watch all changes or newly added contacts only. |
Limit |
Set the maximum number of contacts Ibexa Connect will return during one execution cycle. |
List Contacts¶
Returns a list of your contacts. The contacts are returned sorted by creation date, with the most recently created contacts appearing first.
Number of Contacts to Return | Set the maximum number of contacts Ibexa Connect will return during one execution cycle. |
Client ID | Map or select the client ID to return contacts belonging to that client only. |
Updated Since | Returns only contacts that have been updated since the entered date and time. the list of supported date and time formats. |
Get a Contact¶
Retrieves the details of a specified contact.
Client ID | Map or select the Contact ID of the contact you want to retrieve information about. |
Create a Contact
Creates a new contact.
Client ID | Map or select the ID of the client associated with this contact. |
First Name | Enter the client's first name. |
Last Name | Enter the client's last name. |
Title | Enter the title of the contact. |
Enter the contact’s email address. | |
Office Number | Enter the contact’s office phone number. |
Mobile Number | Enter the contact’s mobile phone number. |
Fax | Enter the contact’s fax number. |
Edit a Contact¶
Updates a specified contact.
Contact ID | Select or map the contact you want to update. |
Client ID | Map or select the ID of the client associated with this contact. |
First Name | Enter the client's first name. |
Last Name | Enter the client's last name. |
Title | Enter the title of the contact. |
Enter the contact’s email address. | |
Office Number | Enter the contact’s office phone number. |
Mobile Number | Enter the contact’s mobile phone number. |
Fax | Enter the contact’s fax number. |
Delete a Contact¶
Deletes a specified contact.
Contact ID | Map or select the contact you want to delete. |
Projects¶
Watch Projects¶
Triggers when a new project is created.
Watch | Select whether you want to watch all changes or newly added projects only. |
Limit | Set the maximum number of projects Ibexa Connect will return during one execution cycle. |
List Projects¶
Returns a list of projects in your Harvest account.
Number of Projects to Return | Set the maximum number of projects Ibexa Connect will return during one execution cycle. |
Active or inactive | Select whether you want to return only active, only inactive, or both project statuses. |
Client ID | Map or select the client ID to return projects belonging to that client only. |
Updated Since | Returns only projects that have been updated since the entered date and time. the list of supported date and time formats. |
Get a Project¶
Retrieves details about a specified project.
Project ID | Map or select the Project ID of the project you want to retrieve information about. |
Create a Project¶
Creates a new project.
Client ID |
Select or map the ID of the client to associate this project with. |
Name |
Enter the name of the project. |
Bill by |
Enter the method by which the project is invoiced. |
Budget by |
Select the method by which the project is budgeted. |
Notes |
Enter notes for the project. You can see notes when creating an invoice for Fixed Fee projects. |
Code |
Enter the project code. The Project Code helps identify your project. You can use any combo of numbers or letters. |
Active |
Select whether the project is active or archived. |
Edit a Project¶
Project ID |
Select or map the ID of the project you want to update. |
New name |
Enter the name of the project. |
Bill by |
Enter the method by which the project is invoiced. |
Budget by |
Select the method by which the project is budgeted. |
Notes |
Enter notes for the project. You can see notes when creating an invoice for Fixed Fee projects. |
Client ID |
Select or map the ID of the client to associate this project with. |
Code |
Enter the project code. The Project Code helps identify your project. You can use any combo of numbers or letters. |
Active |
Select whether the project is active or archived. |
Delete a Project¶
Deletes a project and any time entries or expenses tracked to it.
Note
Invoices associated with the project will not be deleted. If you don’t want the project’s time entries and expenses to be deleted, you should archive the project using the Edit a Project module.
Project ID | Map or select the project you want to delete. |
List Task Assignments¶
Returns a list of your task assignments. The task assignments are returned sorted by creation date, with the most recently created task assignments appearing first.
Number of Task Assignments to Return | Set the maximum number of task assignments Ibexa Connect will return during one execution cycle. |
Project ID | Map or select the project ID you want to filter results by. |
Active or inactive | Select whether you want to return only active, only inactive, or both task assignment statuses. |
Updated Since | Returns only task assignments that have been updated since the entered date and time. The list of supported date and time formats. |
Get a Task Assignment¶
Retrieves details about a specified task assignment.
Project ID | Enter or map the ID of the project associated with the task assignment you want to retrieve. |
Task Assignment ID | Enter (map) the ID of the task assignment you want to retrieve information about. |
List User Assignments¶
Returns a list of your project's user assignments, active and archived.
Number of User Assignments to Return | Set the maximum number of user assignments Ibexa Connect will return during one execution cycle. |
Project ID | Map or select the project ID you want to filter results by. |
User ID | Returns only user assignments belonging to the user with the entered ID. |
Active or inactive | Select whether you want to return only active, only inactive, or both user assignment statuses. |
Updated Since | Returns only user assignments that have been updated since the entered date and time. the list of supported date and time formats. |
Invoices¶
Watch Invoices¶
Triggers when a new invoice is created.
Client ID |
Appears when the Filter by Client option is enabled. Allows you to return invoices that belong to the client with the provided Client ID. |
Watch |
Select whether you want to watch all changes or newly added invoices only. |
Limit |
Set the maximum number of invoices Ibexa Connect will return during one execution cycle. |
List Invoices¶
Returns a list of your invoices. The invoices are returned sorted by issue date, with the most recently issued invoices appearing first.
Number of Invoices to Return | Set the maximum number of invoices Ibexa Connect will return during one execution cycle. |
Updated Since | Returns only invoices that have been updated since the entered date and time. the list of supported date and time formats. |
Client ID | Returns only user assignments belonging to the client with the entered ID. |
Project ID | Map or select the project ID you want to filter results by. |
From | Enter the date in order to return invoices with an issue_date on or after the entered date. the list of supported date and time formats. |
To | Enter the date in order to return invoices with an issue_date on or before the entered date. |
State | Select the state of the invoices you want to return. |
Get an Invoice¶
Retrieves details about a specified invoice.
Invoice ID | Enter (map) or select the ID of the invoice you want to retrieve information about. |
Create a free-form invoice¶
Creates a new invoice.
Client ID |
Select or map the ID of the client this invoice belongs to. |
||||||||||||||
Number |
Enter the invoice number. If no number is entered, the number will be automatically generated. |
||||||||||||||
Purchase Order Number |
Enter the purchase order number. |
||||||||||||||
Tax |
Enter the tax (percentage). This percentage is applied to the subtotal, including line items and discounts. Example: use |
||||||||||||||
Tax 2 |
Apply another tax. This percentage is applied to the subtotal, including line items and discounts. Example: use |
||||||||||||||
Discount |
Enter the discount (percentage). This percentage is subtracted from the subtotal. Example: use |
||||||||||||||
Subject |
Enter the invoice subject. |
||||||||||||||
Notes |
Enter additional notes that will be included on the invoice. |
||||||||||||||
Currency |
Enter the currency used by the invoice. If not provided, the client’s currency will be used. See a list of supported currencies. |
||||||||||||||
Issue Date |
Enter the date when the invoice was issued. Default date = today's date. The list of supported date and time formats. |
||||||||||||||
Due Date |
Enter the invoice's due date. Defaults to the |
||||||||||||||
Payment Term |
Select the timeframe in which the invoice should be paid. Defaults to |
||||||||||||||
Line Items |
Add desired line items.
|
||||||||||||||
Retainer ID |
Enter the retainer ID in order to create a retainer invoice. |
||||||||||||||
Estimate ID |
Enter the ID of the estimate associated with this invoice. |
Delete an Invoice¶
Deletes a specified invoice.
Invoice ID | Enter (map) or select the ID of the invoice you want to delete. |
List Payments¶
Returns a list of payments associated with the selected invoice.
Invoice ID | Select or map the ID of the invoice that the payments belongs to. |
Number of Invoices to return | Set the maximum number of invoices Ibexa Connect will return during one execution cycle. |
Updated Since | Enter the date to return invoice payments that have been updated since the date and time. the list of supported date and time formats. |
Create Invoice Payments¶
Creates a new invoice payment.
Invoice ID | Enter the invoice you want to create a payment for. |
Amount | Enter the amount of the payment. |
Payment date | Select whether to set time and date or the date only. |
Date | Enter the payment date (and time). the list of supported date and time formats. |
Expenses¶
List expenses¶
Returns a list of your expenses.
Number of Expenses to Return | Set the maximum number of expenses Ibexa Connect will return during one execution cycle. |
User ID | Returns only expenses belonging to the client with the entered ID. |
Client ID | Returns only expenses belonging to the client with the entered ID. |
Project ID | Map or select the project ID you want to filter expenses by. |
Updates Since | Returns only expenses that have been updated since the entered date and time. the list of supported date and time formats. |
From | Enter the date in order to return expenses with a Spent Date on or after the entered date. the list of supported date and time formats. |
To | Enter the date in order to return expenses with a Spent date on or before the entered date. |
Invoiced | Select whether to return expenses that were invoiced, not invoiced, or both. |
Get an Expense¶
Retrieves a specified expense.
Expense ID | Enter (map) or select the ID of the expense you want to retrieve information about. |
Create an Expense¶
Creates a new expense.
Spent date | Enter the date the expense occurred. the list of supported date and time formats. |
Project ID | Select the ID of the project associated with this expense. |
Category ID | Enter the ID of the expense category this expense is being tracked against. |
Total Cost | Enter the total amount of the expense. |
Notes | Enter the expense description. |
Billable | Set whether this expense is billable or not. |
Edit an Expense¶
Updates an existing expense.
Expense ID | Select or map the ID of the expense ID you want to update. |
Spent date | Enter the date the expense occurred. the list of supported date and time formats. |
Project ID | Select the ID of the project associated with this expense. |
Category ID | Enter the ID of the expense category this expense is being tracked against. |
Units | The quantity of units to use in calculating the Total Cost of the expense. |
Total Cost | Enter the total amount of the expense. |
Notes | Enter the expense description. |
Billable | Set whether this expense is billable or not. |
Delete receipt | Define whether an attached expense receipt should be deleted or not. Select Yes to delete the expense receipt. |
Delete an Expense
Deletes an expense.
Expense ID | Enter (map) or select the ID of the expense you want to delete. |
Tasks¶
Watch Tasks¶
Triggers when a new task is created.
Watch | Select whether you want to watch all changes or newly added tasks only. |
Limit | Set the maximum number of tasks Ibexa Connect will return during one execution cycle. |
List Tasks
Returns a list of your tasks.
Number of Tasks to Return | Set the maximum number of tasks Ibexa Connect will return during one execution cycle. |
Active or inactive | Select whether you want to return only active, only inactive, or both task statuses. |
Updated Since | Returns only tasks that have been updated since the entered date and time. the list of supported date and time formats. |
Get a Task¶
Retrieves information about a specific task.
Task ID | Enter (map) or select the ID of the task you want to retrieve information about. |
Create a Task¶
Creates a new task.
Name | Enter the name for the task. |
Default hourly rate | The default hourly rate to use for this task when it is added to a project. Defaults to 0 . |
Billable by default | Set whether default tasks should be marked billable when creating a new project. |
Default | Set whether this task should be automatically added to future projects. |
Edit a Task¶
Updates an existing task.
Task ID | Select the task you want to update. |
New Name | Enter the new name for the task. |
Default hourly rate | The default hourly rate to use for this task when it is added to a project. Defaults to 0 . |
Billable by default | Set whether default tasks should be marked billable when creating a new project. |
Default | Set whether this task should be automatically added to future projects. |
Delete a Task¶
Deletes an existing task.
Task ID | Enter (map) or select the ID of the task you want to delete. |
Time Entries¶
Watch Time Entries¶
Triggers when a new time entry is created.
Name | Enter the name for the task. |
Filter By | Select the user, client, or project you want to filter time entries by. |
Watch | Select whether you want to watch all changes or newly added time entries only. |
Limit | Set the maximum number of time entries Ibexa Connect will return during one execution cycle. |
List Time Entries¶
Returns a list of time entries based on the filter settings.
Number of time entries to return | Set the maximum number of time entries Ibexa Connect will return during one execution cycle. |
Invoiced or not invoiced | Select whether you want to return only invoiced, only not invoiced, or both time entry states. |
Running or Non-running | Select whether you want to return only running, only non-running, or both time entry states. |
User ID | Returns only time entries belonging to the user with the entered ID. |
Client ID | Returns only time entries belonging to the client with the entered ID. |
Project ID | Returns only time entries belonging to the project with the entered ID. |
Updated Since | Returns only tasks that have been updated since the entered date and time. the list of supported date and time formats. |
From | Returns only time entries with a spent date on or after the entered date. the list of supported date and time formats. |
To | Returns only time entries with a spent date on or before the entered date. |
Get a Time Entry¶
Retrieves details about a time entry.
Time entry ID | Enter (map) or select the ID of the time entry you want to retrieve information about. |
Create a Time Entry¶
Creates a new time entry.
Project ID | Select the ID of the project to associate with the time entry. |
Task ID | Select the ID of the task to associate with the time entry. |
Spent at | Enter the date when the time entry was spent. the list of supported date and time formats. |
Notes | Enter a description of the time entry. |
Hours | The current amount of time tracked. If provided, the time entry will be created with the specified hours and is_running will be set to false. If not provided, hours will be set to 0.0 and is_running will be set to true. |
Edit a Time Entry¶
Updates an existing time entry.
Time entry ID | Enter (map) the time entry you want to update. |
Project ID | Select the ID of the project to associate with the time entry. |
Notes | Enter a description of the time entry. |
Hours | The current amount of time tracked. If provided, the time entry will be created with the specified hours and is_running will be set to false. If not provided, hours will be set to 0.0 and is_running will be set to true. |
Spent at | Enter the date when the time entry was spent. the list of supported date and time formats. |
Delete a Time Entry¶
Deletes an existing time entry.
Time Entry ID | Enter (map) or select the ID of the time entry you want to delete. |
Users¶
Watch users¶
Triggers when a new user is created.
Watch | Select whether you want to watch all changes or newly added users only. |
Limit | Set the maximum number of users Ibexa Connect will return during one execution cycle. |
List Users¶
Returns a list of users. The users are returned sorted by creation date, with the most recently created users appearing first.
Number of users to return | Set the maximum number of users Ibexa Connect will return during one execution cycle. |
Active or inactive | Select whether you want to return only active, only inactive, or both time entry states. |
Updated Since | Returns only users that have been updated since the entered date and time. The list of supported date and time formats. |
Get a User¶
Retrieves details about a specified user.
User ID | Enter (map) or select the ID of the user you want to retrieve information about. |
Create a User¶
Creates a new user.
First name | Enter the new user's first name. Can’t be updated if the user is inactive. |
Last name | Enter the new user's last name. Can’t be updated if the user is inactive. |
Email address | Enter the new user's email address. Can’t be updated if the user is inactive. |
Telephone | Enter the new user's phone number. |
Timezone | The user’s timezone. Defaults to the company’s timezone. See a list of supported time zones. |
Roles | Enter the role names assigned to this person. |
Administrator | Select the Yes option to set the new user as the administrator with admin permissions. |
Edit a User¶
Updates an existing user.
User ID | Select or map the user ID of the user you want to update. |
First name | Enter the new user's first name. Can’t be updated if the user is inactive. |
Last name | Enter the new user's last name. Can’t be updated if the user is inactive. |
Email address | Enter the new user's email address. Can’t be updated if the user is inactive. |
Telephone | Enter the new user's phone number. |
Timezone | The user’s timezone. Defaults to the company’s timezone. See a list of supported time zones. |
Roles | Enter the role names assigned to this person. |
Administrator | Select the Yes option to set the new user as the administrator with admin permissions. |
Delete a User¶
Deletes an existing user.
Deleting a user is only possible if they have no time entries or expenses associated with them.
User ID | Enter (map) or select the ID of the user you want to delete. |
Make an API Call¶
Allows you to perform a custom API call.
URL |
Enter a path relative to For the list of available endpoints, refer to the Harvest API V2 documentation. |
Method |
Select the HTTP method you want to use: GETto retrieve information for an entry. POSTto create a new entry. PUTto update/replace an existing entry. PATCHto make a partial entry update. DELETEto delete an entry. |
Headers |
Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query String |
Enter the request query string. |
Body |
Enter the body content for your API call. |
Example of Use - List Users¶
The following API call returns all users:
Matches of the search can be found in the module's Output under Bundle > Body > users. In our example, 4 users were returned: