QuickBooks Online MCP Connector
QuickBooks OnlineConnect AI agents to QuickBooks Online for invoicing, expenses, payroll, financial reporting, and accounting automation.
Auth notes
OAuth 2.0 via Intuit Developer Portal. Register at developer.intuit.com. Each company connection requires separate authorization — store realm ID per company. Access tokens expire every 60 minutes. Refresh tokens expire after 100 days of inactivity. Important: OAuth changes in 2025 caused widespread integration failures — implement robust token refresh logic.
Rate limits
500 requests per minute per realm ID (company). Maximum 10 concurrent requests per app. Batch operations limited to 40 requests per minute. Resource-intensive report endpoints limited to 200 per minute. Monthly cap of 500,000 CorePlus API calls on Builder tier.
Edge cases
OAuth token expiry causes silent failures if refresh logic is not robust — test token refresh thoroughly. Report endpoints cap responses at 400,000 cells — paginate large reports. API endpoints and data structures change frequently without advance notice. Subscription tier affects available features — confirm client plan before building.
Sandbox testing
Run test calls against QuickBooks Online from Pipeyard. Try prompts below to see a simulated response; real MCP integration is coming in a future release.
Have a connector you'd like us to prioritize or a specific test flow you care about? Use the Requests page to submit new ideas.
Quick Start — curl example
curl -X GET "https://quickbooks.api.intuit.com/v3/company/{realmId}/query?query=SELECT%20*%20FROM%20Invoice%20MAXRESULTS%2010" \
-H "Authorization: Bearer {access_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json"Credential Setup Guide
- 11. Go to developer.intuit.com and create a free Intuit developer account
- 22. Click "Create an app" and select QuickBooks Online and Payments
- 33. Copy your Client ID and Client Secret from the Keys and OAuth tab
- 44. Add your Redirect URI in the OAuth 2.0 settings
- 55. Use the OAuth 2.0 playground at developer.intuit.com/app/developer/playground to get your first tokens
- 66. Copy your Realm ID (Company ID) — shown in the playground after connecting a company
- 77. Store your refresh token securely — it expires after 100 days of inactivity
Example API Response
Sample data{
"Invoice": {
"Id": "1042",
"DocNumber": "INV-1042",
"TxnDate": "2025-03-10",
"DueDate": "2025-04-10",
"TotalAmt": 4250,
"Balance": 4250,
"CustomerRef": {
"value": "58",
"name": "Pacific Construction Group"
},
"Line": [
{
"Description": "Engineering Consulting Services",
"Amount": 4250,
"Qty": 17,
"UnitPrice": 250
}
]
}
}