Chat with us, powered by LiveChat
NewSee the ground in 3DLook

QuickBooks Online Integration

Set up and manage QuickBooks Online sync for customers, invoices, and payments

QuickBooks Online Integration

Connect DrillerDB to QuickBooks Online and the invoices and estimates you create in DrillerDB post into QuickBooks for you, so you are not typing the same job twice.

The sync runs mainly one way. DrillerDB sends records to QuickBooks. Payments come back the other way on their own, and an import brings back paid amounts and statuses, but the two systems are not a live two-way mirror.

Before you start

  • You need the admin role in DrillerDB. The Integrations page is admin only.
  • You need a QuickBooks Online account and the right to authorize an app on it.
  • Know which QuickBooks company you want to connect. You choose it during sign-in.

Using QuickBooks Desktop instead? That is a different setup with its own guide. It uses the free QuickBooks Web Connector on a Windows PC.

Connect QuickBooks Online

  1. Go to Settings > Integrations and open the Accounting section.
  2. Find the QuickBooks Online card and click Connect to QuickBooks.
  3. Sign in to QuickBooks and pick the company you want to connect.
  4. Approve the access QuickBooks asks about.
  5. Wait to land back on the Integrations page. A green QuickBooks Online connected banner appears at the top and stays until you dismiss it, and the card shows Connected.

DrillerDB asks QuickBooks for accounting access, which covers the customers, vendors, items, invoices, estimates, and payments it needs to do the sync.

The connection link is good for 15 minutes and works one time. Finish the sign-in in one sitting rather than leaving the QuickBooks tab open and coming back to it.

What happens during the connection

After you approve at QuickBooks, your browser passes through a DrillerDB page for a moment while the approval is handed back, then returns you to Settings > Integrations on its own. You do not need to do anything on that page. You know it worked when the green QuickBooks Online connected banner appears and the card shows Connected. If the connection fails instead, a red QuickBooks Online connection failed banner appears with a sentence saying what went wrong. Either way the banner stays on screen until you dismiss it with the x.

The banner is the quicker answer of the two. Connecting makes the page re-check every integration, so the cards can take a moment to catch up, and the count at the top of the page says when it is still checking. A card that has not finished checking is not a failed connection.

If you have more than one QuickBooks company

  • A standard account connects one QuickBooks company at a time. To move to a different one, disconnect and connect again.
  • On an Enterprise account with several billing entities, each entity connects its own QuickBooks company from Settings > Entities.

Choose what syncs automatically

Connecting and syncing are two different settings. After you connect, open Accounting > Settings and find Sync Behavior.

  • Automatically sync to QuickBooks is the master switch. On, new invoices and estimates post to QuickBooks by themselves. Off, nothing posts on its own and you push records yourself with Queue Full Sync.
  • Some companies also get separate Invoices and Estimates / Proposals switches, so you can hold one type back while the other keeps posting. If you do not see them, only the master switch applies to your company.

There is no setting for how often the sync runs and no setting to pick a direction. Records go over on their own once the master switch is on.

What gets synced

DrillerDB sends these to QuickBooks:

  • Customers - the customer on the invoice, created in QuickBooks if it is not there yet
  • Items - the service and product lines your invoices and estimates use, created if needed
  • Invoices - number, date, line items, amounts, and terms
  • Estimates and proposals - when the estimates switch is on

DrillerDB creates a customer and its items before the invoice that uses them, so you do not get broken references in QuickBooks. There is nothing to set up for that.

Payments come back from QuickBooks to DrillerDB on their own. See Payments recorded in QuickBooks below. An import also updates the paid amount and payment status on invoices DrillerDB already knows about. Everyday edits you type straight into QuickBooks do not flow back on their own.

Import from QuickBooks

Connecting does not pull anything by itself. To bring your existing QuickBooks records into DrillerDB, go to Accounting > Settings and click the Integrations (QuickBooks) heading to open that section. It starts closed, and nothing inside it is on the page until you open it, so the button is not where you can see it when the page first loads. Inside, the connected QuickBooks panel has Import from QuickBooks Online beside Queue Full Sync. The button is there only once QuickBooks is connected, and you need the admin or office role to run it.

The import brings across:

  • Customers - matched to the customer you already have where one lines up, created if not
  • Vendors - your QuickBooks suppliers, added or updated the same way
  • Products and services - the catalog your invoice and estimate line pickers read
  • Estimates - each one becomes its own project, carrying the job-site address from the estimate
  • Invoices - with their line items, and the paid amount and payment status
  • Payments - applied to the invoice they belong to, or brought in unapplied when there is no match

A payment recorded in QuickBooks also updates the paid amount and status on the invoice it belongs to. See Payments recorded in QuickBooks below.

It takes everything, with no date cutoff.

Once it has finished you can run it again with the same button. Anything it already imported is skipped, so a later run does not duplicate an earlier one.

There is no undo. Nothing takes an import back out, so anything you decide you did not want has to be removed by hand.

While it is running

The import runs inside the page request, so on a large QuickBooks account the page can sit there a long time, and your browser may give up waiting before the import is done. That is normal. It does not mean the import failed, and it keeps running on the server after the page stops waiting.

Do not start it again while you wait. In the tab that started it, the button is disabled and reads Importing.... If you reload the page or open DrillerDB in another tab the button looks ready again, but a second run is refused:

An import is already running for this company. Wait for it to finish before starting another.

That message means the first import is still working. Wait for it, then look in Accounting for the customers, projects, and invoices it brought across.

Clicking again used to duplicate the import

