Generating QuickBooks online credentials

RB9 only

If you subscribe to QuickBooks, you must set up a developer account with Intuit, then add the credentials to your RB9 before you can use your version of QuickBooks with QuickBooks Integrator.

Continued from QuickBook preferences.

  1. Connect to the Intuit Developer website (https://developer.intuit.com).
  2. Click Sign Up in the top right corner of the screen.
  3. Enter your email address, first & last name, phone number, and a password, then click Create Account.
  4. Intuit will send a confirmation email to the address you entered. Click Verify my email in the email from Intuit.
  5. When the email verification is complete, click Continue.
  6. On the Intuit Developer Welcome screen, you can optionally answer the questions (and click Done), or refresh the screen to skip the questions.
  7. Click Intuit account icon > Account Profile.
  8. Fill in all of the required fields in the About You screen. The Company Name field defaults to the First Name and Last Name entered when you set up the account. Enter your company name or group name to identify the user’s group. When you change the information, the profile’s title will change to reflect this.
  9. Click Save.
  10. Click Apps in the My Apps Dashboard screen, then click + Create an app.
  11. In the Create app screen, click QuickBooks Online and Payments.
  12. In the QuickBooks Online and Payments screen:
  13. Click Create app.
  14. When the Develop your app screen appears, click Production Settings in the left side menu.
  15. In the Production screen, your App name (RB9) and App ID appear under App info. (You do not need to upload an app logo.) Also:
    1. Under Terms of Service Links, enter:
      • https://www.reporterbase.com/terms.aspx in the End User License Agreement Url field.
      • https://www.reporterbase.com/privacy.aspx in the Privacy Policy Url field.
    2. Under App URLs, enter:
      • reporterbase.com in the Host Domain* field.
      • https://your_host_name.reporterbase.com in the Launch URL* field.
      • https://your_host_name.reporterbase.com in the Disconnect URL* field.
    3. Under Categorize your app, check the Billing, Invoicing, and Payment boxes.
    4. Under Where is your app hosted?, click Add country, then:
      • select “United States of America” in the Country* dropdown.
      • enter 13.88.20.159 under IP address*.
      • check the Single IP address box.
    5. Under Target industries for this app, check the None of the above box.
    6. Under Countries you accept connections from, select all of the countries where you will use RB9 with QuickBooks Online from the drop-down.
    7. Confirm that Accounting is selected under Scope for the API, then click Save.
  16. In the main screen, click Production Settings > Keys & credentials in the left side menu.
  17. If the Add details about your app screen appears, then you still have some production setup to finish. All completed items are marked  ✔; incomplete items are marked •. Click any incomplete items to access the corresponding screen and update information to complete the item. When all items on the Add details about your app screen are marked ✔, continue to the next step.
  18. Under Complete the app assessment questionnaire, click Go to the app assessment questionnaire.
  19. On the App assessment questionnaire screen, click Start questionnaire.
  20. RB9 should appear in the first field by default. If it does not, select “RB9” in the dropdown.
  21. in the General Questions dropdowns/lists, select the following answers:
    1. Has your company ever received any complaints, lawsuits, or investigative requests from regulatory authorities or government agencies? No.
    2. Have you worked with legal counsel to understand any regulatory requirements or other considerations related to your business activities and use of user data? Yes
    3. Have you reviewed and confirmed that you will comply with the security policies found here? Yes, I confirm that my app will comply with the security policies found above.
    4. Have you reviewed and confirmed that you will comply with the Supplier Code of Conduct found here? Yes, I confirm that my app will comply with the Supplier Code of Conduct found above.
    5. Apps that use Intuit APIs (whether public or private) need to be relevant and clearly related to QuickBooks, accounting, payments, workflows, finance, and other acceptable uses.

      Is your app designed for either of the following:

      • To enhance, streamline, or improve yours or others’ QuickBooks experience
      • To facilitate a business process (e.g. syncing QBO data to another service)

      Yes

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

      (i) on any sanctions lists in the countries available in the app store or

      (ii) doing business in any of the US embargoed countries (which includes the Crimea region of Ukraine, Donetsk People's Republic (DNR), Luhansk People's Republic (LNR) of Ukraine, North Korea, Iran, Cuba, and the Syrian Arab Republic)?

      No

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

  22. Click Next Tab.
  23. Under App Information, select/enter the following answers:
    1. Which of the following is true about your app (at least one option must be checked): You used another platform or tool to build and code your app.
      • What's the name of the platform or tool? CData
      • Provide a link to the platform or tool’s website: https://www.cdata.com/
      • Describe how your app interacts with the platform: Our application uses ADO.NET Provider for QuickBooks of CData and manage QuickBooks Online.
    2. What platform(s) does your app utilize and make API calls from? (Select all that apply) Web/Browser
    3. How does your app interact with Intuit product data? (Select all that apply)
      • It reads data from Intuit product(s)
      • It writes data to Intuit product(s) (including Charge/ECheck transactions for payment processing)
    4. Are you building a private app for your team or business? Or, do you plan to make it publicly available? We're building a private app
    5. Which types of QuickBooks Online users can use your app? Any user of the QuickBooks Online company
    6. Does your app integrate with platforms other than Intuit? No
  24. Click Next Tab.
  25. Under Authorization and Authentication, select the following answers:
    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 access tokens? Every time it  makes an API call
    3. Does your app retry authorization and authentication requests that have failed? No
    4. If your app encounters an authorization and authentication error, do you ask customers to reconnect to your app? No
    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 (yes/no):
      1. Errors due to expired access tokens Yes
      2. Errors due to expired refresh tokens Yes
      3. Invalid grant errors Yes
      4. CSRF errors Yes
    7. Does your app rely on the OAuth playground or other offline tools to get access or refresh tokens? No
  26. Click Next Tab.
  27. Under API Usage, select the following answers:
    1. Which of the broad API categories does your app use? (multiple choice) Accounting API
    2. How often does your app call our APIs for each customer? (multiple choice) Daily
  28. Click Next Tab.
  29. Under Accounting API, select the following answers:
    1. Which customer-facing version of QuickBooks Online is your app designed for? (Select all that apply) Simple Start, Essentials, Plus, and Advanced
    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 all that you've verified and thoroughly tested) Sales tax - For QuickBooks companies in the United States
    4. Do you use webhooks for your app? No
    5. Do you use the CDC operation for your app? No
  30. Click Next Tab.
  31. Under Error Handling, select the following answers:
    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? No
    3. Does your app have a mechanism for storing all error information in logs that can be shared for troubleshooting purposes, if required? No
    4. Do you provide a way for customers to contact you for support from within your app? Yes
      • How? Online Chat solution is embedded.
  32. Click Next Tab.
  33. Under Security, select the following answers:
    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 (i.e. not hardcoded within your app or displayed in browser console logs)? Yes
    4. Does your app use multi-factor 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? No, all Intuit customer data processed by our app is only used for the benefit of the original customer.
  34. Click Submit. If the Confirmation popup appears, click Yes. If a Thank You popup appears, click Yes.
  35. If a Thank You popup appears, click OK.
  36. Close the App assessment questionnaire browser tab, then select the Intuit Developer website browser tab.
  37. In the main screen, click Production Settings > App assessment questionnaire in the left side menu. 
  38. Under Submission status, you can view the status of your submission. When completed, Submission status will appear as Completed.
  39. In the main screen, click Production Settings > Keys & credentials in the left side menu.
  40. In the Keys & credentials screen, copy and separately store the information in the Client ID and Client Secret fields under Keys.  You will need this information to use QuickBooks Online from RB9.  See QuickBooks preferences.
    NOTE: You can update your Client Secret info

    If you want to update your Client Secret code, click Rotate Secret. Your Client Secret code will change. Be sure to copy the new Client Secret code to update the information in RB9 as well so your QuickBooks Integrator will still work.

  41. Under Redirect URIs, click Add URI.
  42. Enter https://oauth.reporterbase.com/requestquickbooksonlineauthorizationcode in the new input field.
  43. Click Save.
Reference
Step-by-step instructions