Case 03 / 04Job system + accounting

ServiceM8 to Xero: before and after

How I'd fix the gap between ServiceM8 and Xero for an 11-technician plumbing and electrical business, so every completed job is billed once and the totals tie out.

Worked example on representative data.

Area
Job system + accounting
Tools
ServiceM8 · Xero
Typical scope
US$2,000–3,500
Timeline
About 5 weeks · 4 fixed milestones

01Context

A field services business with about 11 technicians (plumbing and electrical), one owner, one office administrator and an outside accountant.

Three months of completed ServiceM8 jobs, checked against Xero one by one.

The systems in play

Exhibit 1Who uses what
SystemWhat it does for the business
ServiceM8Job cards, queues, scheduling, job sheets and invoices from the field. Where technicians and the office meet.
XeroThe ledger, bank feeds, tax reports and the accountant’s workspace.

02Problem

What the owner sees

  1. Finished jobs that were never billed
  2. Customers invoiced the wrong amount
  3. The same customer in Xero three times
  4. An accountant who cannot trust the job numbers

The two systems are meant to agree, but they drift. Nobody notices until month-end, when the numbers do not tie out and the questions start.

Exhibit 2Where the drift starts
Everyday situationWhat goes wrong
Completed jobs never invoicedThe job closes in ServiceM8 and nobody raises the invoice
Invoices keyed by handA typo changes the amount or the customer
Customers created againThree contacts for the same account in Xero
Price list out of stepThe job sheet and the Xero item disagree
Payments not matchedBank lines wait for someone to find the invoice

03Approach

Four steps, in this order. Each one ends with something you can read and check.

  1. LookA read-only review of ServiceM8 and Xero. Nothing is changed. Three months of completed jobs and invoices are pulled from both sides.
  2. MatchEvery completed job is looked for in Xero and sorted into four piles: matched, never invoiced, different amount, or invoiced twice.
  3. FixCustomers are merged to one contact, the price list is reviewed, and completed jobs reach Xero once. It is tested on your own jobs before go-live.
  4. WatchAnything that still does not tie out lands on a short weekly list with a named owner. The same three months are re-checked at handover.
Exhibit 3Excerpt from the weekly exceptions list (9 items)
ItemWhat is wrongOwnerWhat happens
Job 20418Completed, never invoiced in XeroOffice administratorInvoice it or record why not
Job 20377Invoiced at US$95 less than the job sheetOffice administratorCorrect the invoice and note it
Customer: property manager accountThree contacts in XeroOwnerMerge, keep the one with history
Job 20352Invoiced twice in XeroAccountantVoid the duplicate
Payment US$2,260Not yet matched to a bank lineAccountantCheck next feed and mark cleared

04What was built

What was set up, and why each piece is there. The detail of how it is configured is agreed in the scoping call.

Show the build, layer by layer
Exhibit 4The build, layer by layer
LayerWhat was set up and why
Job queuesQueues for each stage: quote, work order, completed, needs invoice. A job moves on only when the stage is done, so “completed” always means ready to bill.
BadgesJob badges flag what blocks billing (awaiting parts, needs approval, needs invoice), so the office sees exceptions on the board rather than in a spreadsheet.
Add-onsThe ServiceM8 add-ons that matter are switched on and tested: accounting, payments and forms, with the rest left off so there is less to maintain.
ServiceM8 to Xero syncCompleted jobs reach Xero once, with the right customer, items and tax. The mapping is tested on your own jobs before go-live.
Xero tracking categoriesTracking categories for service line and team, set from the job, so margin by line is a report.
Xero itemsOne item list that matches the ServiceM8 price list, each item tied to the right account.
Xero bank rulesBank rules for the repeat payments, so most receipts match on their own and the rest land on a short list.

How the data moves

  1. Job moves through the queues
  2. Completed and checked
  3. Invoice reaches Xero once
  4. Tracking categories and items applied
  5. Bank rules match the payment
  6. Exceptions list reviewed weekly

05Outcome

The aim is not a tidier spreadsheet. It is money that is billed once, numbers that agree and a short list that shows when something breaks. The figures below show the shape of a good result.

  1. Every completed job is billed once.
  2. Customers get the right invoice first time, so fewer disputes and late payments.
  3. Margin by service line and team is a report, from tracking categories.
  4. Most receipts match on their own; the rest are on a short list.
  5. Written rules for the office, so the set-up survives staff changes.

06Before and after

The same three months, checked at the start and re-checked at hand-over.

Before and after: ServiceM8 completed jobs matched to Xero invoices, 1,098 of 1,215 before and 1,215 of 1,215 after
Exhibit 1Before and after: ServiceM8 completed jobs matched to Xero invoices, 1,098 of 1,215 before and 1,215 of 1,215 after
Exhibit 5Before: what the check found
CheckBefore
Completed jobs in the period1,215 (US$842,300 invoiced)
Matched to a Xero invoice, same amount1,098 (90.4%)
Completed in ServiceM8, never invoiced in Xero52 (US$31,700)
In both, but the amounts differ39 (net difference US$4,980)
Invoiced twice in Xero26 (US$14,300 counted twice)
Customers in Xero with duplicate records74
Office time spent retyping and chasingAbout 9 hours a week
Month-end closeAbout 5 working days
Exhibit 6After: the same three months, re-checked at hand-over
CheckAfter
Completed jobs in the period1,215 (US$842,300)
Matched, same amount1,215 of 1,215
Never invoiced in Xero0
Invoiced twice0
Amounts differ0 unexplained (2 listed as agreed adjustments)
Customers with duplicate records0
Weekly exceptions listAbout 9 items, reviewed in about 15 minutes
Office time spent retyping and chasingUnder 1 hour a week
Month-end closeAbout 2 working days

07Scope and milestones

A fixed scope agreed in writing before anything starts. Each milestone is paid when you sign off its deliverable.

Exhibit 7Scope: what a project like this covers
AreaIncluded
Health CheckRead-only review of ServiceM8 and Xero, a 45-minute call, written findings and a fixed quote
Billing checkThree months of completed jobs compared with Xero invoices one by one
CustomersOne clean customer list across both systems
Price listJobs billed at the agreed prices, with a margin review
Invoice flowCompleted jobs reach Xero once, correct and complete, tested on your own jobs before go-live
ExceptionsA weekly list of anything that does not tie out
HandoverWritten SOPs, a recorded walkthrough and files you own, plus 14 days of fixes after go-live
Not includedTax filing or payroll.
Also outside the scopeChanges to how jobs are priced. Moving to different accounting software. Software subscriptions (billed to you by the vendors).
Exhibit 8Fixed milestones
MilestoneDeliverableTimingShare
M1 Health Check and billing checkFindings list and a fixed quoteWeek 120%
M2 Clean-upOne customer list, price list reviewed, differences listedWeeks 2 to 330%
M3 Invoice flow liveCompleted jobs reach Xero once, tested on your own jobsWeeks 3 to 435%
M4 HandoverSOPs, walkthrough, weekly exceptions list, 14 days of fixesWeek 515%

Typical scope for this kind of project: US$2,000–3,500

About 5 weeks across 4 fixed milestones. The Systems Health Check (US$300, fixed) comes first and confirms the scope.

Tell me what’s bugging you and I’ll tell you where I’d look first.

Send a short note on Upwork about what is slowing the business down. I’ll reply with where I’d start, and whether the US$300 Systems Health Check is the right first step.