Skip to main content

Intuit QuickBooks Sandbox

Intuit QuickBooks Sandbox is a testing environment for the QuickBooks accounting platform that provides developers and businesses with a safe space to test integrations, API calls, and accounting workflows without affecting live financial data, enabling thorough testing and development of QuickBooks-based solutions.

Intuit QuickBooks Sandbox icon

Power end-to-end data operations for your Intuit QuickBooks Sandbox API with Nexla. Our bi-directional Intuit QuickBooks Sandbox connector is purpose-built for Intuit QuickBooks Sandbox, 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 Sandbox or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Intuit QuickBooks Sandbox 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 Sandbox credential, you need to have a QuickBooks Sandbox account. The credential uses the Nexla Sandbox App for OAuth2 authentication, which simplifies the setup process by using a pre-configured OAuth2 application managed by Nexla for the sandbox environment.

To use this credential, you need to have a QuickBooks Sandbox account. The QuickBooks Sandbox is a testing environment that provides a safe space to test integrations, API calls, and accounting workflows without affecting live financial data. Once you have access to your sandbox account, you can connect it to Nexla using the OAuth2 authorization flow. The Nexla Sandbox App handles the OAuth2 authentication process, so you do not need to create your own OAuth2 application. For detailed information about QuickBooks Sandbox API authentication and setup, refer to the QuickBooks API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API Access ScopeYesNoAPI Access Scope Allowed values: Accounting API; Payments API; Accounting & Payments API

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.

