TradesSync.
All documentation
  1. Overview
  2. Getting started
  3. What syncs
  4. Pipeline stages
  5. Field mapping
  6. Tags
  7. If/then rules
  8. Leads into ServiceM8
  9. Reading the sync log
  10. Common setups
  11. Troubleshooting

Home / Docs

Getting TradesSync to do what you want

Most of the time TradesSync already does the thing you are after — it is a question of how you have it arranged. These are the setups people ask for most, written as what you want first and the settings second.

I want to report on what my jobs are worth

You want to know what an enquiry source is actually worth, or what your average job comes to, or how much work you quoted last month against how much you won. That means a number attached to every job, sitting next to the tags that say where the job came from.

Put the value on the opportunity, not the contact. A contact holds one value per field, so the second job for the same client overwrites the first and you end up looking at the most recent quote rather than all of them. An opportunity is GoHighLevel's version of a ServiceM8 job card: one per job, each with its own value.

How to set it up

If your GoHighLevel workflows already create opportunities, switch that off first.

Plenty of people start out running TradesSync for contacts and tags only, then build the opportunity in GoHighLevel with a workflow that fires off a tag. That works, but it means the opportunity is assembled from tags rather than carrying the job data.

If you let TradesSync create them instead, you get the value, job number, description, completion date and anything else you map, straight off the job card. But you need to remove the create opportunity step from your workflows, or both will be creating them and you will get duplicates. Everything else those workflows do — notifications, follow-ups, moving stages — is unaffected.

Opportunities your workflows built previously are not adopted. TradesSync does not know they exist, so it creates its own alongside them. Either tidy those up first or draw a line and start from today.

Check one GoHighLevel setting before you start.

Under Settings → Objects → Opportunities there is Allow more than one opportunity per contact in the same pipeline. It ships turned off. Leave it off and only a client's first job ever becomes an opportunity — every repeat job is refused. Any trade with returning customers wants it on.

Staying contact-only

Running contacts and tags with no opportunities at all is a supported setup and some people prefer it. You can still send a value — map Total Invoice Amount to a custom field on the contact. Just know that it holds the most recent job only, so it is a prompt rather than a reporting figure.

I use ServiceM8 Proposals and the value is not coming across

Proposals are a ServiceM8 add-on that sends the customer an interactive document they pick options from. They sit alongside standard quotes rather than replacing them, and you choose per job which to use.

A proposal's value cannot reach GoHighLevel until the customer accepts it.

ServiceM8 has no proposals endpoint. The figures in a proposal only land on the job when it is accepted, at which point the chosen items are written to the job's Quotes & Invoicing tab and become ordinary line items.

Until then the job genuinely has no value on it as far as ServiceM8 is concerned — its invoice total reads zero and it has no materials. There is nothing for TradesSync, or anything else reading ServiceM8, to collect.

Standard quotes behave differently. Price a job through Quotes & Invoicing and the total sits on the job from the moment you save it, whether you go on to win it or lose it. That value syncs straight away and keeps working when the job ends up Unsuccessful.

So if you need quoted-but-not-won values in your reporting, quote those jobs the standard way. If proposals are worth more to you than the reporting, keep using them and accept that the value appears at acceptance.

I want to know where my work comes from

Use a ServiceM8 category or badge for the enquiry source, and map it to tags. Badges are the better fit if a job can have more than one source, because badge tags accumulate; category tags replace each other.

Combine that with the value setup above and every opportunity carries both where it came from and what it is worth, which is everything GoHighLevel needs to total it up for you. More detail in Tags.

Something else?

If you are trying to get to something that is not here, ask. Most of these started as someone's question, and if you have hit it somebody else will too.