QuickBooks Online Integration
Manage QuickBooks Online company data, customers, vendors, items, accounts, invoices, bills, payments, reports, and queries
The QuickBooks Online integration provides access to manage QuickBooks Online company data, customers, vendors, items, accounts, invoices, bills, payments, reports, and queries through the Integrate MCP server.
Installation
The QuickBooks Online integration is included with the SDK:
import { quickbooksIntegration } from "integrate-sdk/server";Setup
1. Create a QuickBooks Online OAuth App
- Create an OAuth application for QuickBooks Online
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the QuickBooks Online integration to your server configuration. The integration automatically reads QUICKBOOKS_CLIENT_ID and QUICKBOOKS_CLIENT_SECRET from your environment variables:
import { createMCPServer, quickbooksIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
quickbooksIntegration({
scopes: ["com.intuit.quickbooks.accounting", "openid", "profile", "email", "offline_access"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
quickbooksIntegration({
clientId: process.env.CUSTOM_QUICKBOOKS_ID,
clientSecret: process.env.CUSTOM_QUICKBOOKS_SECRET,
scopes: ["com.intuit.quickbooks.accounting", "openid", "profile", "email", "offline_access"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("quickbooks");
const result = await client.quickbooks.getCompanyInfo({
company_id: "value",
});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, quickbooksIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [quickbooksIntegration()],
});Configuration Options
Prop
Type
Default Scopes
These defaults are applied unless you override scopes in the integration config:
com.intuit.quickbooks.accountingopenidprofileemailoffline_access
Tools
quickbooks_get_company_info
Get company info
Prop
Type
quickbooks_query
Query
Prop
Type
quickbooks_list_customers
List customers
Prop
Type
quickbooks_get_customer
Get customer
Prop
Type
quickbooks_create_customer
Create customer
Prop
Type
quickbooks_list_vendors
List vendors
Prop
Type
quickbooks_create_vendor
Create vendor
Prop
Type
quickbooks_list_items
List items
Prop
Type
quickbooks_create_item
Create item
Prop
Type
quickbooks_list_accounts
List accounts
Prop
Type
quickbooks_list_invoices
List invoices
Prop
Type
quickbooks_get_invoice
Get invoice
Prop
Type
quickbooks_create_invoice
Create invoice
Prop
Type
quickbooks_list_bills
List bills
Prop
Type
quickbooks_create_bill
Create bill
Prop
Type
quickbooks_create_payment
Create payment
Prop
Type
quickbooks_get_report
Get report
Prop
Type
Notes
- Category: Accounting
- Authentication mode: OAuth