# Common Issues

## Connection issues

<details>

<summary>"Can't access your CSV file" error</summary>

This usually means your URL is not publicly accessible or not formatted correctly.

**Fix:**

* If using Google Drive, right-click the file → "Share" → "Change to "Anyone with the link" → "Viewer" → copy the shareable link
* Verify the URL points directly to the CSV file, not a landing page or preview page
* Test the URL in an incognito browser window to confirm it's public
* For API-based CSV exports, check that any required authentication headers (API keys, bearer tokens) are included in the "HTTP request headers" field

</details>

<details>

<summary>HTTP 405 "Method Not Allowed" error</summary>

Your CSV source requires a specific HTTP method (POST, PUT, etc.), but you selected GET.

**Fix:**

* Check your CSV source's API documentation to see which method is required
* Change the HTTP method in Coupler.io to match (e.g., POST, PATCH)
* Some sources like Clockify require POST for CSV exports

</details>

<details>

<summary>"Invalid Opening Quote" or CSV parse error</summary>

Your CSV contains unescaped quotation marks or special characters that confuse the parser.

**Fix:**

* Verify the CSV is properly formatted with escaped quotes (e.g., `"text with \"quotes\" inside"`)
* Download the CSV locally and open it in a text editor to inspect for formatting issues
* If the quote issue is in your source system, ask the provider to export with proper escaping
* Try using the "Ignore quotes" option in advanced settings if your CSV doesn't rely on quotes for field delimiting

</details>

<details>

<summary>Request times out or fails with no response</summary>

The CSV URL is slow to respond or unreachable from Coupler.io's servers.

**Fix:**

* Verify the URL is correct and responsive by testing it in your browser
* Check if your CSV source has rate limits or requires specific headers (User-Agent, etc.)
* If using an API endpoint, ensure any authentication tokens are current and not expired
* Try again after a few minutes; temporary network issues can cause timeouts

</details>

## Missing data

<details>

<summary>No data imported, but no error shown</summary>

The CSV was found and parsed, but it contained no data rows (only headers or empty file).

**Fix:**

* Verify the CSV file actually contains data by downloading and opening it locally
* Check if you're skipping too many rows with the "Skip rows" setting
* If the CSV is generated dynamically (e.g., API export), verify it returned data for the date range or filters you applied

</details>

<details>

<summary>Only partial columns imported</summary>

You may have specified a limited column list in the "Columns" field, or the CSV source only provided some columns.

**Fix:**

* Check the "Columns" field—if you want all columns, leave it empty
* Verify your CSV source returns all expected columns by testing the URL directly
* If using an API, check that you're not applying filters that exclude columns

</details>

<details>

<summary>Timestamps or dates are missing or incorrect</summary>

Date formatting issues or timezone mismatches can cause dates to appear wrong.

**Fix:**

* Verify dates in the source CSV are in a standard format (ISO 8601: YYYY-MM-DD recommended)
* Check your destination (Google Sheets, etc.) date formatting settings
* If your CSV source allows date range filters, ensure the date range includes the data you expect

</details>

## Permission errors

<details>

<summary>Google Drive file not accessible (403 Forbidden)</summary>

The file is shared with you personally, but not publicly shared.

**Fix:**

* Open the file in Google Drive, click "Share" at the top right
* Change the sharing setting from "Restricted" or "Shared with specific people" to "Anyone with the link"
* Set the role to "Viewer"
* Copy the shareable link and use it in Coupler.io

</details>

<details>

<summary>API key or bearer token rejected</summary>

Your authentication header is missing, invalid, or expired.

**Fix:**

* Verify the API key/token format matches your source's requirements (e.g., `Authorization: Bearer YOUR_TOKEN` or `X-API-Key: YOUR_KEY`)
* Check that your token hasn't expired; regenerate it if needed
* Ensure there are no extra spaces or typos in the header value
* Test the URL with the same header in Postman or curl to confirm it works

</details>

## Data discrepancies

<details>

<summary>CSV imported with extra blank rows at the end</summary>

Some CSV files have trailing empty lines that get imported as rows.

**Fix:**

* This is expected behavior; blank rows are preserved as-is from the source
* Clean them up in your destination using filters or formulas, or download the CSV and remove them before uploading
* The "Skip rows" setting only skips rows from the *top*; it doesn't remove trailing blank rows

</details>

<details>

<summary>Data appears truncated or wrapped oddly in the destination</summary>

Large text fields or special characters may display unexpectedly in your destination.

**Fix:**

* Adjust column width in your destination (Google Sheets, Excel, etc.)
* Check for hidden characters or encoding issues in the source CSV
* If using BigQuery or another data warehouse, verify the schema allows the data type and length

</details>

## Rate limits

<details>

<summary>"Rate limit exceeded" error on repeated imports</summary>

Your CSV source is throttling requests. This is common with API-based CSV exports.

**Fix:**

* Space out your scheduled refreshes; avoid running the same import multiple times per hour
* Check your CSV source's rate limit policy (e.g., Clockify, analytics APIs often allow 1-10 requests per minute)
* If scheduling, use longer intervals (daily vs. hourly) or distribute multiple flows across different times
* Contact your CSV source's support if you need higher rate limits

</details>
