About Syncing With QuickBooks

What you should know about how ContractorTools syncs with QuickBooks

Dan Fellman avatar
Written by Dan Fellman
Updated over a week ago

Advisories

Do not sync with QuickBooks from multiple devices!

Due to delays inherent in syncing ContractorTools data between multiple devices, there is no guarantee that the ContractorTools data will be the same in all devices at any point in time. Because of this, you should never sync with QuickBooks from more than one device!

Before syncing with QuickBooks, select the device or computer that is the fastest, and has the best internet connection. Then only sync with QuickBooks from that device or computer.

Do not connect ContractorTools to more than one company in QuickBooks!

When you connect ContractorTools to a QuickBooks company, ContractorTools stores data that is required to sync with the QuickBooks company in the ContractorTools database. If you disconnect ContractorTools from that QuickBooks company and connect to a different QuickBooks company, ContractorTools will CLEAR the sync data from the first company and replace it with the sync data from the new company. Once that happens, you cannot re-connect to the first QuickBooks company.

ContractorTools can only connect to one QuickBooks company!

If you have multiple QuickBooks companies, and you wish to connect ContractorTools to each company in QuickBooks, you will be required to set up separate companies in ContractorTools. Please see this article about Multiple Companies for information on how to do that.

Note: ContractorTools does not sync with QuickBooks Self Employed

QuickBooks does not provide a way for ContractorTools to sync with the Self Employed version of QuickBooks Online, so ContractorTools can only sync with the Simple Start, Essentials, Plus, or Advanced plans of QuickBooks online.

Syncing With QuickBooks

ContractorTools can be set up to synchronize data with QuickBooks Online. This allows you to use ContractorTools for construction specific functions, and QuickBooks for general business accounting functions, without ever having to enter data twice.

How Does ContractorTools Sync With QuickBooks?

ContractorTools’ integration with QuickBooks is very simple, and it makes using QuickBooks very easy:

You enter all customer and job related data in ContractorTools, and ContractorTools automatically transfers it to QuickBooks.

This data includes:

  • Customer information

  • Job and job estimate information

  • Customer invoices

  • Customer payments

ContractorTools can retrieve customer data from QuickBooks. So, if you've been using QuickBooks, ContractorTools will automatically pull all of your customers from QuickBooks. But once you start using ContractorTools, it is easiest to just enter everything in ContractorTools, and let it sync all of your data with QuickBooks.

What Data Is Shared With QuickBooks? And How?

This table lists specific types of data and how it is shared with QuickBooks:

Syncing Customers

How Does ContractorTools Match Customers?

ContractorTools only adds customers to QuickBooks if a matching customer is not found in QuickBooks. If a match is found, then the customer in ContractorTools is “synced with” (connected to) the matching customer in QuickBooks. When a customer in ContractorTools is "synced" with a customer in QuickBooks, that means that when you make changes to the customer in ContractorTools, those changes will be updated to the same customer in QuickBooks.

So, how does ContractorTools match customers with customers in QuickBooks?

ContractorTools compares the company name, and first and last name to the company name, and first and last name in QuickBooks. The customer is considered to be a match only if all of the first name, last name, and company name are the same.

What Customer Data Is Shared With QuickBooks?

When ContractorTools syncs the following customer with QuickBooks:

  • Company Name

  • First Name

  • Last Name

  • Title

  • Email

  • Phone

  • Mobile

  • FAX

  • URL

  • Address

  • City

  • State

  • Zip

  • Note

Writing Transactions

In order for QuickBooks to provide general ledger accounting, every transaction line item has to be associated with a general ledger account. One way to do that would be to require you to select the account for each line item as they are entered in QuickBooks. Another approach is to allow you to define a list of "Items" (Products and Services) that you can use repeatedly in your transactions, and have each of the Items be associated with a general ledger account. 

This is what QuickBooks does: each line item (in an estimate or invoice) has a QuickBooks Item. And to provide more information about each line item in individual transactions, QuickBooks also allows you to enter an item "description". So the QuickBooks Item ties the line item to an account, and the description describes the item for that individual transaction.

When ContractorTools writes transactions to QuickBooks, it needs to associate each line item with an "Item" in QuickBooks. It would not be practical to write a new "Item" in QuickBooks for every line item in every estimate/invoice in every job in ContractorTools, so it only creates one QuickBooks "Item" for each cost type in ContractorTools: Materials, Labor, Equipment, Subcontractor, and Other. Then, when ContractorTools writes transactions to QuickBooks, it assigns the line item from ContractorTools to one of these 5 QuickBooks "Items" (Materials, Labor, Equipment, Subcontractor, and Other), and it writes the line item name and description from ContractorTools to the line item description in QuickBooks.

The QuickBooks Sync Setup Prompts for Cost Accounts. Why?

