Here’s a conflict nobody warns you about.

Good job costing needs structure in the chart of accounts revenue separated by service line, costs coded so margin is visible per job. That’s the whole point of doing it.

And at least one widely used field service integration will fail to sync an invoiceif the products and services on it are allocated to an income account other than the default. Categorize them into product and service types, make them sub-items, or point them at anything other than ‘Sales’, and the sync errors.

So the accounting structure that makes job costing meaningful is the accounting structure that breaks the connector.

That’s documented, not inferred. And it’s the shape of the whole problem: field service tools and accounting systems have different ideas about what a job is, and the integration is where those ideas collide.

Start with the direction

Most field service integrations run one way, from the operations tool into QuickBooks. Jobber, ServiceTitan, Workiz and Housecall Pro all work this way. Kickserv, mHelpDesk and Service Autopilot offer two-way sync.

One-way isn’t automatically worse. It means the field tool is the system of record for jobs and QuickBooks receives the accounting consequences — which is coherent, and arguably correct. What it means practically is that changes made in QuickBooks don’t flow back, so the two systems can disagree without anything flagging it.

Taking Jobber as the worked example — chosen because it documents its own limitations unusually openly, which is a point in its favor — the sync carries clients, products and services, timesheets, invoices, payments, refunds, tips and payouts. QuickBooks Online only; there’s no Desktop integration.

Worth noting one thing that has changed: under Jobber’s newer QuickBooks integration, costs sync fromQuickBooks into Jobber on initial import, after which Jobber becomes the source of truth for costs and subsequent changes flow to QuickBooks. Older accounts of this integration describe expenses not syncing at all. Check which version an existing client is on before repeating anything you’ve read.

Five documented breakages

All from vendor documentation. Each one has a job costing consequence.

1. Income account allocation breaks the sync

The breakage
The job costing consequence
The one at the top of this page. If a product or service used on an invoice has been customized in QuickBooks — made a sub-item, categorized into a product or service type, or allocated to an income account other than the default — the invoice will error and won’t sync.
You can’t separate revenue by service line in QuickBooks and keep the integration working. Either the chart of accounts stays flat and job margin has to be derived elsewhere, or the sync breaks and someone re-keys invoices.
Good accounting structure can break the connector

Allocate a product or service to an income account other than the default, make it a sub-item, or categorize it by type, and the invoice will fail to sync. Separating revenue by service line is exactly what job costing needs — and exactly what the integration won’t carry.

That’s a genuine architectural fork, and it should be a decision rather than a discovery.

2. Sub-customers don’t sync

The breakage
The job costing consequence
Invoices sync to customers, not sub-customers. Properties have no active sync, so only the billing address appears on the QuickBooks invoice.
Sub-customers are how QuickBooks natively tracks jobs or properties under a parent client. That’s the standard structure for a contractor with several sites per customer — and it doesn’t survive.

3. Markups and unit costs don’t sync on some tiers

The breakage
The job costing consequence
On Jobber’s Grow plan, line item images, markups and unit costsdon’t sync to QuickBooks.
Markup is the margin. Unit cost is the cost side. If neither reaches QuickBooks, job profitability can only be calculated in the field service tool, and QuickBooks holds revenue without the cost detail behind it.

4. Deletions don’t propagate

The breakage
The job costing consequence
Remove a phone number, email or shipping address in Jobber and it isn’t removed in QuickBooks. The integration can add and change, not delete.
Minor on its own, but it establishes the pattern — the two systems drift, and only in one direction.

5. Client matching is by name

The breakage
The job costing consequence
Jobber maps the client’s name to the QuickBooks display name. Anything that breaks that mapping — a name entered differently, a trading name in one system and a legal name in the other — produces a mismatch and, in practice, duplicate clients.
Jobs split across two customer records, so neither shows the true picture.
View data
Data typeCrosses?Note
ClientsYesMatched on display name.
Products and servicesYesOnly if left on the default income account.
InvoicesYesTo customers, not sub-customers.
Payments, refunds, tipsYesRequires a Bank / Checking account.
TimesheetsYesEntries spanning midnight must be split first.
PayoutsYesRequires a Bank / Checking account.
MarkupsNoTier-dependent — not on the Grow plan.
Unit costsNoTier-dependent — not on the Grow plan.
Sub-customers / propertiesNoInvoices sync to customers only.
Overnight shift entriesNoQuickBooks cannot hold an entry spanning midnight.
DeletionsNoThe integration can add and change, not delete.

Two more worth knowing

Overnight shifts have to be split. QuickBooks doesn’t support timesheet entries that span midnight. A technician working 10pm to 3am needs two entries: 10:00pm–11:59pm and 12:00am–3:00am. For emergency call-outs and any overnight work, that’s a recurring manual correction, and if nobody’s doing it, labor cost on those jobs is wrong.

Payment sync needs a specific account type. Syncing Jobber Payments payouts and fees requires a bank account in the chart of accounts set as account type Bank with detail type Checking. Without it, fees and payment records don’t sync. It’s a small configuration detail with a silent failure mode.

The exclusion lists are the real specification

A general point that applies well beyond one vendor.

Field service tools publish what their integration syncs. The more useful document is what it doesn’t— and those lists are long. One field service platform’s exclusions from its QuickBooks sync run to estimates, general journal entries, expenses, time tracking and payroll, bank and reconciliation data, item costs, statement charges, discounts on payments, cost on non-inventory products, and balance adjustments.