Each click used to start its own import, and two running at once could not see each other's work, so the same customers and projects came in twice or three times. DrillerDB now refuses the second run instead. If you already have duplicates from clicking a slow page more than once, they are from that older behaviour and still have to be removed by hand.

What your estimate statuses become

The status on a QuickBooks estimate decides the status of the project it creates:

In QuickBooksIn DrillerDB
Accepted or ConvertedApproved
ClosedCompleted
RejectedCancelled
Anything else, or no status at allProposal

If you already typed some of these in by hand

Before it creates a project, the import looks for one you already have. It matches when the job number is the same as the QuickBooks estimate number, or when that customer has exactly one job dated the same day as the estimate. If neither matches, you end up with a second copy of that job. The same goes for products and services you have already entered.

When the import finishes, a panel headed Import finished tells you what it did. It lists customers as created as needed with no number, then the number of projects created from estimates, the number of invoices, and for products and services how many were added, how many were updated and how many were skipped. The customers line carries no number on purpose, because the number the import reports for customers is always zero whether it created forty of them or none.

If the import found products or services you already had, the panel tells you so under Worth knowing. It gives the number of items that were in your account before this run, then how many of those the import matched and updated in place, and how many now have a second, QuickBooks-keyed row. That first number counts what you already had. It is not a count of anything the import created, skipped or lost, and none of it is a failure. Tidying up the duplicates is a separate step you choose to do.

So if you are still setting up, run the import first and then fill in only what QuickBooks does not already have.

Payments recorded in QuickBooks

When a customer pays an invoice inside QuickBooks, that payment comes across to DrillerDB as a payment of its own, against the invoice it settles. You do not have to run the import to get it.

Two things bring it across. QuickBooks tells DrillerDB when a payment is recorded, and a sweep runs every hour to pick up anything that notice missed. The sweep is there because the notice is not reliable on its own.

The same payment is never brought across twice, so the hourly sweep does not duplicate what has already arrived.

Job-site sales tax

Under Sync Behavior, Tax by job-site location sends the well or job-site address to QuickBooks as the shipping address. QuickBooks then works out sales tax by where the work happened instead of by the customer's billing address.

Turn this on only if you have Automated Sales Tax switched on in QuickBooks Online. QuickBooks does the tax math, not DrillerDB.

Check sync activity

The Sync Activity Log on the Accounting > Settings page lists what went to QuickBooks and when. Three buttons sit above it:

  • Refresh Status re-reads the connection and updates the badge.
  • Refresh Token renews the QuickBooks sign-in without a full reconnect.
  • Open QuickBooks opens QuickBooks Online in a new tab.

To check the connection itself rather than the sync, use Test Connection on the QuickBooks Online card under Settings > Integrations. It asks QuickBooks for a live answer and reports Connection successful, or tells you the connection failed and to try disconnecting and reconnecting.

Disconnect or switch QuickBooks companies

  1. Go to Settings > Integrations > QuickBooks Online.
  2. Click Disconnect from QuickBooks and confirm.

Records already synced stay in both systems. You can reconnect later, and reconnecting to the same QuickBooks company keeps your customers and invoices matched rather than creating duplicates.

Troubleshooting

"That connection link expired before it was finished. Click Connect again to start over."

The connection link timed out. It lasts 15 minutes, which is easy to hit on a slow setup call. Click Connect to QuickBooks again and finish the QuickBooks sign-in without stopping. Nothing was connected, so there is nothing to undo.

"That connection link was already used. Click Connect again to start a new one."

Each link works one time. This usually means the browser Back button, or an old link reopened. If the card already reads Connected, you are done. If not, click Connect to QuickBooks again.

"That connection link was not valid. Click Connect again to start a new one."

DrillerDB did not recognize the link that came back. That usually means it was edited, was copied out of an email or a chat, or came from a different browser than the one that started the connection. Nothing was connected. Go to Settings > Integrations and click Connect to QuickBooks to start a fresh one, and finish it in the same browser.

"The connection was cancelled before it finished. Nothing was changed."

You closed the QuickBooks window or declined at the approval screen. Nothing was linked. Click Connect to QuickBooks when you are ready to try again.

"We could not finish the connection. Please try again, and contact support if it keeps happening."

QuickBooks approved the connection but DrillerDB could not complete it. Try once more. If it happens again, contact support rather than retrying repeatedly.

It says "not connected" right after you reconnected?

The connection status is read when the page opens, so it can show a stale "not connected" from before you reconnected. Reload the Settings > Integrations page. If it still looks wrong, check you are looking at the QuickBooks Online connection and not a different accounting integration.

Sync stopped, or you got a "Please reconnect your accounting integration" message?

This almost always means the QuickBooks access token expired. Tokens expire on a schedule, and when one lapses, syncing quietly stops until you reconnect.

  1. Go to Settings > Integrations > QuickBooks Online.
  2. Sign in to QuickBooks again and approve access.
  3. Check the Sync Activity Log to confirm records start syncing again.

Reconnecting re-links the same QuickBooks company, so your customers and invoices stay matched.

The card says Connected, but nothing reaches QuickBooks?

Being connected and posting automatically are two different settings. Open Accounting > Settings and check that Automatically sync to QuickBooks is on. If it is off, your records are waiting for you to push them with Queue Full Sync. Then read the Sync Activity Log to see what actually went over.

A single invoice will not sync?

Open the Sync Activity Log and read the error on that record. A common cause is a line item that needs to be matched to a QuickBooks item by hand before it can go over.