QuickBooks to Google Sheets: Query from QuickBooks into Google Sheets or Post data from Google Sheets into QuickBooks using Sheet Director.

What is Sheet Director?

Sheet Director is a G Suite add-on that helps to manage and control bi-directional data flow between Google Sheets and several other applications like Google Calendar, Tasks, Contacts, Sheets, QuickBooks, FreshBooks, Zoho etc.

It is available in the G Suite Marketplace and Chrome Web Store. Please check Installation instructions to install the add-on.

What is QuickBooks?

QuickBooks is an accounting software package.

QuickBooks products accept business payments, manage and pay bills, and payroll functions.

QuickBooks to Google Sheets: Use Case(s)

> Pull all data from QuickBooks objects and store it into a spreadsheet.

> Post all data from spreadsheet into QuickBooks entity.


Sheet Director

Google Sheets

Setting up QuickBooks in Sheet Director

Choosing App and Service:

  • Select QuickBooks from the list of applications.

  • Select service as query.

QuickBooks Configuration

  • Select Sandbox and Production as required.

  • Click on connect to QuickBooks to connect to QuickBooks so that you can pull data.

  • If QuickBooks is connected the following screen will be displayed.

  • Click the change company icon to change the company.

  • Select the required source as Entities or reports or Custom.

  • Select the required object.

  • Select the fields required

Filters & Sorting

  • Configure Filter and Sort by to filter and sort the executed data.

Destination Settings:

Configure the destination settings to save the executed data.

Scheduler Settings:

  • Switch on Run automatically to execute services automatically in background.

Notification Settings:

Configure the Notification settings to setup the email templates and add attachments.

  • Click on execute to pull the data into sheet.

  • Click save to save the service.

Reports Query

  • Click on Reports button.

  • Select required object from list.

  • Click on Filter if required.

  • Select the required Field.

  • Select the required operator.

  • Select the required value.

  • Click on Add icon to add filters.

Sample Output

Custom Query

The query operation is the method for creating a guided query against an entity. The select statement in the request enables you to specify the selection criteria, entity properties, sort order, and pagination. It is similar to a pared down SQL query select statement with constraints in place to ensure the request doesn’t overload server-side resources. As such, the following are query operation limitations:

  • The response set always returns all properties for each object. That is, projections are not supported.

  • Only those properties with values are returned in the response set.

  • Wild card character support with LIKE clauses is limited to “%” (wildcard that substitutes for 0 or more characters).

  • The OR operation is not supported in WHERE clauses.

  • The GROUP BY clause is not supported.

  • The JOIN clause is not supported.

Example Query :


Select Statement = SELECT * | count(*) FROM IntuitEntity

[WHERE WhereClause]

[ORDERBY OrderByClause]


SELECT * FROM Invoice WHERE id in ('64523', '18761', '35767') AND MetaData.CreateTime >= '1990-12-12T12:50:30Z' AND MetaData.LastUpdatedTime <='1990-12-12T12:50:30Z'

For more details click here

Sample Output

Google Sheet to QuickBooks - Post


  • Select the entity object that you need to post to.

  • Select Apply Template or Setup Mapping.

  • Select Apply Template to add a default template.

  • Select Setup Manually to select manually.

Source Sheet

  • Choose the sheet that contains post records.

  • Enter the Start at cell value

(the default value is A1, if you change the value you need to refresh the header by clicking on refresh icon on side)

  • Select the Status column

  • If status column is not there, simply click the +button to add the status header on your sheet(A status column will be created in Spreadsheet)

  • Select the Result column

  • If result column is not there, simply click the +button to add the result header on your sheet(A result column will be created in Spreadsheet)


  • After selecting the entity it will ask for intelligent mapping

  • If you need to do intelligent mapping click on yes.

  • Intelligent mapping will map the matching fields automatically.

  • You can do manual mapping by selecting Column drop down.

  • You can delete the field by click on delete icon on top of each filed map.

  • You can't delete mandatory* fields.

  • Click on execute will ask for confirmation.

  • Click save to save the service.

  • It will show number of records ready to post.

  • Click post now to post the records to QuickBooks.

Sample Output

It will show the count of number of records posted successfully and failed to post.