Home › Products › API Integrator for QuickBooks Online
API Integrator for QuickBooks Online
This skill gives your agent a dependency-free TypeScript client for the QuickBooks Online Accounting API.
It handles OAuth 2.0 with state checks and realmId, refresh tokens that rotate (kept safe with single-flight refresh), the 5-year refresh-token cap (x_refresh_token_hard_expires_in), minorversion 75, duplicate-safe creates with requestid, find-or-create customers, invoices, emailing invoices, and errors (Fault parsing, 401, 429).
It was written from Intuit's 2025–26 developer docs.
Who it's for
Developers and agencies syncing sales from Stripe, Shopify or their own app into QuickBooks Online.
What's tested
- 19 automated tests, all passing, plus a clean TypeScript typecheck
- Covers the authorize URL, code exchange, state check, refresh-token rotation, hard-expiry field, single-flight refresh, minorversion 75, requestid, Fault parsing, 401 refresh, 429/5xx backoff and invoice emailing
- All Intuit HTTP is mocked
What isn't tested
- It has not been run against a real QuickBooks sandbox company
- The rate limit (about 500 requests/minute per realm) is quoted from Intuit's docs, not tested
- The multi-instance refresh lock is described in the skill but not implemented
- Fault 5010 (stale SyncToken) handling is not exercised by a test
What's in the download
- SKILL.md: instructions your agent follows
- src/: TypeScript client (no runtime dependencies)
- tests/: tests against mocked Intuit HTTP
- fixtures/: sample Intuit responses
- TEST-REPORT.md, LICENSE.txt, REFUND.txt
Requirements
Node 20+. To smoke-test against real QuickBooks you need an Intuit developer account and a sandbox company; the bundled tests need neither.
How to use it
Copy the folder to .claude/skills/api-integrator-for-quickbooks-online/, then ask your agent to "connect my app to QuickBooks Online and create invoices".