n8n-nodes-harvest
v1.0.1
Published
n8n community node for Harvest time tracking and invoicing
Downloads
18
Maintainers
Readme
n8n-nodes-harvest
An n8n community node for Harvest time tracking and invoicing.
Note: This is a community-maintained node and is not an official product from Harvest. It is not affiliated with, endorsed by, or supported by Harvest. For official Harvest integrations, please visit Harvest Integrations.
Why This Node?
This community node provides a more complete implementation than n8n's built-in Harvest integration:
- More Resources: Includes Company, Expense Categories, Project Assignments, and comprehensive Reports
- Invoice PDF Downloads: Download invoices as PDF files directly within your workflows
- Advanced Invoice Creation: Create invoices from tracked time and expenses with flexible date ranges and summary options
- Complete Report Suite: Access all Harvest reports including time reports, expense reports, uninvoiced amounts, and project budgets
- Project Assignments: Manage task and user assignments for projects
Features
Full integration with Harvest API v2, supporting 14 resources:
| Resource | Operations | | ------------------------ | ------------------------------------------------------------------------------------------------------ | | Time Entries | Get Many, Get, Create, Update, Delete, Restart Timer, Stop Timer | | Clients | Get Many, Get, Create, Update, Delete | | Company | Get | | Projects | Get Many, Get, Create, Update, Delete | | Tasks | Get Many, Get, Create, Update, Delete | | Users | Get Many, Get, Get Current, Create, Update, Delete | | Invoices | Get Many, Get, Create, Update, Delete, Download PDF | | Expenses | Get Many, Get, Create, Update, Delete | | Expense Categories | Get Many | | Contacts | Get Many, Get, Create, Update, Delete | | Project Task Assignments | Get Many | | Project User Assignments | Get Many | | Reports | Time by Client/Project/Task/Team, Expenses by Client/Project/Category/Team, Uninvoiced, Project Budget |
Installation
Community Nodes (Recommended)
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-harvestin the search field - Select Install
Manual Installation
cd ~/.n8n/custom
npm install n8n-nodes-harvestThen restart n8n.
Credentials
To use this node, you need to configure Harvest API credentials:
- Account ID: Your Harvest account ID (found in the URL of your Harvest account)
- Access Token: A Personal Access Token from Harvest
Getting a Personal Access Token
- Log in to your Harvest account
- Go to Developers > Personal Access Tokens
- Click Create New Personal Access Token
- Give it a name and click Create
- Copy the token (you won't be able to see it again)
Usage
Time Entry Operations
- Get Many: List time entries with filtering by date, user, project, client, task, billed status, and running status
- Get: Get a specific time entry by ID
- Create: Create a new time entry with project, task, date, hours, notes, and external references
- Update: Update an existing time entry
- Delete: Delete a time entry
- Restart Timer: Restart a stopped timer
- Stop Timer: Stop a running timer
Client Operations
- Get Many: List all clients with pagination and filtering
- Get: Get a specific client by ID
- Create: Create a new client
- Update: Update an existing client
- Delete: Delete a client
Company Operations
- Get: Retrieve your company information including name, domain, and settings
Project Operations
- Get Many: List all projects with filtering options
- Get: Get a specific project by ID
- Create: Create a new project
- Update: Update an existing project
- Delete: Delete a project
Task Operations
- Get Many: List all tasks
- Get: Get a specific task by ID
- Create: Create a new task
- Update: Update an existing task
- Delete: Delete a task
User Operations
- Get Many: List all users
- Get: Get a specific user by ID
- Get Current: Get the currently authenticated user
- Create: Create a new user
- Update: Update an existing user
- Delete: Delete a user
Invoice Operations
- Get Many: List invoices with filtering by client, project, state, and date range
- Get: Get a specific invoice by ID
- Create: Create invoices either as free-form with line items or from tracked time and expenses
- Update: Update an existing invoice
- Delete: Delete an invoice
- Download PDF: Download an invoice as a PDF file using the client key
Expense Operations
- Get Many: List all expenses with filtering
- Get: Get a specific expense by ID
- Create: Create a new expense
- Update: Update an existing expense
- Delete: Delete an expense
Expense Category Operations
- Get Many: List all expense categories with filtering by active status
Contact Operations
- Get Many: List all client contacts
- Get: Get a specific contact by ID
- Create: Create a new contact
- Update: Update an existing contact
- Delete: Delete a contact
Project Task Assignment Operations
- Get Many: List all task assignments for a specific project
Project User Assignment Operations
- Get Many: List all user assignments for a specific project
Report Operations
Access comprehensive reporting data with date range filtering:
Time Reports
- Time by Client: Get time tracked grouped by client
- Time by Project: Get time tracked grouped by project
- Time by Task: Get time tracked grouped by task
- Time by Team: Get time tracked grouped by team member
Expense Reports
- Expenses by Client: Get expenses grouped by client
- Expenses by Project: Get expenses grouped by project
- Expenses by Category: Get expenses grouped by category
- Expenses by Team: Get expenses grouped by team member
Other Reports
- Uninvoiced: Get uninvoiced time and expenses
- Project Budget: Get project budget status and consumption
Example Workflows
Weekly Hours Report Workflow
A comprehensive automated workflow for tracking project budget consumption and sending weekly reports:
Features:
- Runs every Monday at 8:00 AM
- Fetches project budget directly from Harvest
- Tracks hours across last week, month-to-date, and year-to-date
- Calculates recommended workload (days/week) to use full budget
- Sends beautiful HTML email reports with progress bars
Setup:
- Import
examples/n8n-workflows/weekly-hours-report.json - Configure your project ID in the Config node
- Set up Harvest and SMTP credentials
- Ensure your Harvest project has a budget configured
What it includes:
- Budget from Harvest: No hardcoding - reads budget directly from project settings
- Pace Indicators: Shows if you're on track to use the full budget
- Workload Calculator: Calculates how many days/week 1 person should work
- Visual Progress: Progress bars and status badges in email
- Complete Documentation: Sticky notes explain every step
Daily Time Entry Report
- Use Harvest node with Time Entry > Get Many
- Set date filters for today
- Connect to an Email node to send the report
Automatic Invoice Creation
- Trigger at end of month
- Use Harvest node to get unbilled time entries
- Calculate totals
- Create invoice with Harvest node
Sync Time Entries to Spreadsheet
- Schedule trigger (e.g., every hour)
- Get new time entries from Harvest
- Append to Google Sheets or Airtable
Download Invoice PDFs
- Use Harvest node with Invoice > Get to retrieve invoice details
- Extract the
client_keyfrom the response - Use Harvest node with Invoice > Download PDF to download the PDF
- Save or email the PDF attachment
Weekly Project Budget Report
- Schedule trigger (every Monday)
- Use Harvest node with Report > Project Budget
- Filter for active projects
- Send summary via Slack or Email
Development
# Clone the repository
git clone https://github.com/mekanics/n8n-nodes-harvest.git
cd n8n-nodes-harvest
# Install dependencies
pnpm install
# Build the node
pnpm buildResources
License
MIT
