Integration
Why is my ServiceM8 invoice not sending to Xero?
ServiceM8 only sends an invoice to Xero when the job is Completed and the invoice is approved from Invoicing, Awaiting Approval. ServiceM8's help centre lists zero value invoices, duplicate invoice numbers, archived Xero contacts, an expired Xero connection and Xero plan invoice limits as the usual blockers. Hover the red X for the reason.
Last checked 25 Sep 2026 against the sources listed at the end of this page.
Symptom: You approve a job's invoice in ServiceM8 and it never appears in Xero, or the Invoicing page shows a red X instead of a green tick.
Causes, most common first
The invoice was never approved. Completing a job does not send it to Xero.
Check: Open Invoicing, Awaiting Approval. If the job is listed there, it has not been sent.
Fix: Make sure the job status is Completed, tick it in Awaiting Approval and click Approve. Wait for the green tick.
It did sync, as a draft. ServiceM8 sends invoices to Xero as Awaiting Approval by default.
Check: In Xero, look in Sales, Invoices, Draft and Awaiting Approval, and search by the ServiceM8 invoice number.
Fix: Approve it in Xero, or change Settings, Invoicing, Xero, Send invoices to Xero as, to Approved for future invoices.
The invoice total is $0.00. Zero value invoices are not sent to Xero.
Check: Open the job's Quotes & Invoicing screen and look for lines with no price.
Fix: Change the job to Work Order, add the missing materials or labour with prices, set it back to Completed, save, then approve again.
The Xero connection has expired. ServiceM8 loses access 12 months after connecting, if it is disconnected from within Xero, if the Xero subscription lapses, or during Xero API outages.
Check: Look for the 'Xero Access Token Has Expired' notice on the Invoicing page.
Fix: Click Authorise ServiceM8 With Xero, sign in to Xero, choose the right organisation and approve the invoices again.
The invoice number already exists in Xero, often after switching from another app or voiding an old invoice.
Check: An error icon in Awaiting Approval says the invoice number must be unique. Search Xero for that number.
Fix: If the Xero invoice is a draft, delete it or renumber it. If it is awaiting payment or paid, edit its number. If it is voided or deleted, copy it to a new invoice. Then approve again, and consider letting Xero issue numbers.
The customer's contact is archived in Xero.
Check: Hover the red X for a contact error, then search Xero Contacts, Archived for the customer.
Fix: Restore the contact in Xero, then approve the invoice in ServiceM8 again. This cannot be fixed from the ServiceM8 side.
Your Xero plan has hit its invoice limit. Xero Ignite is capped at 20 invoices, and invoices created by apps can count toward it.
Check: The error reads 'You have reached the limit of invoices you can approve'.
Fix: Upgrade the Xero plan (Grow or above), then approve again.
The invoice went to a different Xero organisation.
Check: Switch organisations in Xero and search for the invoice number.
Fix: Reconnect ServiceM8 to the correct organisation, change the job from Work Order back to Completed (saving after each change), then approve it again.
Start with the icon on the Invoicing page
When you approve an invoice, ServiceM8 shows a spinning circle while it talks to Xero, then a green tick once the invoice exists in Xero. A red X means Xero refused it, and hovering over the X tells you why. Most of the time that message points straight at one of the causes below, so read it before you change anything.
If there is no icon at all, the invoice has not been sent. ServiceM8 does not push an invoice to Xero when a job is marked Completed; it waits for someone to tick the job in Invoicing, Awaiting Approval and click Approve. Busy offices often complete jobs in the app and forget the approval step, and the invoices pile up in that tab.
It sent, but you cannot find it in Xero
By default ServiceM8 sends invoices to Xero as Awaiting Approval, not Approved. In Xero they sit in the Draft and Awaiting Approval tabs, not in Awaiting Payment, so they look missing and they are not emailed or counted in aged receivables. You can change this under Settings, Invoicing, Xero, in the dropdown called Send invoices to Xero as.
If your login has more than one Xero organisation (a trust and a company, or a test file), check the others. ServiceM8 sends to the organisation it was authorised against, which is not always the one you have open.
When it keeps happening
One stuck invoice is a fix. The same problem every week is a process gap. The usual patterns are duplicate invoice numbers after a move from another job app, Xero contacts archived by a bookkeeper tidying up, and a Xero Ignite plan that runs out of invoices before the month does. Each of these is fixable at the source so the approvals go through the first time: let Xero issue invoice numbers, agree who may archive contacts, and move to a Xero plan that fits your volume.
ServiceM8 also syncs an invoice's lines again when a change affects its total, so editing an approved job is usually safe. Deleting or voiding invoices in Xero is not: rename a Xero invoice number (for example add "void") before voiding it, or its number stays taken.
Sources
- Invoices are sent to Xero when approved from the Invoicing page; invoices with a value of zero are not sent, and invoices created in Xero do not sync to ServiceM8. ServiceM8 Help Center, checked 25 Sep 2026.
- A job must be set to Completed before its invoice can be approved to Xero; a spinning circle shows while syncing, a green tick when the invoice is raised in Xero, and a red X when there is an issue. ServiceM8 Help Center, checked 25 Sep 2026.
- Invoices sent from ServiceM8 to Xero arrive as Awaiting Approval by default, which can be changed to Approved in the Xero section of the invoicing settings. ServiceM8 Help Center, checked 25 Sep 2026.
- The 'Xero Access Token Has Expired' notice appears 12 months after connecting, if ServiceM8 is disconnected from within Xero, if the Xero subscription expires, or during Xero API interruptions; the fix is Authorise ServiceM8 With Xero. ServiceM8 Help Center, checked 25 Sep 2026.
- An invoice number that already exists in Xero blocks approval; the fix depends on the Xero invoice's status, and ServiceM8 recommends letting Xero issue invoice numbers automatically. ServiceM8 Help Center, checked 25 Sep 2026.
- An archived contact in Xero stops the invoice being approved; restore it in Xero and approve again in ServiceM8. ServiceM8 Help Center, checked 25 Sep 2026.
- Approving a ServiceM8 invoice creates an invoice in Xero, which is blocked with 'You have reached the limit of invoices you can approve' once the Xero plan's limit is reached. ServiceM8 Help Center, checked 25 Sep 2026.
- Xero's Ignite plan points businesses sending more than 20 invoices to the Grow plan, and transactions initiated by app partners may count toward the Ignite invoice limit. Xero, checked 25 Sep 2026.
- With multiple Xero organisations, an approved invoice may sync to a different organisation; the fix is to reconnect to the correct one and approve again. ServiceM8 Help Center, checked 25 Sep 2026.