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
export interface QuickBooksIntegrationConfig {
clientId?: string;
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
export interface QuickbooksGetCompanyInfoParams { company_id: string;
quickbooks_query
Query
export interface QuickbooksQueryParams { company_id: string;
quickbooks_list_customers
List customers
export interface QuickbooksListCustomersParams { company_id: string;
quickbooks_get_customer
Get customer
export interface QuickbooksGetCustomerParams { company_id: string;
quickbooks_create_customer
Create customer
export interface QuickbooksCreateCustomerParams { company_id: string;
quickbooks_list_vendors
List vendors
export interface QuickbooksListVendorsParams { company_id: string;
quickbooks_create_vendor
Create vendor
export interface QuickbooksCreateVendorParams { company_id: string;
quickbooks_list_items
List items
export interface QuickbooksListItemsParams { company_id: string;
quickbooks_create_item
Create item
export interface QuickbooksCreateItemParams { company_id: string;
quickbooks_list_accounts
List accounts
export interface QuickbooksListAccountsParams { company_id: string;
quickbooks_list_invoices
List invoices
export interface QuickbooksListInvoicesParams { company_id: string;
quickbooks_get_invoice
Get invoice
export interface QuickbooksGetInvoiceParams { company_id: string;
quickbooks_create_invoice
Create invoice
export interface QuickbooksCreateInvoiceParams { company_id: string;
quickbooks_list_bills
List bills
export interface QuickbooksListBillsParams { company_id: string;
quickbooks_create_bill
Create bill
export interface QuickbooksCreateBillParams { company_id: string;
quickbooks_create_payment
Create payment
export interface QuickbooksCreatePaymentParams { company_id: string;
quickbooks_get_report
Get report
export interface QuickbooksGetReportParams { company_id: string;
Notes
- Category: Accounting
- Authentication mode: OAuth