Documentation Index
Fetch the complete documentation index at: https://docs.routemcp.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
| Property | Value |
|---|---|
| Slug | quickbooks-online |
| Auth | OAuth 2.0 |
| API version | v3 (minorVersion 75) |
| Sandbox | Yes |
| Rate limit | 500 req/min, 8 req/sec |
Supported resources
| Resource | List | Get | Create | Update | Delete |
|---|---|---|---|---|---|
| Invoice | ✓ | ✓ | ✓ | ✓ | ✓ |
| Contact | ✓ | ✓ | ✓ | ✓ | ✓ |
| Account | ✓ | ✓ | ✓ | ✓ | ✓ |
| Payment | ✓ | ✓ | ✓ | ✓ | ✓ |
| Tax Rate | ✓ | ✓ | ✓ | ✓ | ✓ |
| Journal Entry | ✓ | ✓ | ✓ | ✓ | ✓ |
| Expense | ✓ | ✓ | ✓ | ✓ | ✓ |
| Purchase Order | ✓ | ✓ | ✓ | ✓ | ✓ |
| Credit Note | ✓ | ✓ | ✓ | ✓ | ✓ |
| Vendor Credit | ✓ | ✓ | ✓ | ✓ | ✓ |
| Item | ✓ | ✓ | ✓ | ✓ | ✓ |
| Tracking Category | ✓ | ✓ | ✓ | ✓ | ✓ |
| Payment Method | ✓ | ✓ | ✓ | ✓ | ✓ |
| Payment Term | ✓ | ✓ | ✓ | ✓ | ✓ |
| Company Info | ✓ | ✓ | — | ✓ | — |
| Accounting Period | ✓ | ✓ | — | — | — |
| Sales Order | — | — | — | — | — |
| Employee | ✓ | ✓ | ✓ | ✓ | ✓ |
| Project | ✓ | ✓ | ✓ | ✓ | ✓ |
| Attachment | ✓ | ✓ | ✓ | ✓ | ✓ |
| Expense Report | — | — | — | — | — |
| Item Fulfillment | — | — | — | — | — |
| Balance Sheet | ✓ | ✓ | — | — | — |
| Income Statement | ✓ | ✓ | — | — | — |
| Cash Flow Statement | ✓ | ✓ | — | — | — |
| General Ledger Transaction | ✓ | ✓ | — | — | — |
| Transaction | ✓ | ✓ | — | — | — |
| Bank Feed Account | — | — | — | — | — |
| Bank Feed Transaction | — | — | — | — | — |
| Address | — | — | — | — | — |
| Phone Number | — | — | — | — | — |
Connect setup
QuickBooks Online uses OAuth 2.0. You need an app registered in the Intuit Developer portal.Create an Intuit app
Go to the Intuit Developer dashboard → My Apps → Create an app. Choose QuickBooks Online and Payments. Under Keys & OAuth, copy the Client ID and Client Secret.
Usage
Notes
- QuickBooks Online splits Invoice/Payment/Contact across two underlying entities (
Invoice+Bill,Payment+BillPayment,Customer+Vendor). RouteMCP fans out across both onlistand dispatchescreatebased on thetype/is_supplierdiscriminator. For all other operations, RouteMCP returns a URN-encoded id (urn:qbo:<entity>:<id>) that you round-trip on follow-up calls — no extra parameter needed. - Account, Contact, Item, Tracking Category, Payment Method, Payment Term, and Tax Rate use QBO’s “name list” archive semantics —
DELETEtranslates to a sparse update withActive: false. The record stays in QuickBooks withstatus: "ARCHIVED". - Invoice status is synthesized from QBO fields (
Balance,TotalAmt,EmailStatus,PrivateNote) into canonicalPAID/VOID/PARTIALLY_PAID/SUBMITTED/DRAFT/OPEN. Past-due unpaid invoices map toOPEN/SUBMITTED; consumers derive overdue fromdue_date < today. - QBO uses optimistic concurrency via
SyncToken. RouteMCP fetches the current SyncToken transparently before any update or delete — callers never have to manage it. - The three financial reports (
balance_sheet,income_statement,cash_flow_statement) are generated on-demand by QBO each call — they aren’t stored as records. Usecreated_after/created_beforeto pass the report’s start/end dates (forbalance_sheet,created_beforeis the as-of snapshot date and the start defaults to all-time). Reports supportlistandgetonly. general_ledger_transactionis parsed from QBO’s/reports/GeneralLedgerresponse. Each canonical record represents the GL impact of an underlying transaction (Invoice, Payment, Bill, JournalEntry, etc.) with one debit/credit leg per line.transactionis a cross-type aggregator across QBO’s SalesReceipt, RefundReceipt, Deposit, and Transfer entities. Read-only.projectrequires a QBO Plus or Advanced subscription. Surfaced via QBO’sCustomerentity withIsProject = true— the project’s parent customer is exposed as the canonicalcontactfield.employeeonly covers W-2 employees. 1099 contractors live on the Vendor entity in QBO and are accessed via the Contact resource withis_supplier: true.accounting_periodis read-only on QBO — QuickBooks doesn’t expose user-defined fiscal periods through the public API. List/get returns the company’s configured fiscal year boundaries.attachmentsources from QBO’sAttachableentity.file_urlis the permanentFileAccessUri— safe to cache.sales_order,expense_report,item_fulfillment,bank_feed_account,bank_feed_transaction,address, andphone_numberare not supported on QBO. Calls return405 Method Not Allowed. These resources work on other providers (e.g. NetSuite, Xero) once those integrations land.- Use
environment: "sandbox"in your connect token to route requests to the QuickBooks Online sandbox company.