QuickBooks Online connector
Overview
The QuickBooks Online connector lets a Neblex workflow or agent keep the books in step with the systems around them: raise an invoice when a deal closes, record a payment when money lands, post a journal entry from a payout report, and pull a figure back out for a check, without an accountant rekeying transactions.
- One company file, or realm, per connection, with a sandbox company for building and testing
- Typed operations for the common entities, plus Create, Get, Update, Void, and Delete Entity for any other entity such as Deposit or Refund Receipt
- Sparse updates change only the fields you send when the step sets
sparseto true - One connector powers deterministic workflows, agent lookups, and scheduled reconciliation jobs, all in the same run history
Why teams use the QuickBooks Online connector
The three jobs this connector is picked for most often, and what each one gets you.
- Get payments onto the books automatically. Payouts and payments from Stripe or a store post to QuickBooks as deposits and sales receipts, with fees split out.
- Turn a closed deal into an invoice. A won deal creates the QuickBooks customer and invoice, and the invoice number goes back to the CRM.
- Answer finance questions without opening QuickBooks. An AI agent reads balances, open invoices, and reports through queries, without being able to change the books.
Worked example
A real flow SMB finance teams turn on first, with the actual step-level detail.
Every Stripe payout recorded in QuickBooks as a bank deposit, fees split out
When Stripe settles a payout, Neblex records a deposit to the bank account for the gross, with the processing fees posted to an expense account, so the QuickBooks bank balance matches the real one.
- Trigger: a Webhook trigger registered with Stripe for
payout.paid, carrying the payout ID,amount, andarrival_date. - Expand: list the balance transactions in the payout, each with
gross,fee,net, and atypeof charge, refund, or adjustment. - Idempotency:
QueryQuickBooks for a deposit whosePrivateNoteholds the payout ID. If one exists, stop. - Deposit:
Create Entitywith the Deposit type to theStripe Clearingbank account, with a line per charge mappinggross / 100 → line amount,Sales Income → account, and one negative line for total fees mappingsum(fee) / 100 → amount,Merchant Fees → account. - Note: set
PrivateNoteto the payout ID andTxnDatetoarrival_date. - Exceptions: any balance transaction of a type the mapping does not cover goes to a person as a Wait for form task with the payout link, rather than being guessed at.
Example flows
Common patterns other teams start from with this connector.
- Stripe to the books. Charges, refunds, and payouts post to QuickBooks as sales receipts and deposits, reconciled to each payout. (Finance)
- Store orders to the books. Daily store order and payout totals sync into QuickBooks as sales receipts and deposits by product category. (E-commerce)
- Deal to invoice. A closed-won deal in the CRM creates the QuickBooks customer and invoice, and the invoice number flows back to the opportunity. (Sales)
- Books to the warehouse. Invoices, payments, and journal entries sync into the warehouse nightly through the Change Data Capture operation for finance reporting. (Data)
Supported objects
QuickBooks Online accounting entities are supported for read and write: the common ones through typed operations and every other entity through the generic entity operations.
Commonly used entities
Customer, Vendor, Employee, Invoice, Sales Receipt, Estimate, Payment, Credit Memo, Refund Receipt, Bill, Bill Payment, Purchase Order, Item, Account, Journal Entry, Deposit, Transfer, Tax Code
Amounts are in the company's currency in major units, for example dollars, not cents. The connector does not rescale them, so a mapping from a system that uses minor units must divide by 100.
Security and access
The connection is a single company file authorized through Intuit OAuth, with the access the connected user has in QuickBooks.
- OAuth 2.0 through Intuit. The connection holds your Intuit app's client ID and secret and a refresh token, stored encrypted. No password is stored, and access can be revoked from the Intuit account at any time.
- One realm per connection. A connection can act on exactly one company file. Multiple companies are multiple connections, each isolated.
- Webhook endpoints. If you send QuickBooks webhooks to a Neblex Webhook trigger, keep the trigger's unguessable address private, since Intuit cannot add the headers other authentication modes expect.
- Run history. Every run shows each step's status and errors; record data from successful runs is kept when the flow is set to keep run data for replay.
Limits, as Intuit publishes them
The shape of Intuit's limits, as published at the time of writing. Verify the exact figures for your plan; they change without notice.
- Requests are throttled at roughly 500 per minute per company, and about 40 per second across the app
- A query returns up to 1,000 rows per page, with a default of 100
- A Batch request carries up to 30 operations
- Each operation accepts an optional minor version, so a flow can stay on the version it was built against
- Rate-limited reads are retried with backoff; creates are POST calls, so turn on Retry on failure or an idempotency key for those steps
What a flow can do in QuickBooks
Create and update customers, invoices, payments, and bills, post journal entries, query any entity with the QuickBooks query language, attach documents, batch several writes in one call, read reports such as profit and loss, and many more.
The connector has 50 operations, and 100% of them describe their output so later steps can map fields directly. Sign-in method: OAuth 2.0 sign-in.
Every operation, with its inputs and outputs, is listed in the QuickBooks connector reference.
How flows react to changes in QuickBooks
QuickBooks does not push change events to Neblex. A flow reacts to changes either with a Poll for changes trigger that reads the connector on a schedule and detects inserts, updates, and deletes, or by giving QuickBooks a Neblex webhook endpoint to call when it supports outbound notifications on your plan.
Frequently asked questions
Does the connector do sparse updates?
Yes. Set sparse to true on the update and only the fields you provide are changed, so updating a customer's email does not blank out the rest of the record.
Can it react to changes as they happen?
The connector has no ready-made triggers. A Poll for changes trigger can call the Change Data Capture or Query operation on the schedule you set, from every minute upward; with a change detection key it reports inserts, updates, and deletes. For an immediate start, send QuickBooks webhooks to a Neblex Webhook trigger.
How does it avoid duplicate transactions?
Write flows stamp the source system's ID on a field such as PrivateNote or DocNumber, then query for it before creating, so a re-run or a redelivered webhook does not post twice.
Are amounts in cents like Stripe?
No. QuickBooks uses major currency units, for example dollars. A mapping from a minor-unit system such as Stripe divides by 100.
Can one connection handle several companies?
No. Each connection is one company file. Hold a separate connection per company.
Bring one real integration
We will build it with you against your own systems, with the run log open.