Skip to content

QuickBooks Online Query authentication guide

This is a step-by-step guide to acquiring credentials for authorizing the QuickBooks Online Query component for use in Matillion ETL.

The QuickBooks Online Query connector uses an OAuth entry for third-party authentication. There are two methods for obtaining authentication credentials, which you are required to do in the Intuit Developer website:

  • Connecting to sandbox companies. You are required to configure Development settings.
  • Connecting to production companies. You are required to configure Production settings.

Instructions for both methods are documented below.

While connector properties may differ between cloud data warehouses, the authentication process remains the same.


Prerequisites

Begin by creating an OAuth entry in Matillion ETL, as described in Manage OAuth. You should then configure this OAuth entry using the QuickBooks Online credentials, obtained as described below.


Acquiring third-party credentials

  1. Navigate to the Intuit Developer website, then click Sign In at the top-right of the page. If you do not see a Sign In option, click ☰ to reveal the option on a drop-down menu.
  2. Enter valid login credentials to continue to the Developer portal.
  3. Click Dashboard in the top-right to open the My Apps Dashboard page, and then click Create An App.
  4. On the Create app page, click QuickBooks Online and Payments.
  5. On the QuickBooks Online and Payments page, provide the following details, and then click Create app:
    • Give your app a name: Provide an appropriate name for the app.
    • Select a scope: Select a scope for the APIs you would like to access.
  6. The browser will then redirect you to the Develop your app tutorial. You can skip this stage. At this point you are required to choose which settings you want to configure to connect to either the sandbox companies or the production companies. Each company requires a different method for configuration.

Connecting to sandbox companies

To test this app and connect to an example sandbox company, follow these steps:

  1. In the sidebar on the left, click Keys & credentials under the Development Settings heading.
  2. On the Keys & OAuth page, copy the credentials from the Client ID and Client Secret fields. Save these credentials, as they will be required when configuring the OAuth entry in Matillion ETL, documented in Manage OAuth.

    Note

    • Make sure to copy the Client Secret immediately, as it will only appear once.
    • When copying these values, some browsers may add a space to the end of the string. Watch out for this, as it will cause the credentials to fail.
  3. Scroll down to the Redirect URIs section and replace the sample URI in the LINK field with the Callback URL from the Manage OAuth dialog in Matillion ETL. Then, click Save at the bottom of the page.

  4. On the top-right of the page, click the user icon, and then click Sandbox from the drop-down menu.
  5. On the Manage sandbox companies page, find the name of the company that will be associated with the app. Copy the credential listed next to Company ID, as it will be required when you configure the OAuth entry in Matillion ETL.

Connecting to production companies

To connect to a production company, follow these steps:

  1. In the sidebar on the left, click Keys & credentials under the Production Settings heading.
  2. On the Get your app's production keys page, you will see a list of links. Before your app can be published, click on each of these links and complete the steps:

    1. Verify your email address.
    2. Complete your Intuit Developer Portal profile amd verify your email address.
    3. Add your app's end user license agreement and privacy policy. See note below for these details.

      Note

      Enter the following URLs for your app's end user license agreement and privacy policy:

      • https://www.matillion.com/legal/
      • https://www.matillion.com/about/legal/privacy/

      These links are situated in the Intuit Developer Portal. Click on the Production Settings heading in the sidebar on the left, and scroll down to the Terms of service links heading.

    4. Add your app's host domain, launch URL, and disconnect URL.

    5. Select at least one category for your app.
    6. List the regulated industries that use your app.
    7. Give details about where your app is hosted.
  3. After you've completed the above steps to obtain your app's production keys, you're required to complete an approximately 30-minute app assessment questionnaire to obtain the client ID and client secret. Click Go to the app assessment questionnaire.

  4. Save the client ID and client secret, as they will be required later, when configuring the Oauth entry in Matillion ETL, documented in Manage OAuth.

    Note

    • Make sure to copy the Client Secret immediately, as it will only appear once.
    • When copying these values, some browsers may add a space to the end of the string. Watch out for this, as it will cause the credentials to fail.
  5. Scroll down to the Redirect URIs section, and replace the sample URI in the LINK field with the Callback URL from the Manage OAuth dialog in Matillion ETL. Then, click Save at the bottom of the page.

  6. To obtain your company ID, click keys & credentials, under Production Settings in the sidebar. Scroll down to the Production Companies heading, and click the View Production companies link.
  7. Click ⚙️ at the top of the production companies page. A pop-up menu will appear, click the Subscriptions and billing link, under the PROFILE heading. Your company ID will be displayed at the top of the page. Copy the credential listed next to Company ID, as it will be required when you configure the OAuth entry in Matillion ETL.

After connecting your app to a sandbox or production company, return to the Manage OAuth dialog in Matillion ETL to complete the OAuth entry.

Note

Common issues may occur when connecting your app to a sandbox or production company. For more information, read Common areas which cause the QuickBooks Online Query component to fail.