This article is for admins who want to connect Gusto to Harvest and send tracked hours and expenses to Gusto for payroll.
Harvest is a professional services tool that facilitates time and expense tracking. Your team tracks hours against projects and logs reimbursable expenses as they go.
When you connect Harvest to Gusto, you send those hours and expenses to Gusto for payroll instead of entering them twice.
The integration is available on all paid Harvest plans. You need to be a Gusto customer based in the US.
Only Harvest Administrators can view and change account settings.
Note: Each Harvest account connects to one Gusto company at a time. If you administer several Gusto companies, connect each one from its own Harvest account.
To connect Gusto to Harvest:
In the bottom-left corner, click Integrations.
Find the Gusto section and click Connect.
Enter your Gusto admin credentials and sign in.
Select the Gusto account you’re allowing Harvest to access and click Authorize.
Harvest cannot send someone’s hours until it knows which Gusto record to send them to. Link each person before your first sync. When new team members join, link them the same way.
To link your Harvest users:
In the bottom-left corner, click Integrations.
In the Gusto section, select View settings.
Find the People to link section.
For each Harvest user, pick the matching Gusto employee or contractor from the dropdown.
Select Link.
Repeat for everyone whose hours you want to sync.
Note: Each Harvest user links to one Gusto record per connection. To change a link, unlink the user and link them again. You cannot edit an existing link.
Harvest sends the hours your team tracked to Gusto as time sheets. Harvest does not send them automatically. You need to start a sync yourself before every payroll. You can set a sync reminder so you do not forget — the reminder covers hours only.
To sync hours:
In the bottom-left corner, click Integrations.
In the Gusto section, select Sync time.
Pick your date range. Choose a single pay period (Harvest suggests the latest unprocessed one) or a custom range of up to 90 days. The default is the last seven days.
Choose your people. Select the Harvest users whose hours you want to send. Only linked users appear here.
Choose your projects. For each person, pick the projects you want included. For employees with more than one Gusto job, pick the specific job.
Review the eligibility preview. Harvest shows you what it will send, what it will skip, and why.
Select Sync to start the run.
The sync runs in the background, so you can leave the page and come back. Harvest emails the Administrator who started the sync when it finishes, with a link to the full results.
Note: If someone logs a total number of hours instead of a start and end time, Harvest tells Gusto the shift started at 9am.
Harvest creates time sheets in Gusto as pending. Approve the hours in Gusto’s Time Tracking before you run payroll, or they will not be paid.
Harvest sends hours only for users you linked to a Gusto employee or contractor.
Harvest never sends hours for employees whose Fair Labor Standards Act (FLSA) status in Gusto is Exempt or Owner, because those hours can corrupt the paycheck. Harvest checks the status on every sync, so when you reclassify someone in Gusto, the next sync picks up the change.
Harvest calculates overtime against the federal weekly threshold of 40 hours. You choose which FLSA workweek it measures against.
Your workweek starts on the same day your Harvest week starts. You cannot change it while a sync is running.
State-specific overtime rules, including California daily overtime, are not supported yet.
Harvest adds each reimbursable expense to a Gusto payroll as a reimbursement, so it is paid with the employee’s paycheck.
Harvest does not support expenses for contractors.
Expenses do not sync automatically. You’ll need to run a sync yourself before each payroll.
To sync expenses:
In the bottom-left corner, click Integrations.
In the Gusto section, select Sync expenses. Your expense sync history opens.
Select Sync expenses to start a new sync.
Choose your payroll. Harvest lists only the payrolls you have not run in Gusto yet.
Choose your expenses. Harvest lists the reimbursable expenses dated within that payroll’s pay period, grouped by person. Select the expenses you want to send.
Select Sync selected expenses to Gusto.
Harvest emails the Administrator who started the sync when it finishes, with a link to the full results.
Unlike time sheets, expenses go straight onto the payroll. You do not need to approve them in Gusto, and they are paid when you run that payroll.
In Gusto, each reimbursement shows the amount, the category, and the date. Harvest does not send any notes added to the expense.
Harvest can sync an expense when all of the following are true:
The expense is marked reimbursable.
The person who tracked it is linked to a Gusto employee.
That employee is on the payroll you chose.
The expense is in US dollars.
The amount is greater than zero.
The expense is approved, if your account requires approval.
The sync preview shows every expense Harvest cannot sync, and why.
If your Harvest account requires approval for expenses, use the steps below to set which expenses Harvest can sync to Gusto — all expenses, or only approved expenses (default).
If your account does not require approval, Harvest can send any reimbursable expense.
To choose which expenses Harvest can sync:
In the bottom-left corner, click Integrations.
In the Gusto section, click View settings.
Find the Expense sync approval setting.
Select either Only approved expenses or All expenses.
You can sync the same payroll again until you run it in Gusto. What happens in the next sync depends on what you changed about the expense:
Nothing changed. Harvest leaves the expense as it is.
The amount changed. The next sync updates the reimbursement in Gusto.
You deleted the expense, marked it non-reimbursable, or moved its date outside the pay period. The next sync offers to take it off the payroll.
Important: Once you run the payroll in Gusto, Harvest cannot change the expenses on it. Make those fixes in Gusto.
An expense can be on only one payroll at a time.
The sync preview shows what Harvest will and will not send to Gusto.
When hours are not eligible, one of these is usually why:
Unlinked users. Harvest cannot send hours for a user it has not matched to a Gusto record. Link them first.
Exempt and Owner employees. Harvest never sends their hours.
Hours inside a processed pay period. Gusto locks pay periods it has already run for payroll. Adjust those hours in Gusto.
Days with no time tracked. Harvest sends only hours logged against a project in Harvest. Empty days are not part of the sync.
Hours that have not changed since the last sync. Re-running the same range does nothing for those entries.
Hours outside the date range you picked. Harvest sends only what falls inside the range.
Your time sheets are waiting in Gusto’s pending queue. Approve them there before the payroll runs. Harvest does not submit or approve time sheets for you.
Harvest keeps a record of every sync. It shows what went through, what it skipped, what failed, and why.
To see your past syncs, go to the Gusto settings page in Harvest. Select Sync time for hours or Sync expenses for expenses.
To try a failed sync again, run a new sync over the same dates. Harvest only re-sends the entries that did not go through the first time.
Disconnecting removes the connection to Gusto. Harvest keeps your user links, sync history, and reminder setting, so you can reconnect later without setting everything up again. Your sync history stays available whether or not the integration is connected.
To disconnect Harvest from Gusto:
In the bottom-left corner, click Integrations.
In the Gusto section, select View settings.
Select Disconnect.
Type DISCONNECT.
Click Disconnect to confirm.
Contact Harvest directly for help with the integration at [email protected].
You can also read Harvest’s Gusto integration guide.