Connecting to QuickBooks Desktop

The Sisense QuickBooks Desktop connector is a certified connector that allows you to import data from the QuickBooks Desktop API into Sisense via theSisense generic JDBC connector. The QuickBooks Desktop connector offers the most natural way to connect to QuickBooks Desktop data, including Customers, Transactions, Invoices, Sales Receipts, and more, and provides additional powerful features.

Sisense QuickBooks Desktop is a certified connector. The support for the connector is provided by Sisense and will be assisted by the certification partner's support, if needed. For any support issues or additional functionality requests, please contact your Sisense representative or open a request through our Help Center. For advanced inquiries specific to driver functionality, you can also contact our certification partner’s support directly via [email protected].

After you have downloaded the driver, you can connect through a connection string in Sisense. The connection string is used to authenticate users who connect to the QuickBooks Desktop APIs.

The driver connects to QuickBooks through the Remote Connector. You will have to install it, on the same machine as QuickBooks.

This page describes how to download the QuickBooks Desktop driver and deploy it, how to connect to QuickBooks Desktop with a connection string, provides information about the QuickBooks Desktop data model, and more:

Downloading the QuickBooks Desktop JDBC Driver

You can download the QuickBooks Desktop JDBC driver here.

Note:

Deploying the QuickBooks Desktop JDBC Driver

Pre-requisit: The install file (setup.jar) is a Java Application that requires Java 6 (J2SE) or above to run.

To install the driver, double-click the setup.jar file and proceed with the instructions in the installation wizard.

Depending on the machine on which you are accessing the Sisense application, install the driver in one of the following locations:

Note: The default location of the JAR file: C:\Program Files\CData\CData JDBC Driver for <Driver Name> 2019\lib

JAVA Troubleshooting

If you do not have Java 6 installed, you may download it from here.

If your system is not set up to run Java applications, execute the following command: java -jar setup.jar.

Using the Remote Connector

The QuickBooks Desktop connector makes requests to QuickBooks through the Remote Connector. The Remote Connector is an easy-to-use tool that enables developers to access QuickBooks data remotely.The Remote Connector runs on the same machine as QuickBooks and accepts connections through a lightweight, embedded Web server.

The server supports SSL/TLS, enabling users to connect securely from remote machines. The first time you connect, you will need to authorize the driver with QuickBooks.

The Remote Connector can be used to read and write to QuickBooks in situations where direct COM access to QuickBooks is not available (e.g., ASP.NET, Java, or QuickBooks on a remote machine).

In the Remote Connector, you can define users and their passwords and then use these credentials in the connection string that you create to connect to your QuickBooks Desktop tables.

Follow the procedure below to connect to QuickBooks for the first time through the Remote Connector:

  1. Download the Remote Connector from remoteconnector.com and install the Remote Connector on the machine where QuickBooks is installed.
  2. Open the company file you want to connect to in QuickBooks using an administrator account in single-user mode.
  3. Open the Remote Connector from the system tray and add a user on the Users tab. Enter a User and Password and select the level of access in the Data Access menu.

    Note: The Remote Connector does not use the User and Password properties to access QuickBooks; the User and Password properties authenticate the user to the Remote Connector. Authentication to QuickBooks is handled based on the Application Name property.
  4. When you first connect, a dialog will appear in QuickBooks prompting you to authorize the application. After authorizing the application, you can then execute commands to QuickBooks. Specify the URL of the Remote Connector and the User and Password. By default, the Remote Connector connects to the currently open company file.
  5. If you want to access QuickBooks when QuickBooks is not running, save the company file information for the user. The Remote Connector will then automatically open QuickBooks in the background with the company file for that user.

Note: If the QuickBooks UI is open, you can only connect to that company file. Additionally, note that the user permissions you run the Remote Connector under must match the user permissions you run QuickBooks under. The Remote Connector installation process installs the Remote Connector as a service under the current user account.

To help you create a connection string and test the connection, see Connection String Builder for Certified Connectors.

If you have any issues connecting to your data source, see Troubleshooting JDBC Data Connectors.

Connecting to QuickBooks

After you have installed the QuickBooks connector, you can import your data from Quickbooks by connecting with a connection string. The connection string contains your Quickbooks user credentials. Quickbooks uses the connection string to authenticate your account and allow you to extract the relevant data for your account.

To create the connection string:

  1. Open the lib directory for the connector. This is the default path: C:\Program Files\CData\CData JDBC Driver for <Driver Name> 2019\lib.
  2. Double-click the jar file in the lib directory.

    Alternatively, to open the jar file from the command line, enter the following command in the command prompt (change the driver name to your driver): cd C:\Program Files\CData\CData JDBC Driver for <Driver Name> 2019\lib. Press Enter and then enter the following command (change the driver name to your driver): “C:\Program Files\Sisense\infra\jre\bin\java.exe" -jar cdata.jdbc.<Driver Name>.jar. Press Enter again.
    For example:

    The Connection String Builder opens.
  3. Enter the values for the following connection properties (click in the Value column to enter a value or to modify an existing value):
    • User: Set this to username defined in Remote Connector.
    • Password: Set this to password defined in Remote Connector.
    • URL: The IP address of the remote machine where Remote Connector was installed and the port. The port is defined under Connection Settings in the Advanced tab of the Remote Connector.
  4. If the Connection String Builder has a InitiateOAuth property, set it to OFF to avoid entering the OAuth Authorization process. Note: This property may not appear for some connectors.
  5. Press Enter to add all the connection properties to the connection string.
    An example of the connection string:
    jdbc:quickbooks:User=xxxxx;Password=xxxxxxxxxx;URL=http://xxxxxxxxxxxx;
  6. Click Test Connection. A new browser tab opens where you need to log in to your application in order to grant access. (Each application will display a different window and messages.)
    Close the Authorization Successful! message that opens.
  7. Go back to the Connection String Builder dialog, and click OK in the Test Connection Successful message to close it.
  8. Click Copy to Clipboard to obtain the connection string.

You need to follow the above instructions only on first connect, and then when your credentials to the application change.

To help you create a connection string and test the connection, see Connection String Builder for Certified Connectors.

If you have any issues connecting to your data source, see Troubleshooting JDBC Data Connectors.

Adding QuickBooks Desktop Tables to your ElastiCube

  1. Open Sisense.
    For a non-local installation, open Sisense on the hosted cloud environment.
  2. In the Data page, open an ElastiCubeor create a new ElastiCube.
  3. In the Model Editor, click . The Add Data dialog box is displayed.
  4. Click Generic JDBC to open the JDBC settings.

  5. In Connection String, paste the string you obtained above.
  6. In JDBC JARs Folder, enter the name of the directory where the QuickBooks Desktop JAR file is located (see Deploying the QuickBooks Desktop JDBC Driver).
  7. In Driver's Class Name, enter the following class name: cdata.jdbc.quickbooks.QuickBooksDriver.
  8. If you wish to secure the connection, enter your QuickBooks credentials in User Name and Password and remove the relevant properties from the connection string. Otherwise, leave these fields blank.
  9. Click Next. A list of tables in the database are displayed. All tables and views associated with the database will appear in a new window.
  10. From the Tables list, select the relevant table or view you want to work with. You can click next to the relevant table or click Preview to see a preview of the data inside it. 
  11. (Optional) Click + to customize the data you want to import with SQL. See Importing Data with Custom Queries for more information.
  12. After you have selected all the relevant tables, click Done. The tables are added to your data model.

QuickBooks Desktop Connector: Additional Resources

For the full documentation set for the QuickBooks Desktop connector, click here.

For connection string options, click here.

For information on the QuickBooks Desktop data model, click here.