QBO 2.0: Set Up QuickBooks Online (QBO) on the Intuit Developer Site

Quickbooks Online (QBO) is a cloud based accounting application that allows its users to accept business payments, manage and pay bills, and carry out payroll functions.

QBO Setup Prerequisites

Before enabling your QBO integration, be sure to complete the following:

  • Download the QBO Quickstart Guide attached to the bottom of this article.
    • Note: The Quickstart Guide is meant to be used as a resource to keep you organized throughout the setup process; it does not replace the use of the Help Center articles. 
  • Understand your QBO Chart of Accounts; if you need assistance with your QBO Chart of Accounts, reach out to Intuit Quickbooks Online.
  • Consult with your accounting representative at your company.
  • Decide which system, QBO or Turvo, will be the system of record and confirm whether forward or reverse sync is in scope.
    • When Turvo is selected as the system of recorded payments and forward sync is confirmed, data flows from Turvo to QBO.

  

  • When Quickbooks is selected as the system of recorded payments and reverse sync is confirmed,, data flows from QBO to Turvo. 

Obtain a QBO Subscription

Before integrating your Turvo tenant with QBO, your organization must have a subscription to either QuickBooks Plus or QuickBooks Advanced.

Create a Developer Account

Once you have obtained a subscription to Quickbooks Online, you must create a developer account

We recommend that you have one universal email tied to this account that two people have access to. For example, accounting@company.com is the email tied to the account and two employees have access to this account. 

Create the App on the Intuit Developer Site

  1. Go to the Intuit Developer site: https://developer.intuit.com/app/developer/homepage and answer the following questions.
    Screenshot 2024-05-01 at 9.37.36 AM.png
  2. Log in to your Intuit developer account and click Dashboard to navigate to the My Apps Dashboard. Then, click +Create an app.
    2024-02-13_11-30-54.png
     
    • Important Note: It is important to create your app with a universal Intuit developer account to avoid errors. 
      • If the user that created your app in the Intuit Developer Dashboard is deleted from QBO or changes their password, the connection between Turvo and QBO will break. You need to reach out to QBO Support to resolve the issue.
  1. Click QuickBooks Online and Payments.
    2024-02-13_11-32-09.png

  2. Name your app and then select the com.intuit.quickbooks.accounting checkbox for the API option in the Select a scope field.
    2024-02-13_11-32-59.png

  3. Click Create app to save your changes.
    2024-02-13_11-33-44.png

Complete the QBO App Assessment Questionnaire

  1. Navigate to the Intuit Developer Site, where you created the app, and click Production Settings and then click App assessment questionnaire.


  2. Before you begin the questionnaire, you must select the regulated industries that your app is designed for. Click the select relevant regulated industries link.


  3. Select None of the above.


  4. Click Start questionnaire to begin.


  5. In the drop-down at the top of the page, select the app that you just created.
    2024-02-13_11-34-43.png
  6. Proceed to the questions outlined in the tables below. 

App Assessment Considerations

  • For answers labeled with Enter your organization’s unique response, Turvo cannot provide guidance on those specific questions, as they depend on your organization. We recommend that you work with subject matter experts in your company to properly answer those questions. 
  • The Intuit Developer portal allows you to create a “Team” for each app created. Anyone who is a member of the app’s “Team” will be able to access, contribute to, save, and submit the questionnaire. You can learn more about how to set up a “Team” for your app on Intuit’s website.
  • For each section, once all of the questions are answered, click Next Tab at the bottom of the screen to proceed to the next tab of questions.
  • Set aside time to complete the App Assessment Questionnaire in one sitting. 

Important Note: The current version of the questionnaire might include new questions or sections that are not covered in this article.

General Questions

Question Answer
1. Has your company ever received any complaints, lawsuits, or investigative requests from regulatory authorities or government agencies? Enter your organization’s response that is based on business practice.
2. Have you worked with legal counsel to understand any regulatory requirements to other considerations related to your business activities and use of user data? Enter your organization’s response that is based on business practice.
3. Have you reviewed and confirmed that you will comply with the security policies found here? Yes
4. Have you reviewed and confirmed that you will comply with the Supplier Code of Conduct found here? Yes

5. Is your app designed for either of the following:

  • To enhance, streamline, or improve yours or others’ QuickBooks experience
  • To facilitate a business process
