ServiceM8 and Xero for Growing Trades Businesses: Where the Link Stops

27 October 2026 Aaron Chambers Systems Integration, Business Strategy

The ServiceM8 to Xero link does its main job well. Approved invoices go to Xero with their line items, payments flow both ways, and clients and items stay in step. What it doesn't do is put a job's labour, materials and subcontractor costs together in one place. Invoices start in ServiceM8, but supplier bills, wages and subbie invoices mostly land in Xero or payroll. For a business with a few staff, that rarely matters. Once you have several crews, a second branch or bigger staged jobs, it is why you only find out whether a job made money weeks after month end. In most cases you don't need a new job system. You need better settings, a few process changes, and sometimes a proper job costing connection between the two.

Why the numbers stop adding up as you grow

With a couple of techs and short jobs, the owner knows which jobs were good, and the profit and loss in Xero tells you roughly how the month went.

At 15, 30 or 50 staff that changes:

  • Several crews or supervisors run their own jobs, and you want to know which crews make money.
  • Jobs run for weeks, with deposits and progress invoices instead of one invoice at the end.
  • Materials are bought on several supplier accounts, often by techs at the trade counter.
  • Subcontractors do part of the work and invoice you weeks later.
  • Stock sits in vans and maybe a second yard.

Each of those adds a cost that sits outside ServiceM8, or arrives late. The invoice side is in good shape. The cost side is spread across ServiceM8, Xero, payroll and supplier emails, and nobody sees the full job until someone pulls it together in a spreadsheet.

What the ServiceM8 to Xero integration does well

Based on ServiceM8's own help guides (check them for your plan, as features change):

  • Invoices: sent to Xero when approved, with line items, descriptions and client details. If you change an approved invoice in ServiceM8 and the total changes, the Xero invoice is updated rather than duplicated. Invoices created directly in Xero don't come back into ServiceM8.
  • Payments: payments taken in ServiceM8 go to the Xero account you choose. Payments entered in Xero against a ServiceM8 invoice sync back, and the invoice is marked paid.
  • Clients and items: kept in step both ways. Xero items come into ServiceM8 as materials, including their purchase cost.
  • Tax rates and income accounts: imported from Xero. Only sales or revenue accounts appear in ServiceM8.
  • Tracking categories: with the Xero Tracking Categories add-on switched on, you choose tracking values on the job card and they go to Xero with that job's invoice. ServiceM8 says the list of categories syncs from Xero once a day.
  • Timesheets: the Automated Timesheet Sync add-on sends staff clock on and off times to Xero as employee timesheets in Australia, New Zealand and the UK. These are shift times, not the check-in times recorded against each job.

For the sales side, that is a solid connection.

Where the link stops

Job profit is an estimate inside ServiceM8

ServiceM8's Job Costing add-on gives an estimated profit on each job from material purchase costs, labour and admin time. ServiceM8 is upfront that these are estimates and that accurate profit reporting belongs in the accounting package. Labour is costed from the purchase cost you set on labour items, and where a job has several labour rates it uses a weighted average. Real wages, super, overtime and allowances live in payroll, not in ServiceM8.

Xero, meanwhile, has the real costs but not the job. Unless every bill and wage line is coded to the job, Xero can tell you the month made money but not which jobs did.

Supplier bills aren't tied back to jobs in Xero

ServiceM8 doesn't have built-in purchase orders; its help guide points to add-ons from its developer partners. Its Supplier Invoice Import add-on is useful. If techs quote the ServiceM8 job number as the order number, supplier invoices emailed in are attached to the right job so you remember to charge for the materials. From ServiceM8's help guides, though, that feature is about billing the customer. It doesn't describe creating the supplier bill in Xero. In most businesses the bill is still entered or captured in Xero separately, and the link to the job is lost unless someone codes it by hand.

Subcontractor costs arrive late and uncoded

Subbie invoices usually go straight to accounts, arrive after the job is invoiced, and get coded to a general "subcontractors" account. The job looked profitable in ServiceM8 at completion, and nobody goes back once the subbie's invoice turns up.

Tracking by crew or branch only covers the income side

Tracking values set on the job card go to Xero with the invoice. That gives you revenue by branch or crew. Costs only follow if each bill, wage line and expense is tagged with the same value in Xero. Xero also allows only two active tracking categories, so branch, crew, job type and region can't all be tracked at once.

