Quickbooks Questionnaire

QuickBooks Online App Assessment Questionnaire for Knit API

Guidance on completing Intuit’s app assessment process

Introduction

All apps that intend to access QuickBooks Online production data must fill in a questionnaire as part of Intuit’s app assessment process. Many questions require information about your organization and your app’s use case. Questions specific to Knit API (https://www.getknit.dev) are highlighted in bold.


Questionnaire

1. General questions

There are no Knit-specific items in this section. Answer based on your organization.


2. Lending

This section appears only if you indicated “Lender” earlier.

  • If you’re not a lender, skip.
  • If you are a lender but don’t see these prompts, go to Production Settings in the Developer Dashboard and enable Lending.

There are no Knit-specific items here.


3. App information

Which of the following is true about your app?

(At least one option must be checked)

OptionDescription
aYou built your app from scratch and wrote the code that lets it interact with Intuit APIs.
bYou used another platform or tool to build and code your app.
cYour app acts as a platform that lets other developers integrate with QuickBooks.
dYou require users to create an additional Intuit Developer profile to use your app.
eYou created this app to get credentials/keys for another platform integration.

Once you select option b

QuestionResponse
What’s the name of the platform or tool?Knit API
Provide a link to the platform’s websitehttps://www.getknit.dev
Describe how your app interacts with itWe manage QBO connections and data via Knit’s REST API

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

This question should be answered by the app's developer.

How does your app interact with Intuit product data?

This question should be answered by the app's developer.

Are you building a private app or planning to make it publicly available?

OptionDescription
aWe’re building a private app
bWe plan to make our app publicly available

After selection option b, you will be asked estimated number of users.


Which types of QuickBooks Online users can use your app?

OptionDescription
aAny admin of the QuickBooks Online company
bAny user of the QuickBooks Online company

Does your app integrate with platforms other than Intuit?

This question should be answered by the app's developer.


4. Authorization & authentication

Have you tested connect/disconnect/reconnect flows in a sandbox company?

This question should be answered by the app's developer. Testing the app is a mandatory requirement and Intuit will reject the app if you provide No as a response.

How often does your app refresh access tokens?


Option
a) Every time it makes an API call
b) Only when access tokens expire
c) More than once a day
d) Daily
e) Weekly
f) Other – specify a timeframe

Does your app retry authorization/authentication requests that have failed?

Option
a) Yes
b) No

If your app encounters an auth error, do you prompt customers to reconnect?

Option
a) Yes
b) No

Did you use the Intuit discovery document for OAuth2 endpoints?

Option
a) Yes
b) No

Can your app handle these scenarios?

ScenarioRecommended for Knit
Errors due to expired access tokensYes
Errors due to expired refresh tokensYes
Invalid grant errorsYes
CSRF token errorsYes

Does your app rely on the OAuth playground or offline tools for tokens?

Option
a) Yes
b) No

5. API usage

Which of the broad API categories does your app use?

CategoryRecommended for Knit
Accounting APIYes
Payments APINo
Payroll APINo

Knit does not integrate with the Payments or Payroll APIs.

How often does your app call Intuit APIs for each customer?

This question should be answered by the app's developer.


6. Accounting API

(This section appears once you select Accounting API above.)

Which customer-facing QBO versions does your app support?

VersionRecommended for Knit
Simple StartNo
EssentialsYes
PlusYes
AdvancedYes

Can your app handle users gaining/losing version-specific features?

Option
a) Yes
b) No

After selecting Yes

QuestionAnswer
Tell us how you plan to handle this situationFor gains in features, there is no impact to the end user. For loss of features, error messages are generated where permissions for the required features are missing.


Does your app utilize any of the following features?

FeatureRecommended for Knit
MulticurrencyYes
Sales tax – US companiesYes
Sales tax – non-US companiesYes
None of the above

Do you use QuickBooks webhooks?

Option
a) Yes
b) No

Knit is yet to release support for quickbooks native webhook

Do you use CDC (Change Data Capture)?

Option
a) Yes
b) No

7. Error handling

Have you tested handling API errors (syntax, validation, etc.)?

Option
a) Yes
b) No

Do you capture the intuit_tid header for diagnostics?

Option
a) Yes
b) No

Do you log all error details for troubleshooting?

Option
a) Yes
b) No

Do you provide in-app support contact options?

This question should be answered by the app's developer.


8. Security

Has your company ever had a security breach requiring notification?

This question should be answered by the app's developer.

Do you have a security team that regularly assesses vulnerabilities and risks?

Are the client ID and client secret stored securely (not hardcoded)?

Option
a) Yes
b) No

Does your app enforce multi-factor authentication?

This question should be answered by the app's developer.

Does your app use CAPTCHA for authentication?

This question should be answered by the app's developer.

Does your app use WebSockets?

This question should be answered by the app's developer.

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?

This question should be answered by the app's developer.