Skip to content

QuickBooks Online

Tidemill's first expense source, and the reason the data model has a cost side at all.


What it is

Intuit's cloud accounting platform. In the analytics category it usually appears as a supporting integration — Baremetrics pulls it for forecasting actuals, SaaSGrid for finance reconciliation. Its relevant objects are vendors, accounts, bills, purchases (expenses) and bill payments.

Key facts

Category Accounting / expense source
Licence Proprietary SaaS
Auth OAuth 2.0 (Intuit Developer), sandbox and production environments
Webhooks ID-only payloads, HMAC-SHA256 signed with a verifier token
Tidemill integration ExpenseConnector, registered as quickbooks
Status Implemented (P1)

Relevance to Tidemill

QuickBooks Online is Tidemill's first and so far only expense connector (tidemill/connectors/quickbooks/). It is what turns Tidemill from a revenue-only tool into one that can also see the cost side — see expenses.

It defined a third connector shape. Stripe and Chargebee are WebhookConnectors; Lago and Kill Bill are DatabaseConnectors; QBO required ExpenseConnector, with a fetch_and_translate() path because its webhooks carry only object IDs and the records must be fetched back before translation. See connectors.

Its accounting vocabulary was deliberately not adopted directly. The expense model is platform-neutral — canonical account types, bill statuses and payment types designed so Xero, FreshBooks, Wave or Sage can map onto the same events (vendor.*, account.*, bill.*, expense.*, bill_payment.*) without touching state handlers or the expenses metric. This is the same discipline the canonical vocabulary applies on the revenue side.

Expense analytics is also the prerequisite for CAC, which remains P1 and unimplemented.

Sources