Yes

6. Are you or any of your representatives (including owners, affiliated parties or any beneficiaries):

(i) on any sanctions lists in the countries available in the app store or (ii) doing business in any US embargoed countries (which includes the Crimea region of Ukraine, North Korea, Iran, Cuba, and the Syrian Arab Republic)?

Enter your organization’s response that is based on business practice.

7. Does your application include any AI generative functionality, including but not limited to ChatGPT, ChatGPT-3 or 4, Google's BARD, conversational chatbots, etc.?

No

 

App Information

Question Answer

1. Which of the following is true about your app?

Please provide a link to your website

Provide a link to any steps you give developers so they can integrate with QuickBooks

For the first field, select the response below:

Your app acts as a platform that lets other app developers (outside your team or company) integrate with QuickBooks 

Copy and paste the below link into the second field:

app.turvo.com

Copy and paste the below link into the third field:

https://turvoinc.zendesk.com/hc/en-us/articles/4407911527187-How-to-enable-Turvo-s-Quickbooks-Online-integration

2. What platform(s)does your app utilize and make API calls from?

Select the response below:

 Web/SaaS

Then, click the arrow pointing to the right to transfer the option to the Chosen box.

3. How does your app interact with Intuit product data?

Select the response below:

It writes data to Intuit product(s) (including Change/ECheck transactions for payment processing)

Then, click the arrow pointing to the right to transfer the option to the Chosen box.

4. Are you building a private app for your team or business? Or do you plan to make it publicly available?

Select the response below:

We’re building a private app.

5. Which types of QuickBooks Online users can use your app?

Select the response below:

Only the QuickBooks Online company admin who connected the app.
6. Does your app integrate with platforms other than Intuit?

No

 

Authorization and Authentication

Question Answer
1. Have you tested connecting, disconnecting, and reconnecting your app with a sandbox or non-production company? Yes
2. How often does your app refresh tokens?

Select the below response from the drop-down:

Only when access token expires.
3. Does your app retry authorization and authentication requests that have failed? Yes
4. If your app encounters an authorization or authentication error, do you ask customers to reconnect to your app? Yes
5. Did you use the Intuit discovery document to get the latest endpoints required in the OAuth2.0 flow? Yes

6. Can your app handle the following scenarios?

6a. Errors due to expired access tokens

6b. Errors due to expired refresh tokens

6c. Invalid grant errors

6d. CSRF errors

 

Yes

Yes

No

No

7. Does your app rely on the OAuth playground or other offline tools to get access or refresh tokens? Yes

 

API Usage

Question Answer
1. Which of the broad API categories does your app use?

Select the response below:

Accounting API 

Then, click the arrow pointing to the right to transfer the option to the Chosen box.
2. How often does your app call our APIs for each customer?

Select the response below:

Only on-demand during customer interactions with your app

Then, click the arrow pointing to the right to transfer the option to the Chosen box.

 

Accounting API

Question Answer
1. Which customer facing version of QuickBooks Online is your app designed for?

Select the response below:

Plus

Then, click the arrow pointing to the right to transfer the option to the Chosen box.

Then, select the response below:

Advanced

Then, click the arrow pointing to the right to transfer the option to the Chosen box.

Note: If selecting more than one option, they will need to be moved to the Chosen box one at a time. 

2. Users often change versions of QuickBooks Online. This means they may get access to new features, or lose certain features, at any time. Can your app handle situations where users gain or lose access to version-specific features? No
3. Does your app utilize any of the following features?

Select the response below:

None of the above

Then, click the arrow pointing to the right to transfer the option to the Chosen box.

4. Do you use webhooks for your app?

Is the endpoint URL active and functional?

In the first field, enter one of the responses below:

Yes, if you plan to record payments in QBO and reverse sync is in scope. .

No, if you plan to record payments in Turvo and forward sync is in scope.

In the second field, select the answer below:

Yes

 

5. Do you use the CDC operation for your app?

No

 

Error Handling

Question Answer
1. Have you tested if your app can handle API errors, including syntax and validation errors? Yes
2. Does your app capture the value of the intuit_tid field from response headers? Yes
3. Does your app have a mechanism for storing all error information in logs that can be shared for troubleshooting purposes, if required? Yes

