Skip to main content

QuickBooks MCP Server: 34 Tools for Invoicing, Reporting & Accounting via AI

· 8 min read
MCPBundles

QuickBooks MCP Server

QuickBooks Online is where millions of businesses manage invoicing, bills, payments, and financial reporting. AI agents that can read and write QuickBooks data can automate invoice creation, pull financial reports, track overdue payments, and reconcile changes — all through natural language.

MCP (Model Context Protocol) gives AI agents structured access to the QuickBooks API. There are two ways to connect: Intuit's official MCP server and MCPBundles' 34-tool accounting bundle. This guide covers both.

Two Ways to Connect

1. Intuit's Official MCP Server

Intuit released an official QuickBooks MCP server on GitHub — a Node.js package with ~20 tools covering CRUD operations on core accounting entities (customers, vendors, invoices, bills, payments, estimates). It connects via stdio and handles OAuth.

Pros: First-party, maintained by Intuit, covers core entity operations. Cons: Local npm install and process required, stdio transport (Claude Desktop only).

2. MCPBundles Accounting Bundle — 34 Tools

MCPBundles wraps the full QuickBooks Online API into 34 hosted tools covering everything in Intuit's official server plus financial reports, batch operations, change data capture, PDF generation, void/credit operations, and a SQL-like query tool. One OAuth connection, hosted — every MCP client gets access.