Read as a feature list, the integration syncs a great deal. Read as an exclusion list, half of job costing isn’t in it.

Read as a feature list, that integration syncs a great deal. Read as an exclusion list, half of job costing isn’t in it.

Ask for the exclusion list before you connect anything. A vendor that publishes one clearly is being straight with you. A vendor that doesn’t have one has just told you something too.

Setting it up so job costing actually works

  1. Decide where job costing lives before you connect anything. In the field service tool, or in QuickBooks. Trying to do it properly in both is how the conflicts above become month-end problems.
  2. If it lives in the field tool, keep the QuickBooks chart of accounts simple. Flat revenue, default income account, no sub-items. QuickBooks holds the accounting; job margin comes from the operations tool. This is the configuration most integrations expect.
  3. If it lives in QuickBooks, expect to fight the connector. Structured revenue accounts, sub-customers per property, and cost detail per line are exactly what several integrations don’t carry. Budget for manual work or choose a two-way connector that supports it.
  4. Check the plan tier. The QuickBooks connection often sits behind a higher plan, and specific fields — markups, unit costs — can be tier-dependent. That changes the real cost of the stack.
  5. Standardize client naming across both systems before the first sync, and agree who creates new clients and where. Name-matched integrations duplicate quietly.
  6. Create the checking-type bank account the payment sync requires, and confirm fees and payouts are actually landing.
  7. Establish who splits overnight timesheets, and check it’s happening. Labor cost on emergency work depends on it.
  8. Reconcile job margin against the P&L monthlyfor the first quarter. If job-level profit in the field tool doesn’t tie to gross margin in QuickBooks, something in the list above is the reason.

The reviews contradict each other, and both are right

Worth addressing, because anyone researching this will hit it.

Reviews of the same integration describe it as seamless — running quietly in the background, eliminating re-keying — and as unusable, with at least one describing unsyncing it entirely and managing QuickBooks manually.

Both are accurate, and the difference is almost certainly configuration. A business with flat revenue accounts, no sub-customers, consistent client naming and daytime shifts will find the sync invisible. A contractor with revenue split by service line, properties as sub-customers, markup-based pricing and overnight call-outs will hit every constraint above at once.

Not good or bad — a fit question

The integration isn’t good or bad. It fits a particular accounting structure, and whether that’s yours determines everything.

The short version

  • Allocating products and services to a non-default income account can break the invoice sync outright. Structured revenue accounts and the connector are in conflict.
  • Most field service integrations are one-wayinto QuickBooks — Jobber, ServiceTitan, Workiz, Housecall Pro. Kickserv, mHelpDesk and Service Autopilot are two-way.
  • Sub-customers don’t sync. Properties under a parent client — the standard contractor structure — don’t survive.
  • Markups and unit costs are tier-dependent. Without them, job margin can’t be calculated in QuickBooks.
  • Deletions don’t propagate, and client matching is by name, so drift and duplicates accumulate.
  • QuickBooks can’t hold an overnight timesheet entry. Split at midnight or labor cost is wrong.
  • The exclusion list is the real specification. Ask for it before connecting.
  • Decide where job costing lives— the field tool or QuickBooks — before configuring either.

Frequently asked questions

Is Jobber's QuickBooks integration one-way or two-way?

One-way from Jobber into QuickBooks Online for clients, products and services, timesheets, invoices, payments, refunds, tips and payouts. Under the newer integration, costs sync from QuickBooks into Jobber on initial import, after which Jobber becomes the source of truth for costs and changes flow back. There is no QuickBooks Desktop integration.

Why won't my Jobber invoice sync to QuickBooks?

The most common documented cause is customization of the products and services used on the invoice. If an item has been made a sub-item, categorized into a product or service type, or allocated to an income account other than the default, the sync will error and the invoice won’t transfer.

Do sub-customers sync from field service software to QuickBooks?

Frequently not. Invoices sync to customers rather than sub-customers, and properties have no active sync, so only the billing address appears on the QuickBooks invoice. That matters because sub-customers are how QuickBooks natively tracks jobs or properties under a parent client.

How do I track job costing between field service software and QuickBooks?

Decide first where job costing lives. If it lives in the field service tool, keep the QuickBooks chart of accounts simple so the sync works and derive margin in the operations tool. If it lives in QuickBooks, expect to work around integration constraints on income accounts, sub-customers, markups and unit costs, or choose a two-way connector that carries them.

Why doesn't my job margin match my QuickBooks profit and loss?

Usually because cost detail isn’t crossing. Markups and unit costs are tier-dependent on some integrations, expenses are excluded entirely on others, and overnight timesheets that weren’t split at midnight understate labor. Reconcile job-level margin against gross margin monthly for the first quarter after connecting anything.

Can QuickBooks handle overnight shifts in timesheets?

No. QuickBooks doesn’t support timesheet entries spanning midnight. A shift from 10pm to 3am has to be entered as two entries, one ending at 11:59pm and one starting at 12:00am. For businesses with regular overnight or emergency work, that’s a recurring manual correction.

What should I check before connecting field service software to QuickBooks?

Ask for the exclusion list — what the integration doesn’t sync, which is more informative than what it does. Then check sync direction, which plan tier the integration requires, whether markups and unit costs are included at that tier, how clients are matched between systems, and whether sub-customers are supported.

About the author
Sejal Jansari
Senior Accountant

QuickBooks Online ProAdvisor and Xero Certified Advisor. Leads delivery for US CPA firm engagements at Nimblechapps Finance.

LinkedInLast reviewed: November 4, 2026