Reference · built on requestConnectorERP & finance

QuickBooks Online

Customers, invoices, payments, bills, and items from QuickBooks Online companies via the Accounting API with webhooks.

About

QuickBooks Online is Intuit's accounting product for small businesses. The Accounting REST API addresses one company by realmId: POST baseURL/v3/company/realmId/resourceName creates or updates, GET on resourceName/entityID reads one record, and GET query?query=selectStmt runs a query. Entities include Customer, Invoice, Payment, Bill, Item, Vendor, Estimate, SalesReceipt, and JournalEntry. Webhooks notify your endpoint when data changes in any connected company.

An operator on Fibric connects through OAuth 2.0 with the com.intuit.quickbooks.accounting scope, reads the entities you allow, and proposes new transactions for your approval. Each approved change is logged with its reason and its reversal.

This is a reference listing. It documents what Fibric would read from QuickBooks Online and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Customer, Vendor, Item, and Account entities, with Active flags and MetaData.LastUpdatedTime
  • Invoice, Payment, SalesReceipt, CreditMemo, and Estimate transactions, each versioned by SyncToken
  • Bill, BillPayment, Purchase, PurchaseOrder, and VendorCredit on the payables side
  • Report entities such as ARAgingDetail, APAgingSummary, ProfitAndLoss, and BalanceSheet
  • ChangeDataCapture for entities changed since a timestamp
  • Webhook notifications, one record per change with a type such as qbo.salesreceipt.updated.v1, intuitentityid, and intuitaccountid

Proposed actions

  • Target capability: propose creating an Invoice with Line items and a CustomerRef
  • Target capability: propose recording a Payment against an open Invoice
  • Target capability: propose an update to a Customer or Invoice, sent with the current SyncToken
  • Target capability: propose deactivating an Account by setting Active to false in an update request

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Send the right reminder for the right invoice

    Read open Invoices with their due dates and balances, group them by Customer, and propose the reminder step and message for a person to send.

    With Dunning Cadence

  • Apply a payment to the invoice it belongs to

    Match a deposit or card payout to open Invoices and propose a Payment applied to those invoices for approval.

    With Cash Application, Bank Reconciliation

  • Stop the duplicate before it posts

    On each Bill webhook, compare vendor, document number, and amount with recent bills and flag a likely duplicate for review.

    With Duplicate Invoice

  • Reconcile the books to the dashboard

    Read ProfitAndLoss and BalanceSheet report entities on a schedule and flag differences against the figures your team reports.

    With Metric Reconciliation, Month-End Cutoff

Requirements

  • An Intuit developer app with production keys and the com.intuit.quickbooks.accounting scope
  • A QuickBooks Online company whose admin authorizes the app; the realmId returned at authorization identifies it
  • A webhook Endpoint URL configured per app for Production and, separately, for Development
  • The app-specific verifier token to check the intuit-signature header with HMAC-SHA256
Authentication
OAuth 2.0 authorization code flow issued by Intuit with the com.intuit.quickbooks.accounting scope; the bearer token and the company's realmId go on every request.

Limits

  • 500 requests per minute per realm ID and 10 per second per realm ID and app; on 429, wait 60 seconds
  • A query response returns at most 1000 entities; page to fetch more
  • Requests longer than 120 seconds time out; a batch request should hold no more than 30 payloads
  • Each update must carry the latest SyncToken; an older token is rejected

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request QuickBooks Online ↗

Questions and answers

How does the API notify an app of changes?
Through webhooks configured per app in the developer dashboard, with separate endpoints for Production and Development. Each notification is a POST whose type names the entity and event, for example qbo.customer.merged.v1, with intuitentityid and intuitaccountid (the realmId).
What does SyncToken do?
It is the object's version number. QuickBooks increments it on every modification and rejects an update that carries an older value, so one app at a time can change an object. Reads return the current token; updates must send it back.
How many calls can an app make?
500 requests per minute per realm ID, and 10 per second per realm ID and app, on sandbox and production. Batch is throttled at 40 requests per minute per realm ID and app. On HTTP 429, wait 60 seconds before retrying.
Ask about QuickBooks Online

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.