Work sample 12 / 14CRM to job-system pipeline

HubSpot to Jobber quote-to-job pipeline

How I'd approach the pipeline for a landscaping and grounds company that sells in HubSpot and quotes in Jobber, so each inquiry has one deal, linked to its quote and reused when the quote becomes a job.

Worked example on representative data.

Area
CRM to job-system pipeline
Tools
HubSpot · Jobber · Zapier
Typical scope
US$2,500–4,000
Timeline
About 4 weeks · 4 fixed milestones

01Context

An established landscaping and grounds company with several crews. Sales are led by a sales manager in HubSpot, and quotes and jobs are run in Jobber. Zapier flows connect the two.

The systems in play

In the example the company wants to know which lead sources turn into quotes and jobs, and to stop the same customer appearing as several deals.

Table 1Who uses what
SystemWhat it does for the business
HubSpotContacts, deals and lead source. The sales manager works the pipeline here.
JobberRequests, quotes, jobs and invoices. Crews and the office work here.
Zapier flowsCreate the Jobber quote from the deal and link it back. Reuse the same deal when a quote becomes a job.
Sync logA table that records each create and update with the deal ID and the quote number.

02Problem

What the owner sees

  1. No answer to which lead sources are worth paying for
  2. The same customer showing as two or three deals
  3. Quotes in Jobber with no deal behind them
  4. Revised quotes that never reach the pipeline

When quotes and jobs are created by separate flows, each flow tends to create its own deal. The pipeline then counts one customer several times.

Table 2Where the drift starts
Everyday situationWhat goes wrong
Repeat customerA second inquiry creates a new contact and a new deal
Revised quoteThe change creates a new deal instead of updating the first
Declined quoteThe deal stays open, so the pipeline is overstated
Quote becomes a jobA second flow creates a second deal for the same work
Customer with two propertiesOne contact, two sites, and a deal for each with no link
Edited or deleted quoteThe deal keeps the old amount or points at a quote that no longer exists

03Approach

Four steps, in this order. Each one ends with a result that is checked.

  1. LookA read-only review of the HubSpot pipeline, the Jobber quotes and the existing flows. Nothing is changed.
  2. Agree the rulesWhat counts as one deal, what each stage means, and how a customer is matched, are written down.
  3. Set up and connectFlows are rebuilt around one deal per inquiry, with the Jobber quote and job linked to it.
  4. CheckA weekly list shows inquiries with no quote, quotes with no deal and duplicate deals, with win rate by lead source.
Table 3Stage meanings agreed in writing (example settings)
HubSpot deal stageMeaningMoves when
New inquiryA request exists in Jobber or a form was submittedThe deal is created
Quote sentA Jobber quote has been sentThe quote is sent
WonThe quote was approvedThe quote is approved in Jobber
LostThe quote was declined or expiredThe quote is declined, with a reason
ScheduledA job exists for the approved quoteThe job is created

04What the setup includes

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

Show the setup, layer by layer
Table 4The setup, layer by layer
LayerWhat is set up and why
One deal per inquiryThe deal is created once. Later events find it by its ID and update it.
Contact matchingA customer is matched on email first, then phone. A match reuses the contact and its property.
Quote linkThe Jobber quote number is stored on the deal, and the deal ID is stored on the quote, so each side can find the other.
Quote changesA revised quote updates the amount on the same deal and records the version.
Quote to jobWhen a quote becomes a job, the job is linked to the same deal. No second deal is made.
Lead sourceCarried from the first inquiry and never overwritten, so the win rate is by original source.
Sync log and exceptionsEach action is recorded. A failed step goes to an exceptions list, and nothing is retried in a way that could create a second deal.

How the data moves

  1. Inquiry
  2. Contact matched or created
  3. One deal
  4. Jobber request and quote
  5. Deal updated on revision
  6. Quote approved or declined
  7. Job linked to the same deal

05Edge cases

These are agreed with the sales manager and tested with scripted scenarios before go-live.

