Import QuickBooks Data into Google Sheets

Ready to get started?

Learn more or sign up for a free trial:

CData API Server



Import QuickBooks data into a Google spreadsheet that is automatically refreshed.

The CData API Server, when paired with the ADO.NET Provider for QuickBooks (or any of 200+ other ADO.NET Providers), connects cloud applications, mobile devices, and other online applications to QuickBooks data via Web services, the standards that enable real-time access to external data. Use Google Sheets' built-in support for Web services to rely on up-to-date QuickBooks data, automate manual processes like rekeying data, and avoid uploading files.

What is The API Server?

The API Server is a lightweight Web application that runs on your server and produces secure feeds of any of 200+ data sources. The .NET edition can be deployed to Azure in 3 steps. The Java edition can be deployed to Heroku as well as any Java servlet container. You can also easily deploy on an Amazon EC2 AMI.

Why Web Services?

Google Sheets is one of the easiest ways to collaborate in real time, so it should be easy to collaboratively work with QuickBooks data and your other data sources in Google Sheets. However, it can be difficult to get data into Google Sheets. Often, a manual process is required, such as rekeying data or uploading CSV files. Working with a copy rather than the external data, the spreadsheet quickly becomes out of date.

The API Server provides an alternative to physically transferring data into and out of Google Sheets. The API Server provides native read/write connectivity to external QuickBooks data from both built-in formulas and Google Apps Script.

Instead of manually copying your data, formatting it, and uploading a spreadsheet, retrieving QuickBooks data into Google Sheets is as simple as using the ImportData formula to make calls to the API Server. The API Server exposes the capabilities of the QuickBooks API as standard OData queries. The sheet will automatically retrieve updates by periodically executing the query. Below is an example of a search.

https://MyServer:MyPort/api.rsc/Customers/?filter=Type eq 'Commercial' See the API page in the API Server administration console for more information on the supported OData.

Are Web Services Secure?

The CData API Server, when paired with any of 200+ other ADO.NET Providers, helps you control access to your data. Unlike data integration services hosted in the cloud, the API Server runs on servers you control; it can run inside or outside the firewall.

You can also use the API Server to take advantage of standard technology for protecting the confidentiality, authenticity, and intended recipients of your data. The API Server supports TLS/SSL and the major forms of authentication. The .NET edition supports standard ASP.NET security. The Java edition is integrated with J2EE security.

Retrieve External QuickBooks Data

You can consume QuickBooks data in Google Sheets in 3 steps:

  1. If you have not already connected successfully in the API Server administration console, see the "Getting Started" chapter in the help documentation for a guide.

  2. Authenticate your query with the authtoken of a user authorized to access the OData endpoint of the API Server. The API Server also restricts access based on IP address; you will need to enable access from Google's servers. You can configure access controls on the Security tab.

    The ImportData function takes one parameter, the URL, so authentication must be supplied in the URL. For security reasons, the API Server does not allow setting the authtoken in the URL by default, so you will need to enable this by adding the following in settings.cfg. If you would like to use another authentication scheme, like HTTP Basic, see the QuickBooks and Google Apps Script how-to.

    [Application] AllowAuthTokenInUrl = true

    The settings.cfg file is located in the data directory. In the .NET edition, the data directory is the app_data folder under the www folder. In the Java edition, the data directory's location depends on the operation system:

    • Windows: C:\ProgramData\CData\QuickBooks\
    • Unix or Mac OS X: ~/cdata/QuickBooks/
  3. In a new Google sheet, use the ImportData formula to request the CSV file from the OData endpoint of the API Server. Specify the format of the response with the @csv query string parameter. Google will periodically update the results of the formula, ensuring that the sheet contains up-to-date data. You can request the entire Customers table with a formula like the one below:

    =ImportData("https://your-server/api.rsc/Customers?@csv&@authtoken=your-authtoken")