Progress invoicing works; retentions are your problem

ServiceM8 supports partial and progress invoicing for deposits and staged billing, and each partial invoice goes to Xero like any other. We didn't find retention handling described in ServiceM8's help guides. For bigger commercial jobs, retention held, retention due and work in progress usually end up in a spreadsheet.

Stock on vans

ServiceM8 shows stock levels that come from the connected accounting package, and they update after the accounts process a synced invoice. Xero's built-in inventory keeps one quantity per item, not one per van or yard. If you need to know what is on each van, neither system does it out of the box.

Your options, simplest first

Start at the top and only move down when the step above isn't enough.

1. Fix the settings you already pay for

  • Switch on the Xero Tracking Categories add-on and decide what the two categories mean, for example branch and crew. Make it a required step when a job is created.
  • Set real purchase costs on every material and labour item, including separate apprentice and tradesperson rates, so ServiceM8's estimate is closer to the truth.
  • Use Supplier Invoice Import, and make "job number as the order number" a rule with every supplier.

2. Tidy the process around Xero

  • Code every supplier and subbie bill in Xero with the job number in the reference and the same tracking values as the job.
  • Agree a cut-off: no job is marked complete until its known bills are in.
  • Send wages to Xero with tracking by crew or branch, so labour cost follows the same split as revenue.

These are process changes, not software, and often enough for a business with a few crews.

3. Add a reporting tool

Reporting add-ons and dashboards that read from both ServiceM8 and Xero can show revenue and cost by job, crew and branch. They only work as well as the coding in step 2. Check which data each tool can actually read from ServiceM8 before you buy. See Xero and MYOB reporting dashboards.

4. A proper job costing connection

When the manual coding keeps slipping, the gap is between the systems, and that is where a connection helps. A custom link can:

  • create supplier and subbie bills in Xero already coded to the job, crew and branch, from what was attached in ServiceM8;
  • bring real labour cost from payroll back against each job;
  • keep a running cost-to-date for each job, with progress invoices, retentions and work in progress alongside;
  • flag bills that can't be matched to a job, so they are fixed the same week rather than at month end.

ServiceM8 and Xero both have documented APIs, so this can be built around the systems you have without changing how techs work in the app. See construction and trades job costing and disconnected business systems.

When it really is time to move

Sometimes the honest answer is that the work has changed more than the systems can stretch. If most of your revenue now comes from long staged projects with variations and retentions, maintenance contracts with asset registers, or several warehouses with stock moving between them, a larger job system may suit you better. We cover the signs and how to move in outgrowing ServiceM8, Tradify or Fergus. If the gap is mainly job profit and reporting, fix the connection first; it is usually less disruption than retraining every crew. For how we approach trades businesses more generally, see trades and field service, and for the wider picture of connecting accounting systems, the Xero and MYOB integration guide.

Frequently asked questions

Does ServiceM8 send supplier bills to Xero?

From ServiceM8's help guides, no. The Supplier Invoice Import add-on attaches supplier invoices to jobs so you can charge for materials, but it doesn't describe creating the bill in Xero. Most businesses enter or capture supplier bills in Xero separately. Check with ServiceM8 for your own account.

Can ServiceM8 send tracking categories to Xero?

Yes, with the Xero Tracking Categories add-on. You choose tracking values on the job card and they go to Xero with that job's invoice. Costs in Xero only carry the same tracking if they are coded that way when entered.

Is ServiceM8's job costing accurate enough to run the business on?

It is a useful estimate for quoting and spotting jobs you forgot to charge for. ServiceM8 itself says accurate profit reporting should be done in the accounting package. For real profit by job, bills and wages in Xero need to be tied to the job.

Can ServiceM8 handle progress claims and retentions?

It supports partial and progress invoicing, and each invoice goes to Xero normally. We didn't find retentions described in its help guides, so most businesses track retention held and due separately.

Do we need to leave ServiceM8 to get proper job costing?

Usually not. Better settings, consistent coding in Xero and, where needed, a connection that ties bills and wages back to jobs often close the gap. Moving makes sense when the type of work has changed, not just the size of the team.

If your ServiceM8 and Xero numbers no longer tell you which jobs and crews make money, book a free initial chat. We'll look at how your jobs, bills and wages move today and tell you honestly whether settings, process changes or a connection will fix it.

Related Articles