Can AI agents automate QuickBooks (Desktop + Online)?

Intuit · hybrid · accountinginvoicingrpa

QuickBooks is a compound automation boundary. QuickBooks Online provides a broad REST and GraphQL accounting API for customers, vendors, invoices, bills, payments, inventory, journal entries, reports, queries, batches, and change-data capture. Production access uses an Intuit developer app and OAuth 2.0 user consent; connected companies can emit signed entity-change webhooks. Intuit documents supported SDK paths for .NET, Java, PHP, Node.js, Ruby, and Python. Its open-source first-party QuickBooks Online MCP server runs locally and exposes 145 tools across 29 entity types and 11 reports, including guarded create, update, and delete categories. It still requires developer registration, a browser OAuth handshake, safe refresh-token storage, and a public HTTPS callback during initial production setup. QuickBooks Desktop is not covered by that MCP server. Desktop automation instead uses the Windows SDK and qbXML, or the Web Connector, which lets a scheduled web service exchange qbXML with a local Desktop installation. Commercial subscriptions, edition differences, region differences, and the split Online/Desktop data and authorization models are material design constraints. No maintained first-party general QuickBooks CLI or repeatable computer-use probe was verified.

Best path today: api · Overall automatability: 9/10

Modalities

ModalityStatusDetail
APIyesrestgraphqlqbxmloauth2desktop-user-authorization
coverage: full · docs
SDKyescsharpjavajavascriptphppythonruby
official: yes
MCPyes
verdict: official
Integrationsunknown
CLIunknown
Extensibilityyesonline-appsdesktop-sdkweb-connector
webhooks: True
Data access
export: api-json, qbxml · import: api-json, qbxml
RPA / UI automationunknownwindows-nativeweb-dom
No repeatable UI probe was run. QuickBooks Online has supported APIs, SDKs, webhooks, and a first-party MCP server; QuickBooks Desktop has its separate SDK and Windows Web Connector.
Computer useunknown
measured verdicts only — "unknown" means not yet probed by us

Scores

apimcpintegrationsclirpacomputer useoverall
989

Evidence

FactTierSourceDate
homepagedeclaredsource2026-08-16
platformsdeclaredsource2026-08-16
licensedeclaredsource2026-08-16
modalities.api.existsdeclaredsource2026-08-16
modalities.api.kinds[0]declaredsource2026-08-16
modalities.api.kinds[1]declaredsource2026-08-16
modalities.api.kinds[2]declaredsource2026-08-16
modalities.api.auth[0]declaredsource2026-08-16
modalities.api.auth[1]declaredsource2026-08-16
modalities.api.coveragedeclaredsource2026-08-16
modalities.sdkdeclaredsource2026-08-16
modalities.sdk.languagesdeclaredsource2026-08-16
modalities.mcp.first_partydeclaredsource2026-08-16
modalities.extensibility.scriptingdeclaredsource2026-08-16
modalities.extensibility.webhooksdeclaredsource2026-08-16
modalities.data_access.exportdeclaredsource2026-08-16
modalities.data_access.importdeclaredsource2026-08-16
verdict.scores.apideclaredsource2026-08-16
verdict.scores.mcpdeclaredsource2026-08-16
freshness.watch[0].urldeclaredsource2026-08-16
freshness.watch[1].urldeclaredsource2026-08-16
freshness.watch[2].urldeclaredsource2026-08-16

Last verified 2026-08-16 · volatility high · JSON record