IntegrateIntegrate
Integrations

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

  1. Create an OAuth application for QuickBooks Online
  2. Configure your redirect URI
  3. 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.accounting
  • openid
  • profile
  • email
  • offline_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

On this page