Skip to content
  • There are no suggestions because the search field is empty.

ServiceM8 Integration

Connect your ServiceM8 account to push estimates straight from Sammy into ServiceM8 as a Quote. Sammy creates the Job for you, drops your client onto it, and adds every line item from your estimate.

You can use this either to send the quote to your customer through ServiceM8, or to anchor a job for backcosting once the work is won — the push is the same either way.

Availability

The ServiceM8 integration is available to Pro plan users. You'll need a ServiceM8 account on a plan that includes API access (most paid ServiceM8 plans do — if your account doesn't, ServiceM8 will tell you when you try to connect).

A Heads-Up About ServiceM8's "Price of some items have changed" Banner

When you push an estimate, ServiceM8 will show a yellow "Price of some items have changed" banner at the bottom of the Job. This is safe to ignore — your Subtotal, GST, and Total in the right-hand summary are all correct, and the customer-facing Quote PDF is correct too.

Don't click "Apply Changes" on that banner. Doing so will knock about 10% off your total. Just leave the banner alone (or dismiss it) and carry on.

Connecting to ServiceM8

  1. Click Settings in the sidebar
  2. Select the Integrations tab
  3. Find the ServiceM8 card and click Connect
  4. You'll be redirected to ServiceM8 to log in and approve access
  5. After approving, you'll be sent back to Sammy
  6. Pick your default tax rate (usually GST 10%) and job category
  7. Click Save

Your connection is now active.

What Sammy can see in your ServiceM8 account

When you connect, ServiceM8 asks you to approve the scopes Sammy needs. We only ask for what we use — creating Jobs, adding line items to Jobs, looking up and creating Clients, attaching Contacts to Jobs, and reading your tax rates and job categories. We never read your other jobs, time entries, or staff data.

Pushing an Estimate to ServiceM8

Once your estimate is ready, you can push it to ServiceM8 as a Quote.

  1. Open the estimate
  2. Click the dropdown arrow next to Send Proposal (or the ServiceM8 button on the metadata strip)
  3. Select Send to ServiceM8
  4. Review the summary — client name, site address, group count, item count, total
  5. Click Send to ServiceM8
  6. Wait a few seconds while Sammy creates the Job and pushes the line items

The estimate is sent to ServiceM8 as a Quote with all your line items, sections, GST, and the estimate number.

What gets pushed

Sammy

ServiceM8

Estimate

Job with status "Quote"

Estimate number

Job's PO Number + first line of the description

Scope of work

Job description (HTML stripped to plain text)

Client

Client (Company) — created if not already there

Client name

Contact First / Contact Last on the Job

Site address

Job address

Groups

Section heading rows on the Job

Items (materials)

Job Materials

Items (labour)

Job Materials prefixed with "Labour:"

Quantities & unit prices

Per-line on each Job Material

GST

Your default tax rate (or "No GST" for exempt estimates)

After pushing

When the push succeeds, the estimate status changes to In ServiceM8 and a status strip appears at the top of the estimate. You'll see the ServiceM8 Job number and a button to open ServiceM8.

You can keep editing the estimate in Sammy — unlike Simpro, ServiceM8 doesn't lock the Sammy estimate after a push. If you change the estimate and want to push again, see Re-pushing below.

Finding the Job in ServiceM8

ServiceM8 doesn't publish direct links to individual Jobs, so the "Open ServiceM8" button takes you to ServiceM8's home page. Your new Job is at the top of the Quotes list (Jobs are sorted newest-first by default). You can also search ServiceM8 by the estimate number — Sammy stores it as the Job's PO Number.

Re-pushing an Estimate

If you edit an estimate after pushing it, you'll see a "Pushed to ServiceM8 X days ago — re-push?" banner at the top of the estimate.

Re-pushing creates a brand new Job in ServiceM8 — it doesn't update the old one. The old Job stays in ServiceM8 untouched, so any photos, time entries, or notes you've added there are safe. You can delete the old Job in ServiceM8 yourself if you want to.

  1. Open the estimate
  2. Click the Re-push banner (or open the ServiceM8 drawer and click Re-push)
  3. Review the warning and confirm
  4. The new Job lands the same way as a first push

Checking and Refreshing Status

  1. Open the estimate
  2. Click the ServiceM8 chip on the metadata strip (or the dropdown next to Send Proposal)
  3. The drawer shows the current Job status, last refreshed time, and a push summary
  4. Click Refresh to pull the latest status from ServiceM8

The status reflects whatever you've set the Job to inside ServiceM8 — Quote, Work Order, Unsuccessful, or Completed.

If Some Lines Fail to Push

ServiceM8 limits how fast we can send line items (180 per minute). Most pushes finish well inside this limit, but on very large estimates you might see a partial result — most lines pushed, a few failed.

If that happens, the drawer shows you which lines failed and why. Click Retry failed lines and Sammy will only re-send the ones that didn't make it the first time. The successfully-pushed lines aren't touched.

Disconnecting ServiceM8

  1. Go to Settings → Integrations
  2. Click Disconnect next to your ServiceM8 connection
  3. Confirm

Your past push history stays in Sammy, and Jobs you've already pushed remain in ServiceM8. Disconnecting only stops future pushes — it doesn't delete anything.

Using ServiceM8 Alongside Xero or Simpro

You can connect ServiceM8 at the same time as Xero or Simpro — Sammy doesn't block this.

One thing to watch: ServiceM8 has its own Xero integration. If both Sammy → Xero and ServiceM8 → Xero are turned on, the same invoice can land in Xero twice (once from Sammy, once from ServiceM8 when the job is completed). Pick one path and disable the other.

Troubleshooting

Connection expired

If your connection stops working:

  1. Go to Settings → Integrations
  2. You'll see a warning on the ServiceM8 card
  3. Click Reconnect and approve access in ServiceM8 again

"Price of some items have changed" banner on the ServiceM8 Job

Safe to ignore — see A Heads-Up About ServiceM8's "Price of some items have changed" Banner. Your Subtotal, GST, and Total in the right-hand summary are all correct, and the customer-facing Quote PDF is correct. Don't press "Apply Changes" — it'll knock about 10% off your total.

Duplicate clients in ServiceM8

The first time you push an estimate for a client, Sammy always creates a new Client (Company) in ServiceM8 — even if you already have that customer in there from somewhere else. ServiceM8's API doesn't let us search clients by email reliably enough to safely match them, so we create rather than risk attaching to the wrong record.

If you end up with a duplicate, you can merge clients inside ServiceM8. After the first push, Sammy remembers the ServiceM8 client UUID for that Sammy client, so subsequent pushes for the same client reuse it — no more duplicates.

Contact name on the Job is split wrong

For client names like "John Smith", Sammy splits on the first space — first name "John", last name "Smith". For names with multiple words like "Van der Berg" or "Mary Anne Watson", the split is best-effort and may not match how you'd write it. You can edit the Contact on the Job inside ServiceM8 if needed.

Push fails

If a push fails completely, the drawer shows ServiceM8's error message. Common causes:

  • No connection — connect ServiceM8 first
  • No items in the estimate — add at least one item before pushing
  • ServiceM8 rate limit hit — wait a minute and try again
  • ServiceM8 plan doesn't include the API — check your ServiceM8 plan

Sections don't show as headings on the Quote PDF

ServiceM8 shows zero-priced rows (which is how Sammy sends group headings) as headings on most standard Quote templates. If you've heavily customised your template and headings aren't appearing, the line items still all push correctly — they just won't be visually grouped. Switching to a standard template fixes it.

Need Help?

If you're having trouble with the ServiceM8 integration, contact support and we'll help you sort it out.