# Sync with QuickBooks Online

> Make a free app at Intuit, paste its keys on the Apps page, and Crewtavo sends clients, invoices and payments to QuickBooks Online as they happen.

When QuickBooks Online is where your books live, Crewtavo sends your clients, invoices and payments there as they happen. Your bookkeeper works in QuickBooks, your team works in Crewtavo, and nobody types anything twice.

Crewtavo connects through an app you make at Intuit, for your business only. The app is free. Intuit asks some questions about it before it works with your real books, so allow a few days for that.

## Make your app at Intuit

Open **Apps → QuickBooks Online** in Crewtavo and click **Install**. It shows these steps with every address ready to copy.

1. Sign in to [Intuit Developer](https://developer.intuit.com/) with your Intuit account and create an app for **QuickBooks Online**. Name it Crewtavo and give it the **Accounting** permission.
2. In the app's **production** settings, fill in its details with the addresses Crewtavo shows: the host domain, the launch, disconnect and connect/reconnect URLs, and the end-user license agreement URL (your Crewtavo address followed by `/license`). For the privacy policy URL, use your website's privacy page, or your website's address if it doesn't have one.
3. Add the **Redirect URI** Crewtavo shows to the production redirect URIs. It ends in `/api/apps/quickbooks/callback`.
4. Answer Intuit's **app assessment questionnaire**. Intuit asks it even of an app only your business uses. Your production keys work once Intuit has reviewed it.

## Install

1. Copy the production **Client ID** and **Client Secret** from **Keys and credentials** at Intuit.
2. Paste them in Crewtavo under **Apps → QuickBooks Online** and click **Save keys**.
3. Click **Sign in to QuickBooks Online**, sign in to QuickBooks and pick your company. Back in Crewtavo, QuickBooks Online shows as installed, with a check on the Apps page.

The secret is stored encrypted on your own server and never shown again.

:::tip[Try it first with a sandbox company]
Intuit's development keys work right away, but only with a free QuickBooks sandbox company. Tick **These are development keys** when you paste them, and add the Redirect URI to the app's development settings too. When Intuit has reviewed your app, switch to the production keys with **Change keys**.
:::

## What syncs

- **Clients** become QuickBooks customers when their first invoice goes over, not on their own. A customer with the same name is used instead of adding another.
- **Invoices** arrive when they're sent, with their lines, discounts and tax.
- **Payments** are recorded against their invoice, including ones clients pay through [Stripe](https://crewtavo.com/docs/connections/stripe/).

Syncing goes one way, from Crewtavo to QuickBooks. Record payments in Crewtavo, or let Stripe record them: a payment entered only in QuickBooks doesn't show up in Crewtavo, so the client would still look like they owe it. Refunds aren't sent yet, so enter those in QuickBooks yourself.

## If something doesn't sync

**Apps → QuickBooks Online** shows when Crewtavo last synced, and anything QuickBooks turned down. A change that didn't go through is tried again on its own.

- **"Needs to be reconnected"**: QuickBooks stopped accepting the sign-in. Click **Reconnect**.
- **"Didn't accept the Client ID and secret"**: a key was pasted wrong. Click **Change keys** and paste them again.
- **Nothing syncs after connecting with development keys**: tick **These are development keys** under **Change keys**, since those keys only reach a sandbox company.

## Uninstalling

**Uninstall**, at the top of **Apps → QuickBooks Online**, stops syncing. Nothing already in QuickBooks is deleted. Your app's keys stay, so installing it again is one sign-in. **Remove keys** forgets them too.

Source: https://crewtavo.com/docs/connections/quickbooks/ (last updated 2026-11-04)
