QuickBooks Online

ExpandedToggleIcon        Connection Dialog

To connect to QuickBooks Online, you need to perform the following steps:

1.If you connect to QuickBooks Online sandbox, select the Sandbox check box.
2.Optionally select the Use custom OAuth App check box and specify the custom Client ID and Client Secret. You can obtain these parameters when registering an OAuth app in your QuickBooks Online developer account.
3.Click Sign In.
4.In the opened Web Login dialog sign in to your QuickBooks Online account.
5.Select a company to query data from (click the link with the corresponding company name).
6.Click Authorize.

 

OAuth Interactive authentication

 

OAuth Interactive uses the authorization code flow and requires user sign-in in a browser window. This authentication type automatically retrieves and stores the required access credentials, including the refresh token and the company ID. You do not need to manually specify the security token, client ID, or client secret.

To connect with the Oauth Interactive authentication, perform the following steps:

1.In Authentication Type, select OAuthInteractive.
2.Click Test Connection.
3.In the browser window, sign in to QuickBooks Online with your username and password.

After successful authorization, the Company ID, Refresh Token, Client ID, and Client Secret are filled in automatically.

 

Additionally, you may configure Advanced connection options for more fine connection tuning. It is recommended to set the Token Server parameter there to avoid the need to perform Web Login again when the Refresh Token expires.

ExpandedToggleIcon        Advanced Connection Options

The following table describes the options that you can include in the Connection String using the Advanced Connection Editor dialog box:

 

Option

Description

Authentication Type

Specifies the authentication method to connect to QuickBooks Online.

Client ID

Specifies one of the pair of OAuth 2.0 credentials, that you can obtain when you register a client application at developer.intuit.com/myapps with your developer account.

Client Secret

Specifies the second one of the pair of OAuth 2.0 credentials, that you can obtain when you register a client application at developer.intuit.com/myapps with your developer account.

Company Id

Specifies a string that uniquely identifies a QuickBooks Online company. Filled automatically when you perform Web Login and authorization as described above.

Connection Lifetime

Specifies the maximum lifetime (in seconds) of a connection. When a connection is returned to the pool, its creation time is compared with the current time, and the connection is destroyed if that time span exceeds the value specified by Connection Lifetime. The default value is 0 (connection always returns to pool).

Connection Timeout

Specifies the length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. The default value is 60.

Default Command Timeout

Specifies the time in seconds to wait while trying to execute a command before terminating the attempt and generating an error.

Failover Retries

Specifies the number of retry attempts to re-run a command in case when the command failed because of an exception.

Initialization Command

Specifies a data source-specific command to execute immediately after the connection is established.

Local SQL Engine

Determines whether to enable local SQL processing (enabled by default). Local SQL processing allows performing complex SELECT statements that cannot be directly compiled to QuickBooks Online API calls. In this case ll the data from the mentioned cloud objects is queried to the local cache, and then the query is performed against the cache.

If local SQL processing is disabled, only simple SELECT statements that can be directly translated into Mailchimp API calls can be used. More complex SELECT statements will fail.

Max Pool Size

Specifies the maximum number of connections allowed in the pool. Setting the Max Pool Size value in the connection string can affect performance. The default value is 100.

Min Pool Size

Specifies the minimum number of connections allowed in the pool. The default value is 0.

NormalizeDbNames

Determines whether database object names are normalized when retrieved from the database.

Persist Security Info

Indicates if security-sensitive information, such as the password, is not returned as part of the connection if the connection is open or has ever been in an open state.

Pooling

Specifies whether, by default, the connection is drawn from the appropriate pool or is created and added to the appropriate pool.

Proxy Host

Specifies the host name or IP address of the proxy server.

Proxy Password

Specifies the password for the proxy server account.

Proxy Port

Specifies the port number of the proxy server. The default value is 3128.

Proxy User

Specifies the proxy server account name.

Readonly

Indicates whether the connection is read-only (allows only SELECT statements).

Refresh Token

Stores the OAuth 2.0 refresh token for QuickBooks Online. The value is obtained automatically when you perform Web Login. Alternatively, you can receive it using QuickBooks Online OAuth 2.0 Playground to obtain the initial refresh token.

Run Once Command

Specifies a command to execute immediately after establishing the connection. Unlike Initialization Command, it is not executed for connections obtained from the connection pool.

Sandbox

Determines whether to connect to the QuickBooks Online sandbox account instead of the production account.

Token Server

Specifies the location, a file or a registry key, to store new refresh tokens between sessions. Refresh Token may expire after just 24 hours; when this parameter is set, SSIS Data Flow Components for QuickBooks Online can query new tokens automatically and store them between sessions. For example, "file://D:\temp\oauth_token_1234.txt" or "reg://HKEY_CURRENT_USER\Software\Devart\dotConnect\OAuth_12345"

 

UTC Dates

Converts dates to UTC format during import if set to True, and treats the date values entered by the user (in SELECT statements, etc.) as UTC dates when sending them to the data source.