Integration

Connect Stripe to QuickBooks

Get Stripe into QuickBooks Online the way an accountant would: each payout recorded as a bank deposit that matches the real bank line, processing fees posted to a fees account, and sales and refunds booked as they happen. Every entry is a run you can trace back to the Stripe object.
Stripe to QuickBooks
Direction
On payout, typically daily
Latency
payout.paid
Common trigger
Build the flow, then pick the accounts
Setup

Why teams connect Stripe and QuickBooks

Money comes in through Stripe. The books are in QuickBooks. Without an integration, someone downloads the Stripe payout report each week and hand-enters a deposit, then guesses at the fee split, and the QuickBooks bank balance never quite matches the statement.

  • Each Stripe payout is recorded as a bank deposit whose total equals the amount that actually hit the bank, so reconciliation is a one-click match
  • Processing fees are posted to a Merchant Fees expense account automatically, not estimated at month-end
  • Individual sales and refunds are booked as sales receipts and refund receipts, categorized by product where the metadata allows
  • Every entry is a run you can inspect, so a deposit that looks wrong can be traced to the exact payout and the balance transactions inside it

Worked example

The reconciliation flow most small teams turn on first.

Every Stripe payout recorded in QuickBooks as a bank deposit, fees split out

Started when Stripe settles a payout, safe to repeat on the payout ID.

  1. Trigger: a Webhook trigger with Auto Register With Stripe for payout.paid, carrying the payout ID, amount, and arrival_date.
  2. Expand: list the balance transactions in the payout, each with gross, fee, net, and a type of charge, refund, or adjustment.
  3. Idempotency: query QuickBooks for a deposit whose PrivateNote holds the payout ID. If one exists, stop.
  4. Deposit: QuickBooks Create Entity with the Deposit type to the Stripe Clearing bank account, with a line per charge to a Sales Income account, and one negative line for total fees to Merchant Fees.
  5. Note and date: set PrivateNote to the payout ID and TxnDate to arrival_date.
  6. 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.
  7. Sales detail (optional): a second flow on Stripe's charge.succeeded webhook books each charge as a QuickBooks sales receipt to Undeposited Funds, which the deposit then clears.

Field mapping

The starting map for the payout to QuickBooks Deposit step.

StripeQuickBooks OnlineNotes
payout.idDeposit.PrivateNoteIdempotency key. The flow queries for it before creating.
payout.arrival_dateDeposit.TxnDateUnix timestamp in Stripe. Date only in QuickBooks.
(fixed)Deposit.DepositToAccountRefThe Stripe Clearing bank account, chosen once in setup.
balance_txn.gross / 100Deposit.Line.Amount (positive)One line per charge. Stripe amounts are integer cents; divide by 100.
(fixed)Deposit.Line.AccountRefSales Income for charge lines, mapped by charge.metadata.product where present.
sum(balance_txn.fee) / 100Deposit.Line.Amount (negative)Single line to Merchant Fees. QuickBooks deposits allow negative lines for fees.
balance_txn.type = "refund"Deposit.Line.Amount (negative)Refund lines net the deposit down so the total matches the bank.
payout.currencyDeposit.CurrencyRefOnly set on a multi-currency company. Must match the bank account currency.

What syncs, each direction

  • Payout deposits. Each payout becomes a bank deposit whose total matches the bank line, with fees on a negative line. (Stripe to QuickBooks)
  • Sales and refunds. Charges become sales receipts to Undeposited Funds. Refunds become refund receipts. Both are cleared by the deposit. (Stripe to QuickBooks)
  • Customers. A first-time Stripe customer creates a QuickBooks customer, matched on email so a repeat buyer is not duplicated. (Stripe to QuickBooks)
  • Disputes and adjustments. A dispute posts a journal entry to a disputes account, reversed on resolution. Balance adjustments post to a clearing account for review. (Stripe to QuickBooks)

Governance and audit

The same controls apply to this sync as to every other Neblex workload.

  • Run history. Every entry is a run with the payout, its balance transactions, and the deposit or receipt it created. A failed run can be replayed from the step that failed, and the existence check stops a second posting.
  • Review tasks. Unrecognized balance-transaction types, currency mismatches, and unmapped products go to a person as a task rather than posting a wrong line.
  • Scoped access. Stripe uses a restricted API key with read on payouts, charges, and balance transactions, plus write on webhook endpoints for the auto-registered webhook. QuickBooks uses an OAuth connection to one company file.
  • Environments. Build against Stripe test mode and a QuickBooks sandbox company, then promote the same flow to live and production.

Frequently asked questions

Will the QuickBooks bank balance match my statement?

Yes. The deposit total is the payout amount that actually arrived, with fees and refunds as negative lines, so it matches the bank line one to one.

Do I get every transaction, or just a summary?

Your choice. The default is a per-charge line inside each deposit. Turn on the sales-receipt flow for a full sub-ledger of individual sales and refunds.

How are fees handled?

A single negative line to a Merchant Fees expense account inside the deposit, so the fee expense is booked in the same period as the revenue.

What about a redelivered Stripe event?

The flow queries QuickBooks for a deposit tagged with the payout ID before creating one, so a redelivered payout.paid does not post twice.

Is this different from QuickBooks' built-in Stripe app?

The built-in app is fine for a very simple store. Teams move to this for the fee split, multi-product categorization, dispute handling, a readable run history, and the same governance as their other integrations.

Connectors used

Stripe

Finance, Billing & Payments

Operations
589
Operations with typed output
99.7%
Change triggers
10 (webhook)
Signs in with
API token
Connector reference

QuickBooks

Finance, Billing & Payments

Operations
50
Operations with typed output
100%
Change triggers
Poll or inbound webhook
Signs in with
OAuth 2.0 sign-in
Connector reference
See it on your data

Bring one real integration

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