# Common Issues

## Connection issues

<details>

<summary>My Harvest account isn't showing in the account list</summary>

If your Harvest account doesn't appear in the account dropdown, go to **Coupler.io → Connections**, find your Harvest connection, and click **Reconnect**. Then return to your data flow and try selecting the account again.

</details>

<details>

<summary>My data flow was working, then suddenly started failing</summary>

Harvest occasionally makes API changes without advance notice. If your data flow stops working after previously running successfully, check if the entity you're using (especially **Users**) has been affected. Try running the data flow manually and check the error message. If it references an API or parsing error, contact Coupler.io support — this type of issue is usually resolved on the platform side.

</details>

## Missing data

<details>

<summary>My import is missing rows I expect to see</summary>

The most common cause is a **"Changed after"** filter that's too restrictive. This filter applies to `updated_at` (when the record was last modified), not to `spent_date`. If you set it to a recent date, older records that haven't been touched won't be included — even if they fall within your reporting period.

For date-range filtering on actual work dates, use the **Time report** entity and set the **From** and **To** dates instead.

</details>

<details>

<summary>Data in Coupler.io doesn't match what I see in Harvest reports</summary>

Project and client IDs exported by Coupler.io should match Harvest's own IDs. If you see a mismatch, check whether you're comparing the same entity types — for example, Coupler.io's **Time entries** data differs from the aggregated **Time report**. Also confirm you're not filtering by project ID, which limits results to one project.

</details>

<details>

<summary>Project names are truncated or cut off</summary>

This can happen with long project names that include brackets or special characters at the start (e.g., `[C22-CLU001]`). This is a data parsing edge case — contact Coupler.io support with a screenshot of the affected row and the importer URL so the team can investigate.

</details>

## Permission errors

<details>

<summary>I can only see my own data, not data for all team members</summary>

Harvest restricts API access based on the role of the connected user. **Members** can only see their own time entries and projects. To pull data across all users, you need to connect using an **Administrator** or **Manager** account.

</details>

## Data discrepancies

<details>

<summary>The "Changed after" filter isn't working as expected</summary>

The **Changed after** field filters on `updated_at` — the timestamp when a record was last modified — not on the date work was performed. If you set this to January 1, records with an `updated_at` before that date won't appear, even if the work was done during your target period. Use the **Time report** with explicit **From** / **To** dates to filter by work date.

</details>

<details>

<summary>Advanced filters aren't working — all rows come through</summary>

Boolean values in advanced filters must be lowercase. Use `true` or `false` instead of `TRUE` or `FALSE`. This applies to fields like `is_active`, `billable`, and similar boolean columns.

</details>

<details>

<summary>Weekly capacity shows values in the millions (seconds instead of hours)</summary>

This is expected behavior. Harvest returns `weekly_capacity` in seconds via their API. Divide the value by 3600 to convert to hours. You can do this directly in the transformation step in Coupler.io or in your destination spreadsheet.

</details>

## Rate limits

<details>

<summary>My data flow times out or fails with large datasets</summary>

If you're pulling tens of thousands of rows (especially from **Time entries**), the Harvest API may time out before returning all data. To work around this:

* Add a date range filter using **From** and **To** to reduce the data volume
* Filter by **Project ID** to pull one project at a time
* Use the **Changed after** field to pull only recently modified records
* Split your data into multiple data flows, each covering a different date range or project, and use the **Append** transformation to combine them

{% hint style="warning" %}
If your dataset exceeds your plan's row limit, Coupler.io will disable automatic refresh. Use date filters to stay within limits.
{% endhint %}

</details>
