Connecting to QuickBooks Online
The Sisense QuickBooks Online connector is a certified connector that allows you to import data from the QuickBooks Online API into Sisense via theSisense generic JDBC connector. The QuickBooks Online connector enables developers to search (Customers, Transactions, Invoices, Sales Receipts, etc.), update items, edit customers, and more, from any Java/J2EE application, and more.
Sisense QuickBooks Online 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, 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 Online APIs. To obtain a connection string, you will need to create a QuickBooks Online app. Once you have connected to QuickBooks Online, you can import a variety of tables from the QuickBooks Online API.
This page describes how to download the QuickBooks Online driver and deploy it, how to connect to QuickBooks Online with a connection string, provides information about the QuickBooks Online data model, and more.
- Downloading the QuickBooks Online JDBC Driver
- Deploying the QuickBooks Online JDBC Driver
- Connecting to QuickBooks Online
- Adding QuickBooks Online Tables to your ElastiCube
- QuickBooks Online Connector: Additional Resources
You can download the QuickBooks Online JDBC driver here.
To run the setup, execute the following command: java -jar setup.jar (OR, if your system is set up to run Java applications, double-click on setup.jar).
During the installation, pay attention to the path of the installation (you will need it later on, to direct Sisense to the Jar file. The default path is C:\Program Files\CData\CData JDBC Driver for QuickBooks Online\lib).
Note: The install file (setup.jar) is a Java application that requires Java 6 (J2SE) or above to run. If you do not have Java 6 installed, you may download it from here.
To access QuickBooks Online’s REST API from Sisense, you must provide valid Oauth QuickBooks Online credentials. These credentials are provided by QuickBooks Online when you create an application.
Creating an App
You can follow the steps below to create an app and obtain the OAuth client credentials, the consumer key and consumer secret. You will need to create an Intuit developer account if you do not already have one.
- Log in to http://developer.intuit.com.
- Click My Apps > Create New App > Select APIs. Select the Accounting API.
- On the Settings tab, define the Launch URL.If you are making a desktop application, set Launch URL to http://localhost/. For a Web application, set Launch URL to a page you would like the user to be returned to after they have granted your application permissions.
Once you have created the app, you will be redirected to a page with information about your app. The Development tab contains your Sandbox credentials and the Production tab contains credentials for use with a production account. The consumer key and consumer secret are displayed on the Keys tab.
Creating the QuickBooks Online Connection String
Sisense uses connection strings to connect to QuickBooks Online and import data into Sisense. Each connection string contains a authentication parameters that the data source uses to verify your identity and what information you can export to Sisense. The default connection string for HubSpot is: jdbc:hubspot:InitiateOAuth=GETANDREFRESH;
The following is an example of a QuickBooks Online connection string:
The following parameters are mandatory for QuickBooks Online:
- CallbackURL: The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your app settings. Set this to http://localhost.
- InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken connection property.
- Timeout: The value in seconds until the timeout error is thrown, cancelling the operation. Set to 0 to disable time outs.
- CompanyId: Set this to the ID of the company you want to connect to. You can retrieve the CompanyId by pressing the following in QuickBooks Online:
PC: CTRL + ALT + ?
MAC: CTRL + Option + ?
If you have any issues connecting to your data source, see Troubleshooting JDBC Data Connectors.
- In the Data page, open an ElastiCubeor create a new ElastiCube.
- In the Model Editor, click . The Add Data dialog box is displayed.
- Click Generic JDBC to open the JDBC settings.
- In Connection String, enter the QuickBooks Online URL. See Creating a Connection String for more information.
- In JDBC JARs Folder, enter the name of the directory where the QuickBooks Online JAR file is located (see Deploying the QuickBooks Online JDBC Driver).
- In Driver's Class Name, enter the following class name: cdata.jdbc.QuickBooksonline.QuickBooksOnlineDriver.
- In User Name and Password, enter your QuickBooks Online credentials. These fields are not required if the user name and password were provided in the connection string.
- 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.
- 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.
- (Optional) Click + to customize the data you want to import with SQL. See Importing Data with Custom Queries for more information.
- After you have selected all the relevant tables, click Done. The tables are added to your data model.
For the full documentation set for the QuickBooks Online connector, click here.
For connection string options, click here.
For information on the QuickBooks Online data model, click here.