ServiceM8 QuickBooks Integration: What Syncs and What Doesn't
Which records move in which direction between ServiceM8 and QuickBooks Online, how to connect them, what to clean up first, and what breaks after go-live.
ServiceM8 integrates with QuickBooks Online through its own add-on, and every kind of record has a direction: clients, items and tax codes come in from QuickBooks, invoices go out to QuickBooks when someone approves them, and payments move both ways. It doesn't connect to QuickBooks Desktop.
Everything below about how the sync behaves was read off ServiceM8's help centre and pricing page on 2026-10-06, apart from the problems I've found on live accounts, which I've marked as mine. ServiceM8 changes, so treat the date as part of the facts.
What the ServiceM8 QuickBooks integration syncs
- Invoices go from ServiceM8 to QuickBooks. An invoice is sent when it's approved on the Invoicing page, in the Online Dashboard or the app. If you later change that invoice in ServiceM8 in a way that changes the total, its line items sync again.
- Payments go both ways. A payment received against an invoice in ServiceM8 is sent to QuickBooks, and a payment received in QuickBooks is imported into ServiceM8.
- Clients and items start in QuickBooks. Once you connect, the clients and materials in QuickBooks sync into ServiceM8. A client or material created in ServiceM8 only reaches QuickBooks with an invoice. After a record has crossed, a change in either system updates the other within 20 minutes.
- Tax codes and income accounts come from QuickBooks. Every tax code in QuickBooks is imported when you connect, and later changes in QuickBooks follow.
Not every QuickBooks customer comes across. Inactive customers aren't imported, and neither are sub-customers set to bill with their parent.
ServiceM8's pricing page lists accounting integrations on every plan, so the connection itself doesn't decide which plan you need. What each ServiceM8 plan costs is here.
What doesn't sync
Invoices raised in QuickBooks. They aren't sent to ServiceM8. If you print or email a synced invoice from QuickBooks it gets marked as sent in ServiceM8, and that's all that comes back. The first time someone bills a job straight from QuickBooks because it was quicker, ServiceM8's record of what's been invoiced is short by one, and nothing flags it.
Zero-value invoices. An invoice with a value of zero isn't sent when it's approved. A no-charge warranty visit leaves no invoice in QuickBooks.
Staff. ServiceM8 doesn't sync staff with QuickBooks Online.
A deleted payment, in one direction. Once a payment has been sent to QuickBooks it can't be deleted in ServiceM8. Delete it in QuickBooks and the deletion comes back to ServiceM8, so a payment recorded by mistake gets fixed on the QuickBooks side.
Does ServiceM8 work with QuickBooks Desktop?
No. ServiceM8's help centre lists the accounting packages it connects to: Xero, MYOB Business in Australia and New Zealand, and QuickBooks Online. QuickBooks Desktop isn't on the list, and neither is Sage.
If you're on Desktop, the move to QuickBooks Online comes first. ServiceM8 takes its clients, items and tax codes from whatever is in QuickBooks Online on the day you connect, so finish that move before the two are joined.
How to connect ServiceM8 to QuickBooks Online
ServiceM8's own tutorial runs like this:
- Log in to the ServiceM8 Online Dashboard on a PC or Mac.
- Go to Account, then Settings, then ServiceM8 Add-ons. Find QuickBooks Online Integration and click Connect.
- In the wizard, pick your QuickBooks Online version, click Connect to QuickBooks and approve the access it asks for.
- Set up your tax settings.
- Click Finish.
To send the first invoice, change a job's status to Completed, open Invoicing, go to the Awaiting Approval tab, tick the job and click Approve. When the invoice has been raised in QuickBooks, the spinning circle beside it turns into a green tick.
Clean up QuickBooks before you connect
Three of the sync rules make the order matter.
Your client list. ServiceM8's help centre says a client in ServiceM8 that hasn't synced yet will be overwritten if the same client is entered by hand in QuickBooks. Merge the duplicates in QuickBooks first, then decide where new clients get created from now on and tell everyone who creates them.
Your tax codes. While the two are integrated, tax settings can't be changed in ServiceM8. Whatever QuickBooks holds is what ServiceM8 uses, so a wrong or duplicated code has to be fixed in QuickBooks, and it's far easier before the first invoice than after the fortieth.
Your items. A material's purchase cost only syncs when the item is marked "I purchase this item" in QuickBooks. If you want job costs in ServiceM8 to mean anything, check that box on the items you buy.
How an invoice gets from ServiceM8 to QuickBooks
Completing a job and approving its invoice are two separate actions, and they can belong to two different people. A job can read Completed and still be sitting in Awaiting Approval, with nothing sent to QuickBooks.
That's the first thing I check when someone says the sync is broken. An integration that's never been used looks the same as a broken one: no invoices in QuickBooks, and no error to find, because nothing was ever sent.
When an export does fail, ServiceM8 shows a red X against the job on the Invoicing page, and its help centre says hovering over it gives the reason. On the accounts I work in, the Awaiting Approval list also has a Sent to QBO column, so the person doing invoicing can scan a morning's approvals for red in about a minute.
To send an invoice again, ServiceM8's instructions are to open the job, set it back to Work Order and save, then set it to Completed and save. The job returns to Awaiting Approval, and approving it sends it to QuickBooks again.
What breaks after go-live
These three are from accounts I've worked on.
A QuickBooks bundle on the invoice. I've seen an invoice refuse to export because one of its line items was a bundle in QuickBooks. The red marker gave no reason when I hovered over it. The job diary did: a bundle from QuickBooks isn't supported in ServiceM8, and the message says to add the line items individually.
Reopening a job that's already been invoiced. On one account a completed job had been set back to Work Order after its invoice reached QuickBooks. ServiceM8 wrote a note in the job diary warning that approving the job again would raise a new, duplicate invoice in QuickBooks. That's the same path as the resend above, so look for the original in QuickBooks before anything gets approved twice.
Nothing in Awaiting Approval has an owner. Invoices pile up there when completing the job is the manager's last step and nobody was ever given the approving. The fix is a name against that list and a time of day it gets cleared.
Deposits and custom fields
Two parts of the sync need a setting before they work.
Deposits taken through ServiceM8 Pay. A deposit only syncs when the Default account code for Deposits is set to one of your liability accounts in QuickBooks. It's under Account, Settings, Preferences, Invoicing in the Online Dashboard. The deposit syncs when the client pays it, and it's applied to the invoice in QuickBooks once the job is completed, fully paid and approved.
Custom fields. ServiceM8 can send its own job fields into custom fields on the QuickBooks invoice. Its help article covers QuickBooks Online Advanced, supports the first three custom fields of the Text and number type, and has one catch: the fields only show up in ServiceM8's invoicing preferences after you've exported at least one invoice.
When the built-in sync isn't enough
The add-on covers the path most companies need: the job is done, the invoice is approved, it lands in QuickBooks and the payment follows. A few cases sit outside it.
- Invoices that start in QuickBooks. The add-on won't bring them into ServiceM8. Zapier lists the two apps as a pair, with a ready-made workflow that creates a ServiceM8 job from a new QuickBooks Online invoice.
- A third system in the chain. If sales runs in a CRM, the deal has to become a job before any of this starts. Connecting HubSpot and ServiceM8 covers that leg, and getting every system in the chain to pass work along covers the whole of it.
- An accounting package ServiceM8 doesn't list. Then invoices cross by hand or through a build.
If you're connecting accounting for the first time, our ServiceM8 setup work includes the QuickBooks cleanup, the tax settings and a named owner for the Approve step before the first invoice crosses. If the question is wider than one connection and you want to know which double entry to get rid of first, that's what an AI business assessment answers.
Common questions
Does ServiceM8 integrate with QuickBooks?
Yes, with QuickBooks Online. ServiceM8 has its own QuickBooks Online add-on, and its pricing page lists accounting integrations on every plan. Clients, items and tax codes come in from QuickBooks, invoices go to QuickBooks when they're approved, and payments sync both ways.
Does ServiceM8 work with QuickBooks Desktop?
No. ServiceM8's help centre lists three supported accounting packages: Xero, MYOB Business and QuickBooks Online. QuickBooks Desktop isn't one of them, so a company on Desktop moves to QuickBooks Online before connecting.
Is the ServiceM8 QuickBooks sync two-way?
Partly. Payments sync both ways, and a client or item that exists in both systems updates in either direction within 20 minutes. Invoices only go from ServiceM8 to QuickBooks, tax settings only come from QuickBooks, and staff don't sync at all.
Why didn't my ServiceM8 invoice show up in QuickBooks?
The usual reason is that nobody approved it. An invoice is sent when it's approved on the Invoicing page, so a job can be Completed and still be sitting in Awaiting Approval. A zero-value invoice is never sent, and a failed export shows a red X on the Invoicing page with the reason.
How long does the ServiceM8 QuickBooks sync take?
An invoice starts syncing when you approve it. ServiceM8's help centre says changes to synced clients and materials update the other system within 20 minutes.
Kevin Chan is a ServiceM8 Certified Partner and AI automation consultant based in BC, Canada. He runs ChanAutomation, a consulting practice focused on field service companies.
Want help setting this up in your business?
We can walk through your ServiceM8 setup and identify exactly where time is being lost.
Ready to get started? Work with a ServiceM8 Certified Consultant, Canada's only certified option.
More from the blog
HubSpot ServiceM8 Integration: 3 Ways to Connect Them
ServiceM8 has no HubSpot add-on of its own, so connecting them means a packaged sync app, a Zapier workflow or a build against both APIs. Here's what each one syncs, where Zapier stops, and what each costs.
Business System Integration: How to Stop Double Data Entry
Most field service companies do not have a software problem, they have an integration problem. The same information gets typed by hand into three tools that were never connected. Here is what that costs and how to fix it.