Reference
QuickBooks
Set up QuickBooks OAuth for accounting and financial management
Overview
Section titled “Overview”Connect your users to QuickBooks for accounting data, invoicing, expense tracking, and financial reporting.
| Property | Value |
|---|---|
| Provider ID | quickbooks |
| Category | Finance |
| PKCE | Supported |
| Token refresh | Automatic |
| Redirect URI | Shown in Developer Portal |
Step 1: Create a QuickBooks OAuth App
Section titled “Step 1: Create a QuickBooks OAuth App”Go to the Intuit Developer Dashboard
Navigate to developer.intuit.com/app/developer/dashboard and sign in.
Create a new app
Click Create an app, select QuickBooks Online and Payments, and fill in the app name.
Configure the redirect URI
Under Development > Keys & OAuth, add the Alter callback URL from the Developer Portal to the Redirect URIs field.
Get credentials
Copy the Client ID and Client Secret.
Step 2: Add to Alter Vault
Section titled “Step 2: Add to Alter Vault”Open the Developer Portal
Go to portal.alterauth.com and navigate to the application.
Add QuickBooks provider
Go to OAuth Providers > Add Provider > QuickBooks.
Enter credentials
- Client ID: Paste your QuickBooks Client ID
- Client Secret: Paste your QuickBooks Client Secret
Select scopes
Choose the scopes the application needs.
Save
Click Save. The provider is now active.
Available Scopes
Section titled “Available Scopes”| Scope | Description |
|---|---|
com.intuit.quickbooks.accounting | Access to QuickBooks accounting data |
com.intuit.quickbooks.payment | Access to QuickBooks payment data |
openid | Access to OpenID Connect identity |
profile | Access to user profile information |
email | Access to user email address |
- QuickBooks has separate sandbox and production environments. Use sandbox credentials during development.
- The
com.intuit.quickbooks.accountingscope is required for most accounting operations. - See the QuickBooks OAuth 2.0 documentation for more details.
Policy-cataloged operations
Section titled “Policy-cataloged operations”Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.
| Operation ID | Families | Method | Provider path |
|---|---|---|---|
accounts/create | write | POST | /v3/company/{realmId}/account |
accounts/get | read | GET | /v3/company/{realmId}/account/{accountId} |
batch | delete, payment, read, write | POST | /v3/company/{realmId}/batch |
bills/create | write | POST | /v3/company/{realmId}/bill |
bills/get | read | GET | /v3/company/{realmId}/bill/{billId} |
companyinfo/get | read | GET | /v3/company/{realmId}/companyinfo/{companyInfoId} |
customers/create | write | POST | /v3/company/{realmId}/customer |
customers/get | read | GET | /v3/company/{realmId}/customer/{customerId} |
invoices/create | write | POST | /v3/company/{realmId}/invoice |
invoices/get | read | GET | /v3/company/{realmId}/invoice/{invoiceId} |
invoices/send | send | POST | /v3/company/{realmId}/invoice/{invoiceId}/send |
items/create | write | POST | /v3/company/{realmId}/item |
items/get | read | GET | /v3/company/{realmId}/item/{itemId} |
payments/create | payment, write | POST | /v3/company/{realmId}/payment |
payments/get | read | GET | /v3/company/{realmId}/payment/{paymentId} |
preferences/get | read | GET | /v3/company/{realmId}/preferences |
query | read | GET | /v3/company/{realmId}/query |
reports/balance-sheet | read | GET | /v3/company/{realmId}/reports/BalanceSheet |
reports/profit-and-loss | read | GET | /v3/company/{realmId}/reports/ProfitAndLoss |
vendors/create | write | POST | /v3/company/{realmId}/vendor |
vendors/get | read | GET | /v3/company/{realmId}/vendor/{vendorId} |