QuickBooks Online logo

QuickBooks Online

ERP & FinanceOAuth 2.0Live

Connect your customers' QuickBooks Online companies so your product can create invoices, sync customers, and read financial data without managing Intuit OAuth flows yourself. The customer's QBO admin grants consent on Intuit's screen; Askel stores the realmId and manages token refresh.

What you can do

Create and update invoices

POST invoices to a customer's QuickBooks Online company with line items, customer references, account codes, and due dates. Update existing invoices from draft to sent or void a cancelled invoice.

Manage the customer list

Create or update customer records in QBO including display name, email, billing address, and payment terms. Used to link your product's account records to the matching QBO customer object.

Read the chart of accounts

Fetch account names, types, and sub-types so your product can present valid account options when creating transactions. Covers income, expense, asset, and liability accounts.

Read and create payments

Fetch payment records linked to invoices to determine outstanding balances, or post a payment record when your product's billing system confirms receipt.

Fetch items and services

Read the QBO item list, including product and service items with income account references and default rates. Useful for mapping your product's SKUs to the customer's existing QBO items.

Read profit-and-loss and balance-sheet reports

Fetch QuickBooks Online's built-in financial reports as structured JSON. Lets your product surface revenue or expense data without asking the customer to export anything manually.

Sample use case

Pushing subscription invoices into a customer's QuickBooks company

You sell a SaaS recurring-billing platform. A new customer, Riverton Advisory Partners, bills their own clients monthly and wants each invoice your platform generates to appear automatically in their QuickBooks Online company for reconciliation. Riverton's bookkeeper currently re-types invoice data from your platform into QBO every month.

  1. 1

    Admin connects QuickBooks

    Riverton's admin clicks Connect QuickBooks Online in your product. Askel redirects to Intuit's consent screen. The admin selects the Riverton Advisory Partners company, approves the scopes, and Intuit issues an access token, a refresh token, and a realmId. Askel stores all three.

  2. 2

    Account and item mapping

    Askel reads Riverton's chart of accounts and item list. Your product's setup wizard shows them and Riverton's bookkeeper maps each billing line item in your platform to the matching QBO item and income account.

  3. 3

    Customer sync

    Askel reads Riverton's QBO customer list and your product links each of Riverton's end-clients to the matching QBO customer ID. New clients are created in QBO automatically via the Customer endpoint.

  4. 4

    Invoice created on billing date

    When your platform generates a monthly invoice for a Riverton client, Askel POSTs it to QBO as a draft invoice with the mapped line items, customer reference, and due date. The realmId is sent with every request so the write lands in Riverton's company, not another.

  5. 5

    Payment reconciliation

    When Riverton's client pays the invoice in your platform, your product calls Askel to create a payment record in QBO linked to the invoice. Riverton's bookkeeper sees balanced AR in QBO without typing anything.

Authentication

OAuth 2.0

The customer's QuickBooks Online admin grants consent on Intuit's OAuth consent screen and selects the specific company to connect. Intuit returns an access token, a refresh token, and a realmId. Askel stores the refresh token and the realmId; the realmId is sent as a query parameter on every API request to scope it to the correct company. Access tokens expire after one hour and are refreshed automatically.

Data flow

How Askel sits between your product and the customer's system

Data flow between Customer's QuickBooks Online company, Askel, and Your productCustomer's QuickBooks Online companyAPI endpointAskelauth · mapping · driftYour productyour backend
InvoicesCustomersAccountsPaymentsItemsFinancial reports

FAQ for QuickBooks Online

Does this work with QuickBooks Desktop or only QuickBooks Online?+
This integration targets QuickBooks Online only, which uses Intuit's REST API and OAuth 2.0. QuickBooks Desktop uses a different, locally installed connector. A separate integration would be needed for Desktop, which Askel does not currently support.
What Intuit API scopes does Askel request?+
The default scope is com.intuit.quickbooks.accounting, which covers invoices, customers, accounts, items, and reports. The exact scope list is shown on Intuit's consent screen before the admin approves.
Can a customer connect multiple QuickBooks companies?+
Yes. Each company has a unique realmId and requires its own OAuth connection. Askel supports multiple QBO connections under the same customer record. Your product targets the correct connection per workflow.
What happens when the refresh token expires?+
Intuit refresh tokens expire after 100 days if they are not used to refresh an access token. Askel refreshes the access token on each API call, which resets the 100-day window. If the refresh token does expire, Askel surfaces a credential-expired alert and the admin re-connects from the same wizard.
Ready to ship integrations faster?customers faster?implementations faster?
Join onboarding teams delivering integrations without the engineering queue,
catching drift before it breaks, and hitting go-live dates.
Security & Compliance
ISO 27001 Certified
GDPR Compliant

© 2025 Askel.ai. All rights reserved.