# Common Issues

## Connection issues

<details>

<summary>Invalid credentials error when connecting</summary>

Double-check that you're using the correct **Merchant ID**, **Public Key**, and **Private Key** from the Braintree Control Panel under **Settings > API**. These are environment-specific — Sandbox credentials won't work against Production and vice versa. Make sure the environment you selected in Coupler.io matches the credentials you've entered.

</details>

<details>

<summary>Connection succeeds but no data loads</summary>

This usually means the start date is set too far in the future, or you've selected an entity (like Plans or Discounts) that has no records yet in your account. Try setting an earlier start date or switching to the Transactions entity to confirm the connection is working.

</details>

## Missing data

<details>

<summary>Transactions from a certain period are missing</summary>

Braintree applies the start date filter to transaction created dates. If you moved the start date forward, earlier transactions are excluded. Reset the start date using the date picker to cover the period you need, then re-run the data flow.

</details>

<details>

<summary>Refunds aren't showing up</summary>

Refunds in Braintree are recorded as separate transaction records, not modifications to the original. Make sure your Transactions export covers the date range when the refund was processed — it will have its own `created_at` timestamp and a `type` of `credit`.

</details>

<details>

<summary>Plans, Discounts, or Merchant Accounts return no data</summary>

These entities are static and don't filter by date. If they're returning empty, it likely means none have been created in your Braintree account yet. Verify in the Braintree Control Panel that the relevant records exist.

</details>

## Permission errors

<details>

<summary>API key doesn't have permission to access disputes or subscriptions</summary>

Braintree API keys inherit the permissions of the user or role they belong to. If you're seeing access errors for specific entities, check in the Braintree Control Panel that the API user has the necessary role permissions — for example, dispute access may require an elevated role.

</details>

## Data discrepancies

<details>

<summary>Transaction amounts don't match my Braintree dashboard totals</summary>

The Braintree dashboard typically shows **settled** amounts only. Your Coupler.io export includes all transaction statuses (authorized, submitted for settlement, failed, voided, etc.). Filter by `status = settled` in your destination to match dashboard figures.

</details>

<details>

<summary>Subscription counts differ between Coupler.io and Braintree</summary>

Expired or canceled subscriptions are included in Coupler.io exports. If the Braintree dashboard shows only active subscriptions, apply a `status = Active` filter in your destination sheet or BI tool.

</details>

## Rate limits

<details>

<summary>Data flow times out or fails on large transaction exports</summary>

Braintree's API can be slow when paginating through large transaction histories. If you hit timeouts, try narrowing the start date to reduce the volume of records per run. Once your historical data is loaded, future incremental runs will be much faster.

</details>
