Skip to main content

Intuit Quickbooks

QuickBooks Online is Intuit's cloud-based accounting platform used by small and mid-sized businesses to manage invoicing, expenses, payments, and other financial operations. The QuickBooks Online Accounting API is a REST API that exposes a connected company's accounting data — including invoices, customers, vendors, and bills — as queryable resources. It authenticates using OAuth 2.0, so an application can read a QuickBooks Online company's records on behalf of an authorized user without ever handling that user's login credentials. Common use cases include syncing invoices and customer records into a data warehouse, consolidating vendor and bill data for accounts payable reporting, and feeding accounting data into downstream analytics or ERP systems.

Intuit Quickbooks icon

Power end-to-end data operations for your Intuit Quickbooks API with Nexla. Our bi-directional Intuit Quickbooks connector is purpose-built for Intuit Quickbooks, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Intuit Quickbooks or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Intuit Quickbooks workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an Intuit Quickbooks credential in Nexla, ensure the following requirements are met.

QuickBooks Online account

An active QuickBooks Online company (subscription) is required. The user who completes the authorization step must have permission to grant third-party application access to that company — typically the Company Admin, or a user role with sufficient rights to manage connected apps.

OAuth 2.0 authorization

The QuickBooks Online API uses the OAuth 2.0 authorization code flow exclusively; there is no API key or username/password authentication option. During credential creation, Nexla redirects you to Intuit's hosted sign-in and consent screen at appcenter.intuit.com, where you log in with your QuickBooks Online credentials and select the company you want to connect. Intuit then returns an authorization code that Nexla exchanges for an access token and refresh token — your QuickBooks Online password is never shared with Nexla.

This connector requests the com.intuit.quickbooks.accounting scope, which grants read access to standard QuickBooks Online accounting entities such as invoices, customers, vendors, and bills.

Every QuickBooks Online API request is scoped to a specific company, identified by a Realm ID (also called Company ID). The Realm ID is returned automatically as part of the OAuth redirect when you authorize a company — you do not need to look it up or enter it manually. QuickBooks Online refresh tokens have a rolling 100-day expiration: as long as the credential is used at least once within that window, Nexla keeps it active automatically; otherwise you will need to re-authorize the credential. Access can be revoked at any time from your Intuit account under connected apps. For more detail, see Intuit's OAuth 2.0 documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API Access ScopeNoNoAPI Access Scope. Allowed values: com.intuit.quickbooks.accounting

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. In the API Access Scope field, select com.intuit.quickbooks.accounting. This is currently the only scope supported by this connector, and it grants access to standard QuickBooks Online accounting entities such as invoices, customers, vendors, and bills.

  4. Click the Authorize button to initiate the OAuth 2.0 authorization flow. A new browser window will open, directing you to the Intuit sign-in page.

  5. Sign in with the QuickBooks Online user account that has permission to authorize third-party application access for the company you want to connect (see Prerequisites).

  6. Review the permissions Nexla is requesting on the Intuit consent screen, select the QuickBooks Online company you want to connect, and approve the request. Intuit will redirect you back to Nexla once authorization is complete, and the company's Realm ID is captured automatically as part of the credential.

    The OAuth 2.0 authorization flow is managed entirely by Intuit. Nexla never has access to your QuickBooks Online password. If your connection is compromised, revoke access immediately from your Intuit account under connected apps.

  7. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Intuit Quickbooks connector tile, then select the credential that will be used to connect to the QuickBooks Online company, and click Next; or, create a new Intuit Quickbooks credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Intuit Quickbooks endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get all Invoices

Fetches all invoices in the connected QuickBooks Online company. Use this template when you need to ingest invoice records — including line items, customer references, amounts, and payment status — for billing, revenue reporting, or reconciliation workflows.

  • Sends a GET request to the QuickBooks Online query endpoint with the query Select * From Invoice, and returns every invoice accessible to the authorized company.
  • Response data is extracted from $.QueryResponse.Invoice[*] — each element represents one invoice record.

Click the API documentation link on the endpoint configuration screen to view the Intuit query syntax for fetching a filtered list of invoices (for example, by date range or status) using the Manual configuration option below.

For the full Invoice entity reference and supported query filters, see the QuickBooks Online Invoice API documentation.

Get All Customers

Fetches all customers in the connected QuickBooks Online company. Use this template when you need to ingest customer records — including contact details, balances, and billing information — for CRM sync, revenue analysis, or customer reporting workflows.

  • Sends a GET request to the QuickBooks Online query endpoint with the query Select * From Customer, and returns every customer accessible to the authorized company.
  • Response data is extracted from $.QueryResponse.Customer[*] — each element represents one customer record.

Click the API documentation link on the endpoint configuration screen to view the Intuit query syntax for fetching a filtered list of customers using the Manual configuration option below.

For the full Customer entity reference and supported query filters, see the QuickBooks Online Customer API documentation.

Get All Vendors

Fetches all vendors in the connected QuickBooks Online company. Use this template when you need to ingest vendor records — including contact details and balances — for accounts payable, vendor management, or spend reporting workflows.

  • Sends a GET request to the QuickBooks Online query endpoint with the query Select * From Vendor, and returns every vendor accessible to the authorized company.
  • Response data is extracted from $.QueryResponse.Vendor[*] — each element represents one vendor record.

Click the API documentation link on the endpoint configuration screen to view the Intuit query syntax for fetching a filtered list of vendors using the Manual configuration option below.

For the full Vendor entity reference and supported query filters, see the QuickBooks Online Vendor API documentation.

Get All Bills

Fetches all bills in the connected QuickBooks Online company. Use this template when you need to ingest bill records — including vendor references, amounts, and due dates — for accounts payable or expense reporting workflows.

  • Sends a GET request to the QuickBooks Online query endpoint with the query Select * From Bill, and returns every bill accessible to the authorized company.
  • Response data is extracted from $.QueryResponse.Bill[*] — each element represents one bill record.

Click the API documentation link on the endpoint configuration screen to view the Intuit query syntax for fetching a filtered list of bills using the Manual configuration option below.

For the full Bill entity reference and supported query filters, see the QuickBooks Online Bill API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Intuit Quickbooks data sources can also be manually configured to ingest data from any valid QuickBooks Online API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Intuit Quickbooks data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.