Pros: Full API coverage, financial reports, batch ops, hosted setup, works with any MCP client. Cons: REST-based (not Intuit's official MCP transport).

Both options work — use Intuit's server for a lightweight local setup, the MCPBundles bundle for full API coverage and hosted access, or enable both.


What Each Option Covers

CapabilityIntuit Official (~20 tools)MCPBundles (34 tools)
Customers, Vendors, EmployeesCRUDCRUD (upsert pattern)
Invoices, Bills, PaymentsCRUDFull lifecycle + send
EstimatesBasicCreate + send to customer
SQL-like queriesNoYes (Intuit's query language)
Financial reports (P&L, Balance Sheet, Cash Flow)NoYes (12+ report types)
Batch operations (30 ops per call)NoYes
Change data capture (CDC)NoYes
PDF generation (invoices, estimates)NoYes (base64 download)
File attachmentsNoYes (upload to entities)
Void transactionsNoYes
Credit memos, refund receiptsNoYes
Purchase ordersNoYes
Journal entries, deposits, transfersNoYes
Time activitiesNoYes
Tax codesNoYes (read)
Company info & preferencesBasicFull
Sandbox supportConfig fileOne checkbox
Setupnpm install + local process + OAuth configHosted, OAuth once
Works withClaude Desktop (stdio)Claude, ChatGPT, Cursor, Windsurf, any MCP client

The SQL-Like Query Language

The most powerful read tool in the bundle. QuickBooks Online has its own SQL-like query dialect:

SELECT * FROM Customer WHERE Active = true
SELECT * FROM Invoice WHERE TotalAmt > 100 ORDERBY DueDate
SELECT * FROM Vendor WHERE DisplayName LIKE '%Supply%'
SELECT * FROM Bill WHERE DueDate < '2026-04-01' AND Balance > '0'

Your AI writes these queries naturally. It supports WHERE, ORDERBY, STARTPOSITION, and MAXRESULTS. No JOINs or subqueries — but for targeted accounting lookups, it covers most use cases in a single call.

What Your AI Can Do

Invoice Management

The full invoice lifecycle without opening QuickBooks:

  1. Create invoice — Line items, customer, due date, terms. Your AI constructs the invoice from a conversation.
  2. Send invoice — Email the invoice directly to the customer from QuickBooks.
  3. Record payment — Link a payment to an invoice to mark it paid.
  4. Download PDF — Get a base64 PDF of any invoice for review or forwarding.
  5. Void invoice — Reverse financial impact without deleting the record (audit trail preserved).

Bill & Expense Tracking

Mirror of invoicing, but for money going out:

  1. Create vendor — Add new suppliers.
  2. Create bill — Record what you owe.
  3. Pay bill — Record payment against a bill from a specific bank account.
  4. Purchase orders — Order tracking before goods arrive.
  5. Purchases — Direct expense recording without a bill.

Financial Reporting

12+ report types available through a single tool:

ReportWhat it shows
ProfitAndLossRevenue minus expenses over a period
BalanceSheetAssets, liabilities, equity at a point in time
CashFlowCash inflows and outflows
AgedReceivablesWho owes you money, and how overdue
AgedPayablesWho you owe money, and how overdue
GeneralLedgerEvery transaction in every account
TrialBalanceDebits and credits for all accounts

"What's our P&L for Q1?" — answered in seconds, not by navigating through QuickBooks menus.

Batch Operations

Run up to 30 mutations in a single API call. Create 30 customers, update 30 invoices, or mix operations across entity types. Your AI batches related changes automatically when it makes sense.

Change Data Capture (CDC)

Ask QuickBooks "what changed since last Tuesday?" and get back every entity that was created, updated, or deleted. This is how sync systems work — and your AI can use it to detect drift, reconcile data, or generate change summaries.

Advanced Operations

  • Credit memos — Issue credits against customer accounts
  • Refund receipts — Process customer refunds
  • Journal entries — Manual accounting adjustments
  • Deposits — Record bank deposits grouping multiple payments
  • Transfers — Move money between accounts
  • Time activities — Track billable hours per employee
  • Attachments — Upload receipts, contracts, or documents linked to any entity

Real Workflows

"Find all overdue invoices and tell me the total outstanding"

Your AI runs SELECT * FROM Invoice WHERE DueDate < '2026-04-11' AND Balance > '0', sums the balances, and groups by customer. One prompt replaces the aged receivables report.

"Create an invoice for Acme Corp — 10 hours of consulting at $200/hr"

Your AI looks up the Acme customer record, creates an invoice with one line item (10 × $200), sets net-30 terms, and sends it directly to the customer's email.

"What's our cash position?"

Balance sheet report filtered to current period, plus a cash flow statement. Your AI reads both and gives you the headline number and any notable changes.

"Sync everything that changed this week"

CDC query with a timestamp from Monday. Your AI gets back every modified customer, invoice, bill, payment, and vendor — ready for reconciliation with your other systems.

The Upsert Pattern

Every write tool uses QuickBooks' optimistic concurrency model:

  • Create: Omit id and sync_token — returns the new entity
  • Update: Provide id plus a fresh sync_token from a recent read — QuickBooks rejects stale tokens to prevent overwrites
  • Deactivate: Customers, vendors, and employees can't be deleted — set active: false instead
  • Void: Transactions can be voided (preserves audit trail) or deleted

Your AI handles this automatically — it reads before writing to get the current sync token.

Setup

  1. Enable the QuickBooks bundle on MCPBundles
  2. Connect via OAuth (QuickBooks prompts you to select the company)
  3. Ask your AI: "Show me the company info and list the last 10 invoices"

The OAuth flow captures your Company ID (realm) automatically. Sandbox and production environments are supported — toggle with one checkbox.

FAQ

How does this compare to Intuit's official QuickBooks MCP server?

Intuit's official server covers core entity CRUD with ~20 tools via a local npm process. MCPBundles adds financial reports, batch operations, change detection, PDF downloads, void/credit operations, and a SQL-like query tool — 34 tools total, hosted. You can use both: Intuit's for lightweight local access, MCPBundles for the extended API surface.

Can my AI access my live QuickBooks data?

Yes. After OAuth, your AI has direct access to your QuickBooks Online company data. Every tool call hits the live API. For testing, enable the sandbox checkbox to connect to an Intuit sandbox company instead.

What about multi-entity accounting?

The SQL-like query tool supports filtering across all entity types. Your AI can query customers, invoices, vendors, bills, accounts, items, and more — each with WHERE clauses, ordering, and pagination.

Is there a sandbox mode?

Yes. Toggle "Use QuickBooks sandbox API" in the credential settings to route all API calls to Intuit's sandbox environment. Useful for testing without affecting production data.

Can my AI send invoices to customers?

Yes. The send invoice tool emails the invoice directly from QuickBooks to the customer. Same for estimates — create and send in two calls.