ContractorTools is not able to record actual job costs, so why does the QuickBooks sync setup prompt for cost accounts?  Here's the story:

  • All line items in transactions in QuickBooks require a QuickBooks "Item" (from the list of "Products and Services"). 

  • So, to write transactions (estimates and invoices) to QuickBooks, ContractorTools needs to associate the line items with QuickBooks Items. 

  • Since every job in ContractorTools has a different set of line items, it makes no sense to write a new line item to QuickBooks for every line item in every job in ContractorTools; this would quickly create 10's of thousands of Products and Services in QuickBooks, each of which would only be used in a single job.

  • So, what ContractorTools does is write only 5 Products and Services items; one for each type of cost, "Materials", "Labor", "Equipment", "Subcontract", and "Other". All of the line items from estimates and invoices in ContractorTools are written to QuickBooks with one of these 5 QuickBooks Items (and the item name from ContractorTools goes into the item description in QuickBooks).

  • When you add an Item to the Products and Services list in QuickBooks, you must specify both an Income Account and an Expense (cost) account. 

  • ContactorTools assigns the same income account (selected in the "Income Account" prompt) to all 5 Items, but it allows you to specify a different cost account for each cost type. Why?

  • If ContractorTools does not record costs, and does not write costs to QuickBooks, why does it prompt you for the cost accounts to be associated with the QuickBooks items it creates? Well, again, one reason is because QuickBooks requires a cost account in order to write the item, but the other reason is because we are planning for the future when ContractorTools will be enhanced to allow you to enter your actual costs for jobs. At that time, those will be written to either bills or purchase transactions (checks, cash, credit card purchaes) in QuickBooks. At that point, you will want the associated items to have the appropriate cost accounts associated with them.

When Does ContractorTools Know It Needs To Sync With QuickBooks?

Once you enter more than a few jobs and customers in ContractorTools, you can imagine that it would take a lot of time to sync every one with QuickBooks. Because of this, ContractorTools does not sync all data with QuickBooks every time it syncs, it only syncs data that "needs to be synced".

How does ContractorTools determine which data needs to be synced?

Customers:

  • New customers that are associated with a job that is set to sync with QuickBooks are synced.

  • Once a customer has been synced, it only syncs again if you change any of the customer information in ContractorTools.

  • Note: ContractorTools cannot know if you change information for a customer in QuickBooks, so it will not know that it needs to pull changes from QuickBooks. So always update your customer information in ContractorTools, not QuickBooks.

Jobs:

  • New jobs that you add in ContractorTools are synced with jobs (sub-customers) in QuickBooks if…
    - The job has a customer, and
    - The job has been set to sync with QuickBooks. To set the job to sync with QuickBooks, tap “Job Info” in the job home screen, then turn on “Sync Job with QuickBooks”.

  • Once a job has been synced, it only syncs again if you change any of the job information in ContractorTools.

    Note: ContractorTools cannot pull job data from QuickBooks; it can only write job data to QuickBooks.

Projects in QuickBooks:

ContractorTools can also sync jobs to projects in QuickBooks, but there are some steps involved in doing that. Please see this article for information on how to sync jobs to projects in QuickBooks.

More Advisories

Do not enter or change jobs in QuickBooks

If you need to enter or change any job data, enter or change it in ContractorTools; ContractorTools will update it in QuickBooks. If you change it in QuickBooks, ContractorTools will re-write it (change it back) in QuickBooks.

Do not delete jobs in QuickBooks

If you need to delete a job, delete it in ContractorTools; ContractorTools will delete it in QuickBooks. If you delete it in QuickBooks, ContractorTools will re-write it in QuickBooks.

Job Transactions (Invoices, Payments, etc.):

  • ContractorTools can read and write Payment transactions from and to QuickBooks, but it can only write invoices to QuickBooks. So, you can enter Payments in either ContractorTools, or QuickBooks, but you can only enter invoices in ContractorTools.

  • New transactions that you add in ContractorTools are synced with QuickBooks.

  • Once a transaction has been synced with QuickBooks, it will only get re-synced to QuickBooks if you make changes to it in ContractorTools.

  • Note: ContractorTools cannot pull invoices from QuickBooks; you must only enter invoices in ContractorTools.

Do not enter or change invoices in QuickBooks.

If you need to enter or change invoices, enter or change them in ContractorTools; ContractorTools will update it in QuickBooks. If you change invoices in QuickBooks, ContractorTools will re-write them (change them back) in QuickBooks.

Do not delete job transactions in QuickBooks.

If you need to delete any transactions, delete them in ContractorTools; ContractorTools will delete them in QuickBooks. If you delete them in QuickBooks, ContractorTools will re-write them in QuickBooks.

Payments

How To Set Up QuickBooks Syncing

Did this answer your question?