Connector

Collect QuickBooks invoices in Google BigQuery

Load QuickBooks invoices, payments and customers into your own BigQuery project with a custom OWOX connector: one table per endpoint, readable columns, a refresh on a schedule. Receivables then join to Shopify orders and ad spend.

QuickBooksConnectedA/P Aging Summar…A/R Aging Summar…AccountsBalance Sheet re…
Data MartPublishedone definition
Google BigQueryRealmReportReportDaily 09:00
Refreshed on a schedule. No exports, no copy-paste.

Get started free

Endpoints

QuickBooks Endpoints

Documentation

26 QuickBooks endpoints you can import. Each lands in its own table in your data warehouse.

S00 · Why

Why join QuickBooks receivables with sales and ad data

Ask what revenue was last month and QuickBooks answers with what was invoiced. Shopify answers with what was ordered, and the ad platforms with what was spent. To see where they differ, all of it has to sit in one data warehouse.

  • Reconcile invoiced revenue with orders in one query
  • Separate billed from paid with the payments table beside the invoices
  • Set daily billing beside daily ad spend
QuickBooksInvoices, payments
OrdersShopify sales
Ad platformsSpend
Your data warehouseBigQueryQuickBooksShopifyAd spendJoined by idOrder placedInvoice paidOne query shows the gap between ordering and cash.

S01 · Step 1

Step 1: Connect QuickBooks and pick the fields

Create a Data Mart, choose QuickBooks as the data source and authorize QuickBooks Online with OAuth. Add the company (realm) id, open an endpoint and tick only the fields you need.

  • Invoices alone carries customer, dates, amounts, balance and tax
  • A custom connector: the credential and company id are yours
New Data MartChoose a sourceShopifyQuickBooksFacebook AdsAuthorizeConnectedEndpointInvoicesA/P Aging Summary…A/R Aging Summary…Accounts
Invoices36 fieldstxn_datebalancetotal_amtcustomer_namedue_datecurrency_id

S02 · Step 2

Step 2: Load QuickBooks into Google BigQuery

Each endpoint becomes its own table, and refresh settings are set in the Data Mart. Run it and the first load lands as a table in a dataset of your own Google BigQuery project. The location is pre-filled from your data storage, and you can change it.

  • Each endpoint gets its own table, not one table for the books
  • Every run is logged in Run History
DestinationBigQueryDatasetquickbooksTableinvoiceRun
Run HistoryPendingRunningSuccessIncremental load
Tablequickbooks.invoice

S03 · Step 3

Step 3: Get a business-friendly QuickBooks output schema

After the first run you get the output schema: every field with its type and, for key fields, a plain description. Your data quality checks can read it too.

  • id and realm_id together identify a record, and the schema says so
  • txn_date, due_date and balance are typed columns, ready for ageing buckets
quickbooks.invoiceOutput schemaFieldDescriptiontxn_dateBusiness date of the…balanceUnpaid remainder; 0 when fully…total_amtTotal amount of the document…customer_nameName of the customer that…due_dateDate the invoice is due for…currency_idCurrency code of the document…

S04 · Step 4

Step 4: Keep the QuickBooks tables linked

Customers, invoices and payments stay separate tables, joined by customer_id. Together they become one QuickBooks data model, ready to join to orders and ad spend.

  • Invoices carry customer_id; payments carry it too
  • Add Shopify orders and ad platforms to the same model
Customersiddisplay_namebalance
Invoicesidcustomer_idtotal_amt
Paymentscustomer_idtotal_amttxn_date

S05 · Step 5

Step 5: Schedule the QuickBooks refresh and backfill history

Set it once. A daily scheduled refresh keeps the tables current, and a manual backfill loads any past period. The connector reads by last_updated_time, so edits to old invoices are picked up, and deleted invoices come through Invoice changes (CDC).

  • Daily runs with no pipeline to maintain
  • Backfill the invoice history the first time you connect
ScheduleRun on a scheduleDaily 09:00
BackfillRun backfill
Run HistoryDaily scheduleManual backfillDaily schedule

S06 · Step 6

Step 6: Reuse the same QuickBooks table everywhere

One table feeds your data model, spreadsheets, dashboards, AI assistants and scheduled insights in Slack or email.

  • Define billed and paid once
  • Every report reads the same table
QuickBooksData MartPublished
Your data model
Google Sheets
Data Studio dashboards
Claude, ChatGPT
Slack, email

Recent updates

Why OWOX

Why OWOX for QuickBooks in Google BigQuery

QuickBooks reports, hand-built API scripts or a generic ETL tool each get the invoices out. OWOX also keeps them yours, readable and ready to join to sales and spend.

  • You own the data. It lands in your own data warehouse, in tables you control.
  • A custom connector, built to be extended. The QuickBooks connector is made in OWOX Data Marts, so a field or an endpoint can be added when the books need it.
  • Ready for a data model. Separate tables per endpoint, joined by ids, built to connect to orders, ad spend and web analytics.
  • One place to fix. When Intuit changes its API, you fix one connector, not a pile of scripts.

Book a callGet started free

Trust

The Data Partner You Can Trust

users

176K Source: Internal OWOX data as of 2026-10-02

Executives and data analysts across 20+ industries

G2 rating

4.9★2

“A trusted data analytics partner” — verified review

npm installs

165K3

In Open Source We Trust

Customers