QuickBooks
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
Quickbooks
Sheet Director
Google Sheets
Demo Video: How to Integrate Google Sheets & QuickBooks?
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 :
Syntax
Select Statement = SELECT * | count(*) FROM IntuitEntity
[WHERE WhereClause]
[ORDERBY OrderByClause]
Example
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
Entity
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)
Mapping
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.
Google Sheet to QuickBooks - Sync
Select service as Synchronize QuickBooks.
Select the Max results required.
Synchronize settings:
Synchronization Keys:
The keys will be used for matching rows in Google Sheets with data in QuickBooks.
Conflict Resolution:
When Synchronization happens, there could be a conflict of data between Google Sheets and QuickBooks.
QuickBooks Wins
Google Sheet Wins
QuickBooks Wins: Latest data from QuickBooks will be updated in Google Sheets.
Google Sheet Wins: Latest data from Google Sheets will be updated in QuickBooks.
Note: The major requirement in synchronization is the synchronize keys. If any of the keys is not having a value in the Google Sheet then Sheet Director will create it first and then the service will be executed.
QuickBooks Wins
Select QuickBooks.
The latest updated data from QuickBooks will be updated in Google Sheets.
Choose the spreadsheet to store data.
Select the required cell value.
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)
Click Execute to execute the data.
The number of records that are ready to be synchronized will be shown.
It will also show all the data that are ready to be updated.
Also, the number of data that needs to be updated into QuickBooks will also be updated.
Click on Sync Now to sync all the data and update it into Google Sheets.
Click on the Refresh icon to refresh the data.
If the data are synced successfully the following screen appears.
Click on Close to close the configuration.
Sample Output
The Status column in the Google Sheets shows the status of the data.
The newly updated data will be marked as Synced Successfully.
The old data that already exists will be marked as Already Synchronized.
Google Sheet Wins
Select Google Sheet Wins.
The latest updated data from Google Sheet will be updated into QuickBooks.
Select the sheet to store output.
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)
Click Execute to execute the data.
Click Save to save.
The number of records that are ready to be synchronized will be shown.
It will also show all the data that are ready to be updated.
Also, the number of data that needs to be updated into QuickBooks will also be updated.
Click on Sync Now to sync all the data and update it into Google Sheets.
Click on the Refresh icon to refresh the data.
If the data are synced successfully the following screen appears.
Click on Close to close the configuration.
Sample Output
The Status column in the Google Sheet shows the status of the data.
The newly updated data will be marked as Synced Successfully.
The old data that already exists will be marked as Already Synchronized.
FAQ
I am not able to connect to the sandbox environment. When I tried to connect to the sandbox environment, I got the following error.
Can you help me to resolve this?
Troubleshooting
This means your QuickBooks account does not have any "Sandbox companies". You need to create and configure sandbox company in your QuickBooks account and then try to connect it.
Please check QuickBooks Sandbox Overview for the documentation to create sandbox companies in QuickBooks.
On the other hand, you can directly try with Production environment.