Integration

Connect Shopify to QuickBooks

Book Shopify sales in QuickBooks Online without exporting a spreadsheet every week. Each paid order becomes a sales receipt with tax and shipping on their own lines, each Shopify Payments payout is reconciled to the bank deposit with fees split out, and refunds are booked as they happen. Every entry is a run you can trace back to the Shopify order.
Shopify to QuickBooks
Direction
On each paid order, payouts daily
Latency
orders/paid
Common trigger
Build the flow, then pick the accounts
Setup

Why teams connect Shopify and QuickBooks

Sales run through Shopify. The books are in QuickBooks. Without an integration, someone exports the Shopify finance summary each month, hand-keys a few journal lines, guesses at the Shopify Payments fee, and the QuickBooks bank balance never matches the statement.

  • Each paid order is booked as a sales receipt with product, shipping, discount, and tax on separate lines, so the revenue and liability accounts are right
  • Shopify Payments payouts are reconciled to a bank deposit whose total matches the bank line, with processing fees on a negative line to a fees account
  • Refunds and partial refunds post as refund receipts against the original order, categorized the same way
  • Every entry is a run you can inspect, so a deposit or receipt that looks wrong traces back to the order and the transactions inside the payout

Worked example

The bookkeeping flow most stores turn on first.

Every paid Shopify order booked in QuickBooks as a sales receipt, payout reconciled

Two flows. One on the order, one on the payout, both safe to repeat.

  1. Trigger: a Webhook trigger with Auto Register With Shopify for orders/paid, carrying id, name (the "#1001" order number), line_items, total_tax, shipping_lines, total_discounts, and customer.
  2. Idempotency: query QuickBooks for a sales receipt whose DocNumber equals the Shopify order name. If one exists, stop.
  3. Customer: query QuickBooks for a customer with customer.email, then Create Customer or Update Customer, so a repeat buyer is not duplicated.
  4. Sales receipt: QuickBooks Create Sales Receipt to Undeposited Funds, one line per line_item to a Sales Income account, plus a shipping line, a discount line, and a tax line mapped to the tax agency.
  5. Payout flow: a daily scheduled flow lists new Shopify payouts and their transactions (charge, refund, fee, adjustment), then Create Entity with the Deposit type to the bank account clearing the matching receipts, with a negative line for total fees to Merchant Fees.
  6. Exceptions: a payout transaction type the mapping does not cover, or an order whose tax lines do not sum, goes to a person as a Wait for form task with the Shopify link, rather than being guessed at.

Field mapping

The starting map for the Shopify order to QuickBooks SalesReceipt step.

ShopifyQuickBooks OnlineNotes
order.nameSalesReceipt.DocNumberIdempotency key. Queried before creating. Not order.id, which is not human-legible on the books.
order.customer.emailSalesReceipt.CustomerRefUpsert match key. A guest checkout with no email maps to a single "Shopify Guest" customer.
line_item.price * quantitySalesReceipt.Line.AmountOne sales line per item. Shopify prices are decimal strings; parse, do not divide.
line_item.skuSalesReceipt.Line.ItemRefMapped to a QuickBooks product or service. Unmapped SKUs fall back to a generic "Online Sales" item.
total_shipping_price_setSalesReceipt.Line (Shipping Income)Its own line, not folded into product revenue.
total_discountsSalesReceipt.Line (negative, Discounts given)Negative line so the receipt total matches Shopify's.
tax_lines[].priceSalesReceipt.TxnTaxDetailCurrency gotcha: Shopify sends tax already computed. Map to the QuickBooks tax code, do not let QuickBooks recompute.
order.currencySalesReceipt.CurrencyRefOverride only on a multi-currency company. Must match the deposit bank account currency.
order.processed_atSalesReceipt.TxnDateISO 8601 in Shopify, date only in QuickBooks. Use the store time zone.

What syncs, each direction

  • Paid orders. Each paid order becomes a sales receipt with product, shipping, discount, and tax on separate lines. (Shopify to QuickBooks)
  • Payout deposits. Each Shopify Payments payout is a bank deposit that clears the matching receipts, with fees on a negative line. (Shopify to QuickBooks)
  • Refunds. Full and partial refunds, from Shopify's refund webhook, become refund receipts through Create Entity against the original customer and accounts. (Shopify to QuickBooks)
  • Product cost (optional). A QuickBooks item cost change can update the Shopify variant cost so margin reports line up. Off by default. (QuickBooks to Shopify)

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 Shopify order or payout, the transactions inside it, and the receipt or deposit it created. A failed run can be replayed from the step that failed, and the existence check stops a second posting.
  • Review tasks. Unmapped SKUs, tax lines that do not sum, and unrecognized payout transaction types go to a person as a task rather than posting a wrong line.
  • Scoped access. Shopify uses a custom app token scoped to read_orders and read_shopify_payments_payouts. QuickBooks uses an OAuth connection to one company file.
  • Environments. Build against a Shopify development store and a QuickBooks sandbox company, then promote the same flow to production.

Frequently asked questions

Do I get every order, or a daily summary?

Your choice. The flow above books a sales receipt per order for a full sub-ledger. If your accountant only wants a summary, build a daily flow that books one journal entry per payout instead.

Will the QuickBooks bank balance match my statement?

Yes. The deposit total equals the Shopify Payments payout that actually arrived, with fees and refunds as negative lines, so it reconciles to the bank line one to one.

How is sales tax handled?

Shopify computes tax at checkout and sends it on the order. The flow maps those amounts to your QuickBooks tax codes and agency without letting QuickBooks recompute, so the two always agree.

What about a redelivered Shopify webhook?

The flow queries QuickBooks for a receipt with the order number before creating one, so a redelivered orders/paid does not post twice.

Is this different from the QuickBooks Connector by Intuit or A2X?

A2X is strong for summarized ecommerce accounting and many teams are happy on it. Neblex fits when you want the per-order detail, the same run history and governance as your other integrations, and the freedom to branch the flow, for example holding high-risk orders for review before they post.

Can it sync inventory or fulfillment?

That is a separate flow and usually belongs between Shopify and an ERP or a 3PL, not the accounting system. See the Shopify to NetSuite page for that pattern.

Connectors used

Shopify

E-commerce

Operations
367
Operations with typed output
100%
Change triggers
Poll or inbound webhook
Signs in with
Connection fields
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.