The new DrillerDB is out of beta.See what's new

Integrations Overview

Connect DrillerDB with third-party services for accounting, payments, and more

Integrations Overview

DrillerDB integrates with popular business tools to streamline your workflows. The Integrations section allows you to connect and manage all third-party services from one central location.

Quick Start: Connect an Integration

  1. Go to Settings > Integrations
  2. Find the service under its group: Accounting, GPS & Fleet, Communications, AI & Automation or Data import
  3. Click the service's card to open its panel
  4. Click Connect, or enter the API key or sign-in details the panel asks for
  5. Where the service signs you in on its own site (QuickBooks Online), finish that sign-in and you return to DrillerDB

Only Admin users can connect or disconnect integrations. Each card shows a badge: Connected, Disconnected, Needs reconnect, Sync error or Status unavailable. A card with a plan name instead (for example Professional) is locked until your plan includes it.

Available Integrations

Accounting

  • QuickBooks Online - DrillerDB sends invoices, estimates, and customers to QuickBooks. New estimates and invoices, products and services, and the paid amount and status of your invoices come back on their own
  • QuickBooks Desktop - opens its own setup wizard

Only one accounting system can be connected at a time.

GPS & Fleet

Vehicle and equipment tracking, on the Professional plan:

  • Motive (KeepTruckin) - ELD and fleet management
  • Samsara - fleet tracking and telematics
  • Bouncie
  • GPS TrackIt
  • Verizon Connect
  • OneStepGPS
  • Azuga

Communications

  • Quo (OpenPhone) - business phone, call logging and transcripts
  • Email Sync - Gmail and Outlook synchronization for communications logging. Connect a mailbox from the classic app's General settings tab (the button opens it with you signed in). Connected mailboxes stay manageable on this card
  • Text messaging (SMS) - a card at the top of the group where you register your business to text customers about their jobs

AI & Automation

  • AI Proposals - AI-powered proposal generation. Switch it on or off on its card. It analyzes the location's geology data, picks the best proposal template for the well type, estimates depth, casing and equipment, and builds a proposal with pre-filled line items for you to review

Data import

  • ServiceTitan - move customers, jobs, equipment and job photos from ServiceTitan. Enterprise plan, admin only

Not on this screen

Some services are part of DrillerDB and have nothing to connect here. Online card and bank payments through Stripe are set up in Settings > Invoicing & Tax (see Invoicing & Tax Settings and Stripe Connect). Sign-in with Google appears on the login page as Continue with Google.

Payroll

Timesheet export for payroll:

  • RUN Powered by ADP - build the timesheet import file ADP reads

This one is not on the Integrations screen. It has no Connect button and no OAuth, because nothing is connected: you generate a file and upload it in ADP yourself. It is described under Payroll exports, below.

Managing Integrations

Step-by-Step: Disconnect an Integration

To disconnect a service:

  1. Click the service's card
  2. Click Disconnect (QuickBooks Online shows Disconnect from QuickBooks)
  3. Confirm the action
  4. Data already synced remains in DrillerDB

Integration Settings

Click a service's card on the Integrations page to open its panel. What you can set there depends on the service. A fleet tracker asks for its API key or sign-in details. The QuickBooks Online panel has Test Connection and Disconnect from QuickBooks.

The Integrations page has no setting for how often a service syncs, which way data goes, or which fields map between the two systems.

The QuickBooks switches, such as whether new invoices post to QuickBooks on their own, are on Accounting > Settings. See Choose what syncs automatically.

Troubleshooting Connections

If an integration shows an error:

  • Check that your credentials are still valid
  • Verify the service is not experiencing downtime
  • Try disconnecting and reconnecting
  • Contact support if issues persist

Payroll exports: RUN Powered by ADP

DrillerDB builds the timesheet import file that RUN Powered by ADP reads. You supply the values only your ADP account knows, DrillerDB fills in the hours from your timecards, and you upload the file in ADP.

The file follows ADP's own Time Sheet Import layout: a ##GENERIC## V1.0 version row, ADP's eleven column headings, then one row per employee per earnings code. By default it carries approved timecard entries only.

This export refuses rather than guesses. The values ADP requires are specific to your ADP account, and a file built on a guess imports cleanly and pays people against the wrong codes. When something required is missing you get an error naming what to set, not a file.

What you supply

DrillerDB cannot derive these from your data:

  • Client code - your IID, or your branch code plus ADP code
  • Pay frequency - B biweekly, W weekly, S semimonthly, M monthly, or Q quarterly. One file covers one pay frequency.
  • Earnings codes - the regular, overtime and double-time codes from your own ADP Earnings Codes report
  • An ADP employee number for each person whose hours you export

Three more are optional. A paid time off earnings code adds PTO hours to the file, and leaving it blank keeps PTO out of the file entirely. A department number per person fills ADP's Worked In Dept column. A rate code other than BASE covers an ADP setup that pays against a second rate.

All of these are saved against your company, and the settings endpoint refuses an employee mapping that names a user outside it.

Where to set them

Admins save these values through the payroll settings endpoint at console.drillerdb.com/api/v1/settings/payroll. Reading that address back tells you what is still missing, which people can be mapped, and which of them have no ADP number yet.

There is no payroll screen in the console yet. Until there is, this is an API-only feature, and the calls go through a signed-in browser session rather than a Partner API key.

Employees who have left

The people you can map are not only your active users. Anyone suspended or deleted still appears if they worked a shift in the last 120 days, or if they already have an ADP number saved. They come back flagged as inactive, so it is clear why they are on the list.

That window exists because someone terminated mid-period still has hours in that period's file. Without it the export would refuse the file and name a person who was missing from the list that fixes it.

Running the export

Signed in as an admin, office or accountant user, ask the timecard export for the ADP format and the pay period:

https://console.drillerdb.com/api/v1/timecards/export?format=adp_run&startDate=2026-09-01&endDate=2026-09-14

The response is the CSV to upload to ADP. Its headers count the rows written, the people skipped for having no hours, and the people left unmapped.

Any of the saved client values can be overridden for a single run by adding it to the address: client_code, pay_frequency, earnings_regular, earnings_overtime, earnings_double_time, earnings_pto and rate_code. Saved settings cover whatever you do not override.

The two refusals

Something required is not set. The export answers with the list of missing fields and what each one needs. Set them and run it again.

Somebody has no ADP employee number. The export refuses the whole file and names the people. Leaving someone out of a payroll file means they do not get paid, which is why a partial file is not the default. Map them and run it again, or add allow_partial=true to accept a file that leaves them out.

People with no hours in the period are a different case. They are left out without an error, because ADP has nothing to import for them.