Connector guide6-minute read17 MCP tools7 languages

QuickBooks Online to MCP: Drive QuickBooks Online from any AI Agent

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

HCBy HelpCode teamUpdated 6 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

QuickBooks Online

QuickBooks Online

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

tools

17

Region

INTL

Category

Accounting

Authentication

OAuth 2.0

Required env vars

QBO_CLIENT_IDQBO_CLIENT_SECRETQBO_REALM_IDQBO_API_URL
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the QuickBooks Online in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

Try asking

Example prompts for QuickBooks Online

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

QuickBooks Online · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → QuickBooks Online, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

QuickBooks Online

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

Setup

  1. Sign in at developer.intuit.com, open My Hub → App dashboard → Create an app, choose QuickBooks Online and Payments and select the scope com.intuit.quickbooks.accounting.
  2. Under Settings → Redirect URIs, add https://cloud.anythingmcp.com/api/mcp-oauth/callback for Development and, later, for Production. If you host AnythingMCP yourself, enter https://your-anythingmcp-host/api/mcp-oauth/callback instead. The URI must match exactly.
  3. Copy the Client ID and Client Secret from Keys & credentials into QBO_CLIENT_ID and QBO_CLIENT_SECRET. Development keys work only with sandbox companies. Production keys work with real companies; Intuit grants them after a short app assessment (a questionnaire on the app dashboard).
  4. Find the company's realm id (Company ID): in QuickBooks, click the gear icon, open Account and settings → Billing & subscription and copy the Company ID without spaces. For a sandbox company, it is on the developer site under Sandboxes. Paste it into QBO_REALM_ID.
  5. Set QBO_API_URL to https://quickbooks.api.intuit.com for a real company or to https://sandbox-quickbooks.api.intuit.com for a sandbox company. It must match the keys: development keys with the sandbox URL, production keys with the production URL.
  6. Install the connector, click Authorize with Provider on the connector page, sign in to Intuit and connect the same company.
  7. Start with qbo_get_company_info and check the company name before the AI reads or writes anything. One connector works with one company; install it again for a second company.

Staying signed in: access tokens last an hour and are renewed automatically. A refresh token that is not used for 100 days expires, and every authorization ends after 5 years at the latest. After that, or if the app is disconnected in QuickBooks, click Authorize with Provider again. Don't use the same Intuit app in another tool at the same time: Intuit replaces the refresh token about once a day, and one of the two would be left with an old one.

Permissions and read-only setup: the scope com.intuit.quickbooks.accounting gives read and write access to the accounting data, as far as the role of the QuickBooks user who signs in allows. Intuit has no read-only accounting scope. For a read-only setup, sign in with a user whose role cannot create transactions, and disable qbo_create_customer, qbo_update_customer and qbo_create_invoice.

Switched off at install: qbo_send_invoice, which emails an invoice to the customer in your company's name, and qbo_delete_invoice. Turn them on only if the AI should send or delete invoices.

Invoices are booked at once: QuickBooks has no draft invoices. An invoice the AI creates raises the customer's balance and shows up in reports right away, but it is not emailed. Customers cannot be deleted, only made inactive.

Customer names: a customer's display name must be unique across customers, vendors and employees, and it cannot contain a colon (QuickBooks uses colons to separate sub-customers), a tab or a line break.

Common errors: 401 AuthenticationFailed (3200) means the authorization expired or was revoked, or QBO_API_URL does not match the keys: check the URL, then click Authorize with Provider again. 403 ApplicationAuthorizationFailed (3100) means the realm id belongs to a company this sign-in was not granted for, or the user's role lacks access. 400 QueryParserError means a syntax error in a query. 6240 Duplicate Name Exists Error means the display name is taken; 2040 Invalid String means a name contains a colon, a tab or a line break; 5010 Stale Object Error means the record changed in the meantime and has to be read again. 429 means the limit of 500 requests per minute was reached: wait a minute.

The connector does not handle invoice PDFs and attachments, recording payments, bank feeds, payroll or QuickBooks Desktop, and it deletes nothing except invoices.

Prerequisites: QBO_CLIENT_ID, QBO_CLIENT_SECRET, QBO_REALM_ID, QBO_API_URL

Install the connector locally

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Open http://localhost:3000/connectors/store, pick QuickBooks Online and paste in the env vars listed under Prerequisites.

Available tools

ToolWhat it does
qbo_get_company_infoRead the connected company: CompanyName, LegalName, addresses, email, phone, Country, FiscalYearStartMonth, the company's start date and…
qbo_queryRun a read-only QuickBooks query (SQL-like, one entity, no joins): e.g. "select * from Invoice where Balance > '0' orderby DueDate…
qbo_get_customerRead one customer by its Id (the numeric Id from qbo_query, not a document number or name), with contact details, addresses, Balance and…
qbo_get_invoiceRead one invoice by its Id (the numeric Id from qbo_query, not a document number or name), with its lines, totals, Balance, due date…
qbo_get_itemRead one item (product or service) by its Id (the numeric Id from qbo_query, not a document number or name), with prices, income and…
qbo_get_vendorRead one vendor by its Id (the numeric Id from qbo_query, not a document number or name), with contact details, addresses and Balance
qbo_get_billRead one bill (a vendor's invoice to the company) by its Id (the numeric Id from qbo_query, not a document number or name), with its lines…
qbo_get_paymentRead one customer payment by its Id (the numeric Id from qbo_query, not a document number or name), with the invoices it was applied to…
qbo_create_customerCreate a customer
qbo_update_customerChange some fields of a customer (sparse update); fields not named keep their values
qbo_create_invoiceCreate an invoice for a customer
qbo_send_invoiceEmail an invoice to the customer as a PDF from QuickBooks, to the invoice's BillEmail or to send_to (which also becomes the invoice's…
qbo_delete_invoiceDelete an invoice permanently (it disappears from reports; QuickBooks keeps it in the audit log)
qbo_report_profit_and_lossProfit and Loss report (income, cost of goods sold, expenses, net income) for a period, as QuickBooks' report JSON: Header, Columns and…
qbo_report_balance_sheetBalance Sheet report (assets, liabilities, equity) as of the end of a period, as QuickBooks' report JSON with nested Rows
qbo_report_aged_receivablesAged Receivables summary: what each customer owes, split into Current, 1-30, 31-60, 61-90 and 91+ days past due, as of report_date (default…
qbo_report_aged_payablesAged Payables summary: what the company owes each vendor, split into Current, 1-30, 31-60, 61-90 and 91+ days past due, as of report_date…

Example prompts

  • "Which invoices are overdue, and how much does each customer owe?"
  • "Show me the Profit and Loss for this fiscal year, month by month."
  • "Create an invoice for Acme Ltd: 10 hours of the Consulting service, due in 30 days."
  • "Which vendor bills are more than 60 days past due?"

Next steps

Was this guide helpful?

Your QuickBooks Online agent is one click away.

Install the connector, paste the key, prompt your AI client. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect QuickBooks Online to ChatGPT via MCP

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

Connectors

How to Connect QuickBooks Online to Claude via MCP

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

Connectors

How to Connect QuickBooks Online to Cursor via MCP

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

Connectors

How to Connect QuickBooks Online to Gemini via MCP

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

Connectors

How to Connect QuickBooks Online to Meta Muse via MCP

Let your AI work with QuickBooks Online: query customers, vendors, items, invoices, bills, payments and accounts, read single records, run Profit and Loss, Balance Sheet and aged receivables and payables reports, and create customers and invoices. Intuit OAuth sign-in, sandbox or production company.

Connectors

Canva to MCP: Drive Canva from any AI Agent

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.