4. Do you provide a way for customers to contact you for support from within your app?

How?

Yes

Copy and paste the response below into the field:

Via Zendesk

 

Security

Question Answer
1. Has your company ever had a security breach that required notification to customers or government agencies/authorities? No
2. Do you have a security team that regularly assesses vulnerabilities and risks for your app? Yes
3. Are the client ID and client secret for your app stored securely? Yes
4. Does your app use multifactor authentication? Yes
5. Does your app use Captcha for authentication? No
6. Does your app use WebSocket? No
7. Once a customer’s Intuit data is in your system, do you allow it to be used by or shown to anyone other than that customer?

Select the below response from the drop-down:

No, all Intuit customer data processed by our app is only used for the benefit of the original customer

 

After you’ve completed all of the questions available in the questionnaire, click Submit. The questionnaire will be submitted to Intuit for review, which may take up to 30 minutes to complete and approve.

Complete the Production Settings

Click Production Settings from the left navigation menu.
2024-02-13_11-35-42.png

Complete the information, as instructed, for the sections below:

Terms of service links

Enter https://production-app.turvo.com/ for the following:

  1. End User License Agreement URL 
  2. Privacy Policy URL
    2024-02-13_11-36-27.png

App URLs

Enter the following URLs for each field:

  1. Host Domain: turvo.com
  2. Launch URL: https://app.turvo.com/#/auth/login
  3. Disconnect URL: https://turvo.com/

2024-02-13_11-37-14.png

Categorize your app

Select only the Accounting checkbox.
2024-02-13_11-38-04.png

Tell us about the regulated industries that use your app

Select only the None of the above checkbox.

2024-02-13_11-38-54.png

Where is your app hosted?

Country: Select United States of America from the drop-down menu.

2024-02-13_11-39-46.png

Add the three IP addresses below into the fields. Leave Single IP address selected for all three IP addresses.

  1. 52.41.68.119 
  2. 44.232.121.215 
  3. 44.226.117.193

Countries you accept connections from

Select only the United States checkbox.

2024-02-13_11-40-35.png

Important Note: Select the United States and ONLY an additional country if your business is registered in that country.

Scope for the API

This is pre-populated with the selection from the QuickBooks Online and Payments screen. 

No changes are needed to this section. 

User company connections

No information is needed in the User company connections section of the Production Settings for the Turvo integration.

Click Save to complete the Production Settings.

Enter Endpoint URLs When QBO is Your Recorded Source of Payment

Important Note: Only complete these steps when Quickbooks is your source of recorded payments in the Payment preferences mapping and reverse sync is in scope. This process is shown in QBO 2.0: Integrate with Quickbooks Online (QBO) via Integration hub.

Skip directly to Obtain the Client ID and Client Secret if this section does not apply to you and forward sync is in scope. 

  1. Go to the Webhooks section of the Production Settings in the QBO application.

  2. Enter the following information in the Endpoints.
    • In the Endpoint URL field, enter the following link:
      https://production-http.turvo.com/webhook/qbo
    • Verify that the Event Frequency is 0 minutes, (real-time).

  3. Enter the following information in Event triggers.
    • Expand the Event triggers by selecting Show Webhooks.
    • Deselect all available checkboxes.
    • Select bill payment (create, delete and void) and payment (void, delete, create).

  4. Click Save at the bottom of the screen to save your changes.

Obtain the Client ID and Client Secret

  1. In your Intuit Developer Dashboard, click the Keys & credentials section under Production Settings in the left navigation menu.
    Important note: You must use Production settings to generate these credentials. Do not use Development settings to generate credentials in this step.
    2024-02-13_11-41-33.png

  2. The Client ID and Client Secret fields are generated automatically. Save these somewhere safe so you can paste them into the Integration hub later on.
    2024-02-13_11-42-21.png

Add Redirect URIs

In the Redirect URIs section of Keys & credentials:

  1. Delete the auto-generated URI, usually found in the Order 1 placement


  2. Click Add URI
  3. Paste the following Turvo specific URIs:

  1. Click Save.

Next Up

Now that you have completed all of the steps on the Intuit Developer Site, head over to our Integrate with Quickbooks Online (QBO) via Integration hub article to complete the setup in Turvo. 

Was this article helpful?

0 out of 0 found this helpful