QuickBooks
The QuickBooks connector gives AI agents access to your QuickBooks Online account for reading invoices, customers, payments, accounts, bills, and financial reports — as well as creating new records. Authentication uses OAuth 2.0 and your credentials are stored encrypted in MCPGate's vault, never exposed to the AI client.
Required scopes#
MCPGate requests the following OAuth scopes when you connect QuickBooks. Both scopes are requested up front to cover all read and write tools.
| Scope | Purpose |
|---|---|
| com.intuit.quickbooks.accounting | Read and write accounting data (invoices, customers, payments, reports) |
| openid | Identify the connected QuickBooks account |
Tool reference#
The QuickBooks connector exposes 12 tools: 8 read and 4 write. Use the MCP Apps page to enable or disable individual tools per app.
| Tool | Category | Description |
|---|---|---|
| quickbooks_list_invoices | read | List invoices in QuickBooks, optionally filtered by customer or status |
| quickbooks_get_invoice | read | Get a specific QuickBooks invoice by ID |
| quickbooks_list_customers | read | List customers in QuickBooks |
| quickbooks_list_payments | read | List payments received in QuickBooks |
| quickbooks_list_accounts | read | List chart of accounts in QuickBooks |
| quickbooks_get_report | read | Get a financial report from QuickBooks (e.g. ProfitAndLoss, BalanceSheet) |
| quickbooks_list_bills | read | List bills (vendor invoices) in QuickBooks |
| quickbooks_query | read | Run a custom QuickBooks query using QuickBooks Query Language (SQL-like) |
| quickbooks_create_invoice | write | Create a new invoice in QuickBooks |
| quickbooks_create_customer | write | Create a new customer in QuickBooks |
| quickbooks_create_payment | write | Record a payment received in QuickBooks |
| quickbooks_create_bill | write | Create a new vendor bill in QuickBooks |
QuickBooks Query Language
quickbooks_query accepts SQL-like queries using QuickBooks Query Language (QQL), for example SELECT * FROM Invoice WHERE TotalAmt > 1000. This tool is powerful but read-only — it cannot modify data.Common guardrail recipes#
Read-only access#
Enable only the eight read tools and deny all write tools. Ideal for bookkeeping agents that generate reports, export data, or answer questions about financials without making any changes to the QuickBooks data.
Transact preset#
Use the built-in transact preset to allow reads plus quickbooks_create_invoice and quickbooks_create_payment, while keeping quickbooks_create_customer and quickbooks_create_bill denied. Agents can record standard billing transactions without modifying the customer database or creating new vendor obligations.
Require approval for new customers#
Apply the require_approval guardrail template to quickbooks_create_customer. Any attempt to create a new customer record will be paused until a human approves or rejects it in the MCPGate dashboard.
Troubleshooting#
- Token expired — QuickBooks OAuth tokens expire after 1 hour. MCPGate automatically refreshes tokens using the refresh token. If refresh fails (refresh tokens expire after 100 days of inactivity), reconnect the QuickBooks connector.
- Company not found — Each QuickBooks connection is tied to a specific company (Realm ID). If you have multiple QuickBooks companies, connect each one separately in MCPGate.
- Sandbox vs. production — QuickBooks has separate sandbox and production environments. Ensure you are connecting to the correct environment by using the appropriate OAuth credentials from the Intuit Developer portal.