Financial

QuickBooks MCP Server

Use Studio chat to drive this server — credentials stay in your workspace.

QuickBooks Online is accounting software for managing invoicing, expenses, payroll, and financial reporting. Query customers, vendors, invoices, bills, accounts, and generate financial reports like P&L and Balance Sheet.

33 tools
Agent guide included
One-click sign in
Start Chatting

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for QuickBooks — workflow patterns, data models, and gotchas for your AI agent.

QuickBooks Online

All data is scoped to a Company (realm). realm_id is bound on the connection and applied automatically to every tool call.

Sandbox vs production API

Intuit exposes two accounting API hosts. The OAuth token and realm_id belong to one environment only. Use the credential Use QuickBooks sandbox API option for sandbox/developer companies; leave it off for live QuickBooks Online. Wrong host yields HTTP 403 / Intuit error 3100 (ApplicationAuthorizationFailed).

Key Entities

  • Customer — buyers; linked to Invoices, Payments, Estimates, RefundReceipts
  • Vendor — suppliers; linked to Bills, PurchaseOrders, BillPayments
  • Invoice — sales documents (amounts owed by customers)
  • Bill — purchase documents (amounts owed to vendors)
  • Payment — customer payments applied to invoices
  • Account — chart of accounts (assets, liabilities, equity, income, expenses)
  • Item — products/services used on invoice/bill line items
  • Employee — staff members for time tracking and payroll
  • Estimate — quotes/proposals (can be sent to customers)
  • PurchaseOrder — orders to vendors before receiving goods
  • RefundReceipt — refunds given to customers

SQL-like query language (most powerful read path)

The query tool accepts Intuit’s SQL-like dialect, for example:

  • SELECT * FROM Customer WHERE Active = true
  • SELECT * FROM Invoice WHERE TotalAmt > 100 ORDERBY DueDate
  • SELECT * FROM Vendor WHERE DisplayName LIKE '%Supply%'
  • Supports: WHERE, ORDERBY, STARTPOSITION, MAXRESULTS
  • Does NOT support: OR, JOIN, GROUP BY, subqueries

Reports

The report tool produces standard accounting outputs: ProfitAndLoss, BalanceSheet, CashFlow, AgedReceivables, AgedPayables, GeneralLedger, TrialBalance, and more.

Upsert Pattern

All write tools use the upsert pattern:

  • Create: Omit id and sync_token — returns the new entity with its QuickBooks ID
  • Update: Provide id plus a fresh sync_token from a read of the same entity—QuickBooks rejects stale optimistic concurrency tokens.
  • Customers/Vendors/Employees cannot be deleted — set active=false instead
  • Transactions can be voided (preferred for audit trail) or deleted

Advanced features

  • Batch: Run up to 30 mutating operations in one round trip
  • CDC: List everything changed since a watermark timestamp
  • PDF: Materialize base64 PDFs for invoices and estimates
  • Attachments: Upload files linked to any supported entity
  • Void: Reverse financial impact without deleting the source transaction

Common workflows

  1. Find overdue invoices: SELECT * FROM Invoice WHERE DueDate < '2025-01-01' AND Balance > '0'
  2. Create and send invoice: Create customer → create invoice → send invoice
  3. Record payment: Find invoice ID → create payment linked to invoice
  4. Expense tracking: Create vendor → create bill → pay bill from bank account
  5. Procurement: Create PO → receive goods → convert to bill → pay bill
  6. Refund: Create refund receipt linked to customer
  7. Bulk import: Use batch tool to create up to 30 entities at once
  8. Sync changes: Use CDC to detect all entities modified since last sync

Tools in this Server (33)

Quickbooks Batch

Execute up to 30 QuickBooks operations in a single API call. Supports create, update, delete, and query operations on any entity type. Each operation ...

Quickbooks Cdc Query

Change Data Capture — find all entities that changed since a given timestamp. Returns created, updated, and deleted entities across multiple types in ...

Quickbooks Delete Entity

Delete a QuickBooks entity (transaction). Only works for transaction types (Invoice, Bill, Payment, etc.). Customers and Vendors cannot be deleted — u...

Quickbooks Download Pdf

Download a QuickBooks transaction as a PDF document (base64-encoded). Supports Invoice, Estimate, SalesReceipt, CreditMemo, and Purchase. Returns base...

Quickbooks Get Company Info

Get company information for the connected QuickBooks account. Returns company name, address, industry, fiscal year, and other details.

Quickbooks Get Entity

Retrieve a single QuickBooks entity by type and ID. Returns complete details including all fields and metadata. Use quickbooks_query to search/list en...

Quickbooks Get Preferences

Read the company's QuickBooks preferences including invoice settings, payment terms, sales tax configuration, accounting method (cash/accrual), fiscal...

Quickbooks Get Report

Generate a QuickBooks financial report. Supports Profit & Loss, Balance Sheet, Cash Flow, Aged Receivables/Payables, General Ledger, Trial Balance, an...

Quickbooks Get Tax Codes

List all tax codes configured in QuickBooks with their associated tax rates. Tax codes define how items are taxed on invoices and sales receipts. Retu...

Quickbooks Pay Bill

Pay a vendor bill in QuickBooks. Records payment from a bank account against a bill. This is for money PAID to vendors — use quickbooks_upsert_payment...

