Skip to main content

Overview

Pre-built tooling

ToolsStatus
Pre-built authorization (OAuth)
Credentials auto-refresh
Pre-built authorization UI
Custom authorization UI
End-user authorization guide
Expired credentials detection
ToolsStatus
Pre-built integrations
API unification
2-way sync
Webhooks from Nango on data modifications
Real-time webhooks from 3rd-party API🚫 (time to contribute: <48h)
Proxy requests
ToolsStatus
HTTP request logging
End-to-type type safety
Data runtime validation
OpenTelemetry export
Slack alerts on errors
Integration status API
ToolsStatus
Create or customize use-cases
Pre-configured pagination🚫 (time to contribute: <48h)
Pre-configured rate-limit handling🚫 (time to contribute: <48h)
Per-customer configurations

Pre-built integrations

EndpointDescriptionReadme
POST /accountsCreates a single account in QuickBooks.🔗
PUT /accountsUpdates a single account in QuickBooks.🔗
GET /accountsFetches all accounts in QuickBooks. Handles both active and archived accounts, saving or deleting them based on their status.🔗
EndpointDescriptionReadme
GET /bill-paymentsFetches all QuickBooks bill payments🔗
EndpointDescriptionReadme
POST /billsCreates a single bill in QuickBooks.🔗
GET /billsFetches all QuickBooks bills🔗
EndpointDescriptionReadme
POST /credit-memosCreates a single credit memo in QuickBooks.🔗
PUT /credit-memosUpdates a single credit memo in QuickBooks.🔗
GET /credit-memosFetches all QuickBooks credit memos🔗
EndpointDescriptionReadme
POST /customersCreates a single customer in QuickBooks.🔗
PUT /customersUpdate a single customer in QuickBooks.🔗
GET /customersFetches all QuickBooks customers. Handles both active and archived customers, saving or deleting them based on their status.🔗
EndpointDescriptionReadme
GET /depositsFetches all QuickBooks deposits🔗
EndpointDescriptionReadme
POST /invoicesCreates a single invoice in QuickBooks.🔗
PUT /invoicesUpdates a single invoice in QuickBooks.🔗
GET /invoicesFetches all invoices in QuickBooks. Handles both active and voided invoices, saving or deleting them based on their status.🔗
EndpointDescriptionReadme
POST /itemsCreates a single item in QuickBooks.🔗
PUT /itemsUpdate a single item in QuickBooks.🔗
GET /itemsFetches all items in QuickBooks. Handles both active and archived items, saving or deleting them based on their status.🔗
EndpointDescriptionReadme
POST /journal-entriesCreates a single journal entry in QuickBooks.🔗
PUT /journal-entriesUpdate a single journal entry in QuickBooks.🔗
GET /journal-entriesFetch all journal entries in QuickBooks🔗
EndpointDescriptionReadme
POST /paymentsCreates a single payment in QuickBooks.🔗
GET /paymentsFetches all payments in QuickBooks. Handles both active and voided payments, saving or deleting them based on their status.🔗
EndpointDescriptionReadme
POST /purchase-ordersCreates a single purchase order in QuickBooks.🔗
EndpointDescriptionReadme
GET /purchasesFetches all QuickBooks purchases🔗
EndpointDescriptionReadme
GET /transfersFetches all QuickBooks transfers🔗
Not seeing the integration you need? Build your own independently.

Access requirements

Pre-RequisitesStatusComment
Paid dev account✅ Not requiredFree, self-signup for an Intuit Developer account.
Paid test account✅ Not requiredDevelopment/sandbox accounts can be created for free from your Developer account.
Partnership✅ Not required
App review✅ Not requiredOnly required for apps published to the Intuit App Store.
Security audit✅ Not required

Setup guide

1

Create an Intuit Developer account

Go to Intuit Developer signup page and create a free account.
2

Create a new app in your Developer account

  1. From your Developer Dashboard, navigate to My Hub > App Dashboard, then click on the Add button.
  2. Select QuickBooks Online and Payments, click Next and provide a name for your app.
  3. Click Next to proceed with adding permissions to your app.
  4. Once you have added permissions, click Done and confirm the permissions you selected. Your application will be created.
3

Configure OAuth settings

In the app you just created:
  1. Navigate to the Settings page, then go to the Redirect URIs tab and add the following URL: https://api.nango.dev/oauth/callback.
  2. Save your changes.
4

Obtain API credentials

  1. Still in your created app, navigate to Keys and credentials page and toggle the Show credentials button to locate your app’s credentials.
  2. Copy the Client ID and Client Secret.
  3. You will need these credentials when configuring your integration in Nango.
5

Create a development/sandbox account for testing

If you don’t have a QuickBooks account already:
  1. From your Developer Dashboard, go to My Hub > Sandbox, then click Add to create a new Sandbox company.
  2. Follow the prompts to create a test company.
  3. Note the Company ID/Realm ID as you’ll need it for API requests.
6

Next

Follow the Quickstart.
Need help getting started? Get help in the community.
TopicLinks
GeneralWebsite
Create a Developer account
Create a sandbox company
DeveloperAPI documentation
Developer dashboard
Authentication documentation
OAuth 2.0 guide
How to register an application
List of OAuth scopes
Rate limits
Contribute useful links by editing this page

Common Scopes

ScopeDescription
com.intuit.quickbooks.accountingAccess to QuickBooks accounting data
com.intuit.quickbooks.paymentAccess to QuickBooks payments data
profileAccess to user profile information
emailAccess to user email address
phoneAccess to user phone number
addressAccess to user address
openidRequired for OpenID Connect authentication

API gotchas

  • QuickBooks requires a company ID/realmId for each API request. To obtain this when creating a new connection on Nango, go to Settings and select Your Account and Settings. On the Your Account page, your Company ID (found under the Billing & Subscription tab) will be displayed at the top. Nango can automatically retrieve this for you, or you can manually override it by specifying the realmId when creating a new connection.
  • You can use getConnection in your integration function to retrieve it, or when you fetch the Connection credentials with the REST API or SDK
  • For sandbox testing, use the quickbooks-sandbox integration in Nango instead of the regular quickbooks integration.
  • QuickBooks access tokens expire after 1 hour, but Nango automatically handles token refresh for you.
Contribute API gotchas by editing this page
I