## QuickBooks integration QuickBooks Online is a cloud-based accounting platform for small and medium businesses that handles invoicing, expense tracking, payments, and financial reporting. Integrating QuickBooks with Frontegg allows your application to manage customers, invoices, payments, vendors, bills, accounts, items, estimates, purchase orders, sales receipts, employees, and time activities on behalf of your users using OAuth 2.0. Prerequisites - An [Intuit account](https://developer.intuit.com) - Access to the [Intuit Developer portal](https://developer.intuit.com) ### Connect QuickBooks #### Step 1: Create an app on Intuit Developer Navigate to [developer.intuit.com](https://developer.intuit.com) and sign in, or create an Intuit account if you don't have one. Complete the short onboarding (your role, a workspace name, and company information), then create an app for the **QuickBooks Online and Payments** platform and give it a descriptive name, for example `Frontegg Integration`. After the app is created, you land on the **App Overview** page, which confirms the app exists and shows its current status. ![QuickBooks app overview page](/assets/quickbooks-1.0608825aafdd5121ca4ed6f14254098ff1d64e475f5a7b48b9db616f6492084b.1ce25488.png) #### Step 2: Copy your Client ID and Client Secret In the left menu, click **Keys and credentials**. Select the environment that matches how you will connect: - **Development** — keys for testing against QuickBooks sandbox companies. - **Production** — keys for live company data (available after your app is approved for production). Toggle **Show credentials** to reveal the **Client ID** and **Client secret**, then copy both — you will need them when configuring the Frontegg portal. ![QuickBooks keys and credentials page](/assets/quickbooks-2.2e5bd733e33589cfb6e5262394d2f4a1bf713172b353a9201d4f3eb48e74c70d.1ce25488.png) Keep your credentials secure The Client Secret is sensitive. Copy it directly from the Intuit Developer portal into the Frontegg portal, and never share it or commit it to version control. #### Step 3: Review the authorization scopes Click **Permissions** in the left menu. QuickBooks apps request OAuth scopes that determine which data your integration can access. By default, the **QuickBooks Online and Payments** platform grants the accounting and payments scopes: | Scope | Description | | --- | --- | | `com.intuit.quickbooks.accounting` | Read and write accounting data — customers, invoices, vendors, bills, accounts, items, and more | | `com.intuit.quickbooks.payment` | Read and write payment data | Minimum required scope For basic functionality, you need `com.intuit.quickbooks.accounting`. ![QuickBooks authorization scopes](/assets/quickbooks-3.62553fedab079e77bb79cbecd60e9c7ea53049da01744dd48e1290c11ac386ad.1ce25488.png) #### Step 4: Configure the redirect URL Go to **Settings** → **Redirect URIs** and select the same environment whose keys you copied in Step 2 (**Development** or **Production**). Click **Add URI**, enter your Frontegg Redirect URL, then click **Save**: - `https://YOUR_MCP_GATEWAY_URL/integration-callback` ![QuickBooks redirect URI configuration](/assets/quickbooks-4.7f4b52665508b231f0539031759bd10b23e8822d3d7be90f64c344b3258cd9b0.1ce25488.png) ### Configure the Frontegg portal Once you have obtained your **Client ID** and **Client Secret** from the steps above, enter them in the integration configuration page of the Frontegg portal: 1. Open the **Frontegg portal** and navigate to [ENVIRONMENT] → Integrations → QuickBooks. 2. Enter the **Client ID** and **Client Secret** in the corresponding fields. 3. Select the required **scopes**: | Scope | Description | | --- | --- | | `com.intuit.quickbooks.accounting` | Read and write accounting data — customers, invoices, vendors, bills, accounts, items, estimates, purchase orders, and sales receipts | | `com.intuit.quickbooks.payment` | Read and write payment data | | `com.intuit.quickbooks.payroll` | Access payroll data | | `com.intuit.quickbooks.payroll.timetracking` | Access payroll time tracking data | | `com.intuit.quickbooks.payroll.benefits` | Access payroll benefits data | 1. Click **Save**. Keep your credentials secure Never share or commit your Client Secret to version control. ### Additional resources - [QuickBooks OAuth 2.0 documentation](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0) - [QuickBooks API scopes reference](https://developer.intuit.com/app/developer/qbo/docs/learn/scopes) - [Intuit Developer portal](https://developer.intuit.com) - [QuickBooks Accounting API reference](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account) - [How to get your Redirect URL](/agen-for-work/connectors/redirect-url)