Finance, Billing & Payments

QuickBooks Online connector

Create and update customers, invoices, payments, bills, and journal entries in QuickBooks Online from any Neblex workflow or agent, read the books with the QBO query language, and react to entity changes as they happen, all under the same governance and audit trail as every other connector.

OAuth 2.0
Authentication
REST, inbound webhooks, CDC, Batch
API surface
All accounting entities
Objects supported
Poll or inbound webhook
Change events

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
  • Reads the chart of accounts, items, tax codes, and custom fields at connection time, so a mapping uses names you recognize
  • Supports sparse updates, changing only the fields you send rather than replacing the whole entity
  • One connector powers deterministic workflows, agent lookups, and scheduled reconciliation jobs, all in the same run log

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.
  • Turn a closed deal into an invoice.
  • Answer finance questions without opening QuickBooks.

Worked example

A real flow SMB finance teams turn on first, with the actual field-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.

  1. 1Trigger: Stripe payout.paid, carrying the payout ID, amount, and arrival_date.
  2. 2Expand: list the balance transactions in the payout, each with gross, fee, net, and a type of charge, refund, or adjustment.
  3. 3Idempotency: query QuickBooks for a deposit whose PrivateNote holds the payout ID. If one exists, stop.
  4. 4Deposit: Create deposit to the Stripe Clearing bank account, with a line per charge mapping gross / 100 → line amount, Sales Income → account, and one negative line for total fees mapping sum(fee) / 100 → amount, Merchant Fees → account.
  5. 5Note: set PrivateNote to the payout ID and TxnDate to arrival_date.
  6. 6Exceptions: any balance transaction of a type the mapping does not cover is posted to #finance-review with the payout link rather than 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 WooCommerce 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 CDC endpoint for finance reporting. (Data)

Supported objects

All QuickBooks Online accounting entities are supported for read and write. Custom fields on transactions are read from the company at connection time.

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. Tokens are issued and refreshed by Intuit. No password storage, 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. A flow can expose a webhook endpoint for QuickBooks to call, protected by an API consumer key with per-consumer rate limits, quotas, and metering.
  • Full audit trail. Every entity read, write, and report pull, with the QuickBooks ID and the request payload, flows into the same Neblex audit trail as every other connector.

Limits, as the vendor publishes them

The shape of the vendor's limits, as published at the time of writing. Verify the exact figures for your plan; they change without notice. Neblex honors the vendor's own rate-limit and retry signals and backs off within them.

  • Requests are throttled at roughly 500 per minute per company, and about 40 per second across the app. The connector paces to stay under both
  • A query returns up to 1,000 rows per page, with a default of 100
  • A Batch request carries up to 30 operations
  • The API is minor-version pinned, so a connection's behavior does not change under you when Intuit ships a new minor version
  • Exponential backoff and retry are applied automatically on throttle and transient errors

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 exposes 50 operations, generated from QuickBooks as it ships, and 100% of them describe their output so later steps can map fields without guessing. Authentication: OAuth2.

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. An update sends only the fields you provide, so changing a customer's email does not blank out the rest of the record.

Can it react to changes on the next poll?

QuickBooks does not push change events to Neblex. A Poll for changes trigger reads the connector on the schedule you set and detects inserts, updates, and deletes, including deletes, through a cursor or a snapshot comparison. If QuickBooks can send webhooks on your plan, point them at a Neblex webhook endpoint for an event-driven start instead.

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 is a no-op.

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, which also keeps their audit trails separate.

See it on your data

Bring one real integration

We will build it with you against your own systems, with the run log open.