Google Sheets + QuickBooks Integration

Query from QuickBooks into Google Sheets or Post data from Google Sheets into QuickBooks

What is Sheet Director?

Sheet Director is a Google Workspace 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 Google Workspace Marketplace. Please check the 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 data from QuickBooks objects and store it into a spreadsheet - Query

> Post data from spreadsheet into QuickBooks entity - Post


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.