> ## Documentation Index
> Fetch the complete documentation index at: https://control-dev.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Additional accounting systems (via Nango)

> Authorize an accounting provider that Control does not yet import from, so a data pipeline can be activated later.

export const ControlAppLink = ({path, breadcrumb, children}) => {
  const link = <a href={`https://app.control.dev${path}`} target="_blank" rel="noopener noreferrer" aria-label={breadcrumb ? `Open ${breadcrumb} in Control` : undefined}>
      {children}
    </a>;
  return breadcrumb ? <Tooltip tip={breadcrumb}>{link}</Tooltip> : link;
};

Control's native accounting integrations import general-ledger, chart of accounts, and related records on connect.
For accounting systems outside that list, Control also supports a **connection-only** intake through
[Nango](https://nango.dev). You authorize the provider now so Control can enable a provider-specific data pipeline
for you later.

<Note>
  Connections created through this flow do not import any accounting data yet. They record that credentials are
  available and that you want Control to activate the provider. Nothing changes in your reports until Control turns
  on a pipeline for that provider with you.
</Note>

## When to use this

* Your accounting system is not on the native list in [Integrations overview](/product-docs/integrations/overview).
* You want to secure the authorization and register demand so Control can prioritize a pipeline for your provider.
* You are comfortable with credentials being connected before any data is imported.

If a native integration exists for your accounting system, use that instead. Native connectors sync general ledger,
chart of accounts, dimensions, and invoice data on the standard schedule.

## How the intake works

1. Control fetches the live accounting catalog from Nango and shows it alongside the native connectors.
2. You choose a provider and authorize it in **Nango Connect** in a new browser window.
3. Nango sends a signed webhook to Control when authorization succeeds.
4. Control stores only an opaque Nango connection identifier and pipeline state. Provider credentials and tokens stay
   in Nango.
5. The connection appears against your entity as **Credentials connected · Import pending review**.
6. When Control ships and validates the provider pipeline, the connection is promoted from
   *awaiting implementation* to *enabled* and data starts importing on the standard schedule. You do not need to
   reconnect.

## Connect a provider

You need the **Manage credentials** permission for the entity.

1. Open <ControlAppLink path="/entities-data-sources/overview"><strong>Entities & sources</strong></ControlAppLink>.
2. Open the intended entity and choose **Add data source**.
3. Under **More accounting systems**, search for your provider by name.
4. Select the provider. The **Via Nango** badge marks connections that follow this flow.
5. Choose **Connect credentials**. A new tab opens Nango Connect.
6. Complete the provider's authorization step. Depending on the provider this is OAuth, an API key, or a
   basic/custom-auth form; Nango Connect shows the fields required.
7. Return to Control. The provider now appears under the entity as **Credentials connected · Import pending review**
   with the **Via Nango** badge.

<Warning>
  Allow pop-ups for Control before you start. The intake opens Nango Connect in a new window and closes it
  automatically when the flow finishes.
</Warning>

## Reconnect a provider

Some providers expire tokens or require reauthorization when the account owner changes. When Control detects that
state, the row shows **Reconnect required**.

1. Open <ControlAppLink path="/entities-data-sources/overview"><strong>Entities & sources</strong></ControlAppLink>.
2. Find the connection and choose **Reconnect**.
3. Complete the authorization step in Nango Connect.
4. The row returns to **Credentials connected** once the reconnect is confirmed.

Reconnecting keeps the same connection record. Pipeline state and any Control-side configuration for the provider
are preserved.

## Remove a provider

1. Open <ControlAppLink path="/entities-data-sources/overview"><strong>Entities & sources</strong></ControlAppLink>.
2. On the connection row, select the delete icon and confirm.
3. Control revokes the Nango connection and removes the record from the entity.

Removing a connection cancels the pending pipeline activation for that entity and provider. You can connect the same
provider again later; a new connection is created.

## Connection lifecycle

| State                                             | What it means                                                                    |
| ------------------------------------------------- | -------------------------------------------------------------------------------- |
| **Credentials connected · Import pending review** | The provider is authorized. Control is not importing accounting data yet.        |
| **Reconnect required**                            | The provider revoked or expired the authorization. Reconnect to restore it.      |
| **Removed**                                       | The connection was revoked from Control. No further activity happens against it. |

Under the connection state, Control tracks a separate pipeline state:

* **Awaiting implementation** — the default. Credentials are held but no import job runs.
* **Enabled** — Control has activated the provider pipeline for you. The connection now imports data on the standard
  schedule and appears in [Sync history](/product-docs/integrations/overview#sync-history).

## What Control stores

* The entity, provider key, and an opaque Nango connection identifier.
* Connection status and the pipeline status described above.
* Timestamps for creation, last validation, and reconnect prompts.

Control never receives or persists the provider's credentials, OAuth tokens, or API keys. Those remain in Nango
throughout the connection's lifetime.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Why don't I see any imported data after connecting?">
    This intake captures credentials only. Control activates a provider-specific import pipeline separately, after
    validating extraction, mapping, and reconciliation for that provider. Your connection stays in *import pending
    review* until then.
  </Accordion>

  <Accordion title="Can I connect the same provider for two entities?">
    Yes. Each entity has its own connection. The credentials you authorize apply only to the entity you selected in
    **Add data source**.
  </Accordion>

  <Accordion title="Will I need to reconnect once the pipeline is activated?">
    No. The same connection is promoted from *awaiting implementation* to *enabled*. You only need to reconnect if
    the provider itself invalidates the authorization.
  </Accordion>

  <Accordion title="Does this replace native integrations?">
    No. Native connectors continue to import data on the standard schedule. This flow is for accounting systems that
    do not yet have a native connector.
  </Accordion>
</AccordionGroup>
