# QuickBooks

Connect QuickBooks Online to Suger so your marketplace billing flows straight into your accounting ledger.

---

## Overview

QuickBooks is a cloud accounting platform for invoicing, payments, and financial reporting. Connecting QuickBooks to Suger opens a secure OAuth channel between your marketplace billing and your QuickBooks ledger, so invoices and related billing data can sync into the QuickBooks Company Account you choose.

### Org-Level vs User-Level

> **Org-Level Only**: QuickBooks connects at the organization level using a QuickBooks Developer App (Client ID and Client Secret) plus an OAuth authorization to a single Company Account. The connection is shared across your organization.

## Create Integration (Org-Level)

Setting up QuickBooks has three parts: configure a QuickBooks Developer App, complete the OAuth handshake in Suger, then verify the connection.

### Prerequisites

- A QuickBooks Online account with the Company Account you want to sync
- Access to the [QuickBooks Developer Portal](https://developer.intuit.com) to create an app and retrieve credentials

### Step 1: Configure your QuickBooks Developer App

Before Suger can talk to your ledger, set up a secure communication channel in the QuickBooks Developer Portal.

1. **Set the Redirect URI**. In your app settings, add the following Redirect URI exactly:

   ```
   https://api.suger.cloud/public/integration/quickbooks/oauthCallback
   ```

2. **Retrieve credentials**. Go to the **Keys & credentials** section of your app.
3. **Copy your Client ID and Client Secret**. Keep these secure and never share them publicly.

### Step 2: Establish the handshake in Suger

Once you have your credentials, initiate the OAuth handshake from the Suger side.

1. In the [Suger Console](https://console.suger.io/settings?tab=integrations), go to **Settings > Integrations**.
2. Find the QuickBooks card and click **Connect**.
3. Paste your **Client ID** and **Client Secret** into the respective fields.
4. A QuickBooks login page opens. Sign in and select the specific **Company Account** you want to connect to Suger.
5. Review the permissions and click **Connect**. You are returned to the Suger Console automatically.

### Step 3: Verify and test

A status of **Connected** means the connection is open; **Verified** confirms data is flowing.

1. Find QuickBooks in your active integrations list and click **Verify**.
2. Suger reads a small sample of recent data to confirm the connection is active.
3. When the status changes to **Verified**, your marketplace-to-ledger pipeline is live.

## Edit Integration

Editing credentials is not supported. To change keys, delete the integration and reconnect with the new Client ID and Client Secret.

## Delete Integration

To disconnect from the Suger side, click the **Trash** icon on the QuickBooks card to purge the stored credentials. To disconnect from the QuickBooks side, go to **Account Settings > Connected Apps** in QuickBooks and uninstall the Suger app.

:::info
Disconnecting stops all future syncing but does not delete any data or invoices already pushed into your QuickBooks ledger.
:::