New Credential Overlay – Intuit QuickBooks Sandbox

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

  2. Intuit QuickBooks Sandbox uses OAuth2 authentication to securely access the QuickBooks Sandbox API. The credential uses the Nexla Sandbox App for OAuth2 authentication, which simplifies the setup process by using a pre-configured OAuth2 application managed by Nexla for the sandbox environment. Select the API access scope from the API Access Scope dropdown menu. Available options include:

    • Accounting API: Provides access to accounting-related data and operations (com.intuit.quickbooks.accounting openid email profile).
    • Payments API: Provides access to payment-related data and operations (com.intuit.quickbooks.payment openid email profile).
    • Accounting & Payments API: Provides access to both accounting and payment data and operations (com.intuit.quickbooks.accounting com.intuit.quickbooks.payment openid email profile).

    The default value is com.intuit.quickbooks.accounting openid email profile if not specified. The selected scope determines what permissions are requested during the OAuth2 authorization flow.

  3. Click the Authorize button to begin the OAuth2 authorization flow. This will redirect you to Intuit's authorization page where you will be asked to sign in with your QuickBooks Sandbox account and grant permissions to Nexla to access your QuickBooks Sandbox data.

    During the OAuth2 authorization flow, you will be redirected to Intuit's authorization page. You must sign in with a QuickBooks Sandbox account that has access to the QuickBooks Sandbox company you want to connect. After signing in, you will be asked to grant permissions to Nexla to access your QuickBooks Sandbox data. The access scope you selected determines what permissions are requested. Once you grant permissions, you will be redirected back to Nexla, and the authorization will be completed automatically.

  4. After completing the OAuth2 authorization flow, Nexla will automatically obtain and store the access token and refresh token needed to authenticate API requests. The access token is used to authenticate each API request, and the refresh token is used to obtain new access tokens when the current access token expires.

    OAuth2 access tokens expire after a certain period for security reasons. Nexla automatically refreshes expired access tokens using the refresh token, so you typically do not need to re-authorize unless you revoke access or the refresh token expires. The access token is sent in the Authorization header with the Bearer prefix for all API requests to the QuickBooks Sandbox API. The QuickBooks Sandbox environment uses sandbox-specific API endpoints (e.g., https://sandbox-quickbooks.api.intuit.com) which are separate from production endpoints. For detailed information about OAuth2 authentication, token management, and available scopes, see the QuickBooks API documentation.

  5. 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 Sandbox connector tile, then select the credential that will be used to connect to the QuickBooks Sandbox account, and click Next; or, create a new Intuit QuickBooks Sandbox 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 QuickBooks Sandbox 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 Records of Type

Returns all records of a specific resource. Use advanced tab for customizing slices of data to be fetched.

  • Enter the QuickBooks Online Company ID (Realm ID) in the QuickBooks Online Company ID/ Realm ID field. This is the unique identifier of your QuickBooks Sandbox company. You can get it from your Settings >> Account and settings >> Billing & Subscription page, or by clicking Control + Option + ? in your account.
  • Select or enter the type of resource whose records you wish to fetch in the Resource Type field. Available options include Customer, Account, Invoice, CompanyInfo, Bill, Employee, and Vendor. You can also add custom resource types if needed. The default value is Customer if not specified.
  • Enter the API minor version in the API Minor Version field. This determines which minor version of the QuickBooks API you wish to access. The default value is 65 if not specified.
  • The endpoint uses GET requests to https://sandbox-quickbooks.api.intuit.com/v3/company/{realm_id}/query?query=Select+*+from+{resource_type}+maxresults+1000&minorversion={minorversion} where {realm_id} is the QuickBooks Online Company ID you provide, {resource_type} is the Resource Type you select, and {minorversion} is the API Minor Version you provide. The endpoint URL is automatically constructed based on the QuickBooks Sandbox API base URL and all the parameters.
  • The endpoint does not use pagination (iteration.type: static.url) and returns a single response. The response data path is $.QueryResponse.{resource_type}[*], which extracts all items from the resource type array in the API response.

This endpoint retrieves all records of a specific resource type from your QuickBooks Sandbox account. The QuickBooks Sandbox is a testing environment that provides a safe space to test integrations without affecting live financial data. The endpoint uses a simple SELECT query to fetch all records of the specified resource type, with a maximum of 1000 results per request. You can customize the data to be fetched using the advanced tab. The endpoint supports various resource types including customers, accounts, invoices, company information, bills, employees, and vendors. For detailed information about available resource types and the API response format, see the QuickBooks API documentation.

Perform Custom Query to Fetch Records

Perform a query to fetch records from the QuickBooks API.

  • Enter the QuickBooks Online Company ID (Realm ID) in the QuickBooks Online Company ID/ Realm ID field. This is the unique identifier of your QuickBooks Sandbox company. You can get it from your Settings >> Account and settings >> Billing & Subscription page, or by clicking Control + Option + ? in your account.
  • Enter the query statement to be executed in the Query field. Note that the query can only be run on the resource type. The default value is Select * if not specified. You can specify which fields to select in your query.
  • Select or enter the type of resource whose records you wish to fetch in the Resource Type field. Available options include Customer, Account, Invoice, CompanyInfo, Bill, Employee, and Vendor. You can also add custom resource types if needed. The default value is Customer if not specified.
  • Enter the query filter in the Query Filters field. This is usually a combination of WHERE clauses and maxresults to be fetched. The default value is startposition 0 maxresults 1000 if not specified. You can use WHERE clauses to filter records based on specific conditions.
  • Enter the API minor version in the API Minor Version field. This determines which minor version of the QuickBooks API you wish to access. The default value is 65 if not specified.
  • The endpoint uses GET requests to https://sandbox-quickbooks.api.intuit.com/v3/company/{realm_id}/query?query={query}+from+{resource_type}+{query_condition}&minorversion={minorversion} where {realm_id} is the QuickBooks Online Company ID you provide, {query} is the Query you provide, {resource_type} is the Resource Type you select, {query_condition} is the Query Filters you provide, and {minorversion} is the API Minor Version you provide. The endpoint URL is automatically constructed based on the QuickBooks Sandbox API base URL and all the parameters.
  • The endpoint does not use pagination (iteration.type: static.url) and returns a single response. The response data path is $.QueryResponse.{resource_type}[*], which extracts all items from the resource type array in the API response.

This endpoint allows you to perform custom queries to fetch records from your QuickBooks Sandbox account. The QuickBooks Sandbox is a testing environment that provides a safe space to test integrations without affecting live financial data. The endpoint supports custom SELECT queries with WHERE clauses and filtering options, giving you full control over which records are retrieved. You can specify which fields to select, filter records based on specific conditions, and control pagination using startposition and maxresults. The endpoint supports various resource types including customers, accounts, invoices, company information, bills, employees, and vendors. For detailed information about query syntax, available resource types, and the API response format, see the QuickBooks 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 Sandbox data sources can be manually configured to ingest data from any valid QuickBooks Sandbox API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex QuickBooks Sandbox sources, such as sources that use custom query parameters, different HTTP methods, or custom data transformations.

Content Format

  1. Select the format in which the data from the QuickBooks Sandbox API will be received from the Content Format pulldown menu. Nexla will automatically parse the data in the selected format. The QuickBooks Sandbox API typically returns data in JSON format.

API Endpoint URL

  1. Enter the URL of the QuickBooks Sandbox API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. QuickBooks Sandbox API endpoints typically follow the pattern https://sandbox-quickbooks.api.intuit.com/v3/company/{realm_id}/{endpoint_path}.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint requires OAuth2 authentication via the Authorization: Bearer {token} header, which is handled automatically by your credential configuration. The endpoint URL must include your QuickBooks Online Company ID (Realm ID) in the path. Important: This connector uses the QuickBooks Sandbox environment, which is a testing environment separate from production. All API endpoints use sandbox-specific URLs (e.g., https://sandbox-quickbooks.api.intuit.com). For detailed information about QuickBooks Sandbox API endpoints and available APIs, see the QuickBooks API documentation.