Table 5Edge cases and how each is handled
SituationHow it is handled
Repeat customerThe contact is reused. A new inquiry opens a new deal only if the earlier one is closed.
Revised quoteThe same deal is updated. The amount history stays on the deal.
Declined quoteThe deal moves to Lost with a reason. A later reopen moves it back and is logged.
Several quote options for one inquiryOne deal, with each option recorded by quote number
Customer with two propertiesOne contact. Each property is a separate deal, linked by the contact.
Quote deleted in JobberThe deal is flagged for review and is not closed automatically
Deposit on a quoteTaken and tracked in Jobber. The deal records that a deposit was requested.
Two people create the same dealThe second attempt finds the first by contact and inquiry ID, and updates it
Company with its own Jobber accountLinked to its own HubSpot pipeline, with a company property on the deal
Who changed whatEach create and update is in the sync log with the deal ID, the quote number and the time

06Worked example

The tables below use one quarter on representative data. They show the shape of the report, not a client result.

Table 6One customer, one deal (sample data)
EventBeforeAfter
Inquiry from a repeat customerA second contact and dealThe first contact reused, a new deal for the new site
Quote Q-2210 sent at US$18,500A deal createdThe deal updated with the quote number
Quote revised to US$16,900A new deal createdThe same deal updated, version 2 recorded
Quote approved, job J-612 createdA second deal createdThe deal moved to Won, with the job linked
Table 7Inquiries, quotes and wins by lead source (sample data)
Lead sourceInquiriesQuotesWonWon per quote
Website form40221150.0%
Referral18151066.7%
Paid search2512325.0%
Builder partner98562.5%
Total92572950.9%
Table 8Weekly exceptions list, sample rows
ItemReasonOwner
Inquiry from 6 days agoNo quote yetSales manager
Quote Q-2226No deal linkedSales manager
Two deals for one contactFound by the duplicate checkSales manager
Deal D-3318Quote deleted in JobberOffice manager

07How the result is checked

The flows are tested on scripted scenarios before go-live, and the same checks run weekly afterwards.

Table 9Checks and pass conditions
CheckHowPass condition
New inquiryA scripted inquiry from a new customerOne contact, one deal, one request
Repeat customerThe same customer inquires againContact reused, no duplicate contact
Revised quoteA quote is changed after sendingThe same deal is updated
Declined quoteA quote is declined with a reasonDeal Lost, with the reason
Quote to jobA quote is approved and a job is madeDeal Won, job linked, no second deal
Weekly listInquiries with no quote, quotes with no deal, duplicate dealsEach item has an owner

08Scope and milestones

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

Table 10Scope: what a project like this covers
AreaIncluded
Health CheckReview of the pipeline, the Jobber quotes and the current flows, a 45-minute call, written findings and a fixed quote
RulesOne deal per inquiry, stage meanings and matching rules, in writing
HubSpot set-upStages, properties for the quote number and lead source, and a duplicate check
Jobber and ZapierFlows rebuilt around the one deal, with a sync log and an exceptions list
Cleaning up dealsExisting duplicate deals listed and merged after sign-off
ReportA weekly list and win rate by lead source
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 scopeChanging how quotes are priced. Moving to a different CRM or job system. Software subscriptions (billed to you by the vendors).
Table 11Fixed milestones
MilestoneDeliverableTimingShare
M1 Health Check and rulesFindings, a fixed quote and the rules in writingWeek 120%
M2 HubSpot and flowsOne deal per inquiry working on a test setWeeks 2 to 335%
M3 Scenarios and clean-upScripted scenarios pass, duplicate deals clearedWeek 330%
M4 Report and handoverWeekly list, win rate by source, SOPs, walkthrough, 14 days of fixesWeek 415%

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

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

Describe what is going wrong between your job system and your books, and I'll say where I'd look first.

Send a short note through the form on the home page. I will reply with where I would start, and whether the US$300 Systems Health Check is the right first step.