Quickbooks Query

Execute a SQL-like query against QuickBooks Online data. Query any entity type (Customer, Vendor, Invoice, Bill, Account, Payment, etc.) with WHERE fi...

Quickbooks Send Estimate

Send an estimate/quote to the customer via email. Uses the estimate's BillEmail by default, or override with send_to parameter. The estimate must exis...

Quickbooks Send Invoice

Send an invoice to the customer via email. Uses the invoice's BillEmail by default, or override with send_to parameter.

Quickbooks Upload Attachment

Upload a file attachment to a QuickBooks entity (invoice, bill, receipt, etc.). Accepts base64-encoded file content. Useful for attaching receipts, co...

Quickbooks Upsert Account

Create or update a chart-of-accounts entry in QuickBooks. Omit id to create, provide id+sync_token to update. Use for setting up income, expense, bank...

Quickbooks Upsert Bill

Create or update a bill (payable) in QuickBooks. Bills represent money owed to vendors — use quickbooks_pay_bill to record payment. Omit id to create,...

Quickbooks Upsert Credit Memo

Create or update a credit memo (refund/credit) in QuickBooks. Credit memos reduce the amount a customer owes and can be applied to open invoices. Use ...

Quickbooks Upsert Customer

Create or update a customer in QuickBooks. Omit id to create a new customer, provide id+sync_token to update. Set active=false to deactivate (customer...

Quickbooks Upsert Deposit

Record or update a bank deposit in QuickBooks. Deposits combine multiple payments/funds into a single bank deposit transaction. Use for recording depo...

Quickbooks Upsert Employee

Create or update an employee in QuickBooks. Omit id to create, provide id+sync_token to update. Employees are used for time tracking and payroll. Set ...

Quickbooks Upsert Estimate

Create or update a quote/estimate in QuickBooks. Estimates can be sent to customers and later converted to invoices. Use quickbooks_send_estimate to e...

Quickbooks Upsert Invoice

Create or update an invoice in QuickBooks. Omit id to create, provide id+sync_token to update. Requires customer ID and line items with item reference...

Quickbooks Upsert Item

Create or update a product/service item in QuickBooks. Items are used as line items on invoices, estimates, bills, and sales receipts. Service items n...

Quickbooks Upsert Journal Entry

Create or update a manual journal entry in QuickBooks. Journal entries must balance — total debits must equal total credits. Use for adjustments, accr...

Quickbooks Upsert Payment

Record or update a customer payment in QuickBooks. Can be linked to a specific invoice or recorded as unapplied. This is for money RECEIVED from custo...

Quickbooks Upsert Purchase

Record or update a direct expense/purchase (check, cash, or credit card). Unlike bills, purchases are paid immediately — no accounts payable. Use for ...

Quickbooks Upsert Purchase Order

Create or update a purchase order in QuickBooks. Omit id to create, provide id+sync_token to update. Purchase orders track items/services ordered from...

Quickbooks Upsert Refund Receipt

Create or update a refund receipt in QuickBooks. Omit id to create, provide id+sync_token to update. Records a refund given to a customer — reduces re...

Quickbooks Upsert Sales Receipt

Record or update a cash sale (payment received at time of sale). Unlike invoices, sales receipts combine the sale and payment in one transaction. Use ...

Quickbooks Upsert Time Activity

Record or update time worked by an employee or vendor in QuickBooks. Time entries can be marked billable and linked to customers for invoicing. Use fo...

Quickbooks Upsert Transfer

Transfer funds between two bank accounts in QuickBooks. Both accounts must be bank-type accounts.

Quickbooks Upsert Vendor

Create or update a vendor/supplier in QuickBooks. Omit id to create a new vendor, provide id+sync_token to update. Set active=false to deactivate (ven...

Quickbooks Void Transaction

Void a transaction in QuickBooks. Voiding keeps the record visible but reverses its financial impact — preferred over deletion for audit trails. Suppo...

Frequently Asked Questions

What is the QuickBooks MCP server?

QuickBooks Online is accounting software for managing invoicing, expenses, payroll, and financial reporting. Query customers, vendors, invoices, bills, accounts, and generate financial reports like P&L and Balance Sheet. It provides 33 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect QuickBooks to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/quickbooks. Authentication is handled automatically.

How many tools does QuickBooks provide?

QuickBooks provides 33 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does QuickBooks require?

QuickBooks uses One-click sign in. QuickBooks requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect QuickBooks to any MCP client in minutes

https://mcp.mcpbundles.com/bundle/quickbooks

What is MCP?

Model Context Protocol lets AI tools call external capabilities securely through a single URL. This bundle groups tools behind an MCP endpoint that many clients can use.

Use this bundle in 3 steps

  1. Copy the MCP URL above
  2. Open your AI tool and add a new MCP/connector
  3. Paste the URL and follow any auth prompts

Claude Desktop Users

Skip the manual setup! Use the .mcpb file format for one-click installation. Check the Claude Desktop tab for setup instructions.

Pick your tool tab for exact steps

Select ChatGPT, Cursor, Claude Code, or another tab for copy-paste config.

Ready to chat with QuickBooks?

Same flow: Studio opens on this server after sign-in. Keep chatting to call tools from the conversation.

QuickBooks MCP Server & Skill — 33 Tools