AR ยท AP ยท Job Margins ยท Updated weekly by Amanda
Last updated: June 14, 2026
Breakeven & Profit Targets
What revenue Ryan & Calvin need to hit each month โ and at what margin โ to cover fixed overhead.
Monthly Fixed Overhead
$52,928
Trailing 11.5-mo avg from QBO (annual ~$609K)
Breakeven Monthly Revenue
$160,634
At current 33% true margin
Current Monthly Avg Revenue
$215,423
+$54,789/mo above breakeven
Current Monthly Avg Profit
$18,834
After all overhead + wages
The Rule of Thumb:
To break even each month at WL's current 33% true margin (revenue minus materials, subs, engineering, AND all wages), you need ~$161K/month in revenue. Every dollar of revenue above that drops ~33ยข to the bottom line. Every $10K of monthly revenue above breakeven = ~$3,300 more monthly profit. Want $50K monthly profit? You need ($53K fixed + $50K target) / 33% = $313K/month revenue.
Top Monthly Fixed Costs to Cover
Category
Per Month
Per Year
Notes
Auto Lease (Sterling Ford et al)
$11,337
$136,038
Trucks. Fixed monthly.
Equipment Rental
$8,769
$105,227
Mix of fixed + project-specific.
Auto Fuel
$6,329
$75,952
Scales with job volume.
Business Insurance
$4,655
$55,864
Fixed annual policy.
Repairs & Maintenance (general)
$2,792
$33,501
Equipment/facility upkeep.
Auto Repairs & Maintenance
$2,536
$30,429
Truck maintenance.
Accounting & Legal (Taag, etc.)
$2,421
$29,056
Fixed CPA + legal.
Meals & Entertainment
$2,414
$28,967
Team meals + client.
Small Tools & Supplies
$2,036
$24,432
Replenishment.
Advertising & Promotion
$2,028
$24,337
Marketing spend.
All other (utilities, phone, subscriptions, rent, bank fees, interest)
$3,925
$47,099
Smaller line items.
Total Monthly Fixed Overhead
$52,928
$608,670
Must be covered every month.
Profit Target Scenarios โ at the 33% margin shown here (Jobber-tagged view):
โ Important: these targets assume Jobber-tagged costs are the FULL direct cost. They are not โ see the Margin Methodology section below. After accounting for untagged direct costs (fuel, vehicles, equipment), the true breakeven is closer to $103-128K/mo and target revenues are lower. Read the methodology before bidding off these numbers.
โ Margin Methodology โ What's Actually In These Numbers
Critical context for interpreting any margin shown on this dashboard or in Jobber.
The headline: Jobber-level job margins are overstated by ~16.5 percentage points because direct costs like fuel, vehicles, and equipment rental are tracked in QBO at the company level โ they are NOT tagged to individual jobs in Jobber. A Jobber job showing 35% margin actually has about 18.5% true margin after these costs are allocated. A job showing 25% Jobber margin is around 8.5% true, and anything below 16.5% Jobber margin is unprofitable at the job level.
Data maturity note: The aggregate QBO numbers in this section (revenue, COGS, wages, overhead, net profit) are 100% accurate โ they come from the company-level P&L which records everything that hit the bank.
The per-job margin breakdown in Jobber, however, only became reliable when Amanda took over and started enforcing tagging discipline. Earlier WL jobs in Jobber may have incomplete material/sub/hours tagging. Treat the Jobber-level job margin reports as the starting baseline going forward โ as more months pass with disciplined tagging, the per-job, per-crew, per-job-type margin picture sharpens. The 16.5% overall gap between Jobber-visible and true margins (shown below) is real today; how it splits across specific jobs will get clearer as we accumulate clean months of data.
Less: Untagged Direct Costs (fuel, trucks, equipment, tools)
($408,497)
16.5%
Real cost of doing jobs, just not in Jobber
True Gross Margin (after all direct costs)
$407,780
16.5%
What's left to cover pure overhead + profit
Less: Pure Overhead (insurance, accounting, office, subs, rent, fees)
($200,173)
8.1%
Costs whether you do 0 jobs or 100
Plus: Other Income (rebates, carbon)
$8,989
0.4%
โ
Net Profit
$216,596
8.7%
Matches QBO P&L
How to use this when bidding jobs: When a Jobber margin estimate comes in at X%, subtract ~16.5 percentage points to get the true job margin after fuel, trucks, and equipment. To break even at the JOB level (not even covering pure overhead yet), Jobber margin must be at least 16.5%. To contribute meaningfully to overhead + profit, target 25-30% Jobber margin minimum โ that gives 8.5-13.5% true margin.
True Breakeven (after splitting direct vs pure overhead)
Pure Overhead (monthly)
$17,406
$200K/yr รท 11.5 mo
True Margin (after all direct)
16.5%
vs 33% Jobber-visible
True Breakeven Monthly Revenue
$105,491
$17.4K รท 16.5%
Above True Breakeven
+$109,932/mo
at $215K current run rate
๐ฉ Materials Reconciliation Check โ Jobber vs QBO
Flag when materials show up in QBO but aren't tagged to a job in Jobber. Means a crew member missed an entry.
How to use: Every month, compare QBO 5000/5001 Cost of Goods Sold:Materials total against the sum of materials tagged in Jobber for that month. If QBO is materially higher than Jobber, some materials weren't tagged to a job โ that means jobs in Jobber are showing inflated margins. Flag the gap to Ryan/Calvin so the field crew can backfill the missing tags.
โ Historical caveat โ start fresh from here: Jobber tagging discipline started when Amanda took over. Pre-Amanda data is incomplete, so historical FY26 reconciliation isn't meaningful. This dashboard treats the Jobber data we have as the starting baseline. As we accumulate more clean months, the reconciliation gets more reliable and we can start spotting trends (e.g., "field crew X consistently misses tagging materials on commercial jobs"). Build the muscle now; the value compounds.
Period
QBO 5000+5001 Materials
Jobber Materials Tagged
Gap
Status
June 2026 (so far)
โ (need extract)
โ (need extract)
โ TBD
Pending Jobber data
May 2026
โ (need extract)
โ (need extract)
โ TBD
Pending
April 2026
โ (need extract)
โ (need extract)
โ TBD
Pending
To populate this table: Pull Jobber Expenses report filtered by Materials category, summed by month. Then run QBO P&L filtered to 5000+5001 by month. Diff. Any gap >5% of QBO total = flag to investigate. Same pattern works for Subs โ compare QBO 5003 Subcontractors to Jobber-tagged sub costs by month.
Other reconciliation checks worth running
Check
QBO Source
Jobber Source
Trigger
Materials
5000 + 5001 Cost of Goods Sold:Materials
Job expenses tagged "Materials"
Gap >5% = missing tags
Subcontractors
5003 Subcontractors
Job expenses tagged "Subcontractor"
Gap >5% = missing tags or off-system payment
Hours / Labour
Wages account (from Wagepoint)
Jobber timesheet hours ร pay rates ร 1.1627
Gap >10% = unrecorded hours, or wages including non-job work
Equipment Rental (job-specific)
6225 Equipment Rental
Job expenses tagged "Equipment"
Most won't tie (fleet rentals are general) โ but flag big project-specific ones
Two margin views: QBO's standard P&L shows a 63.7% gross margin ($2.48M โ $900K COGS) but that LEAVES OUT wages, which are 100% Field/Direct at WL (no admin staff). When wages are properly treated as direct labour cost (per the wages-in-margins rule), the true gross margin is 33.0%. The 33% number is what to use for pricing, bidding, and breakeven analysis โ it reflects reality.
Cash Position
As of Jun 17, 2026 โ across all 5 WL bank accounts (QBO Balance Sheet, cash basis)
Liquidity read: $68K cash on hand with ~$53K of monthly fixed overhead to cover. That's roughly 1.3 months of runway from cash alone if revenue stopped tomorrow. The big lever is collecting AR ($257K outstanding per the section above) โ once that lands, runway extends to 6+ months even at zero new revenue.
Snapshot โ As of Today
Two independent ledgers โ AR from Jobber, AP from vendor statements. Source-of-truth separated.
Owed to Us (Open AR)
$256,940
Gross from 18 open Jobber invoices (as of Jun 15)
We Owe (Open AP)
$50,653
From 4 vendor statements with active balances
AR minus AP
+$206,287
Cash position once AR collects, AP pays
One-line read: Williams Landscaping is owed ~$257K from customers and owes ~$51K to vendors โ comfortable net position. Two things drive the picture: Kanata Woods Inc owes $159K (62% of AR) and Ritchie Feed is owed $26K (51% of AP). Those two relationships are the whole story right now. Caroline Risi paid $944 by e-transfer Jun 15 (sitting in QBO For Review, awaiting categorization + Jobber update).
Customer credit balances โ $187K held across 23 active client relationships. This is money already received against work that's either not yet started or still in progress (e.g., Jona Marquis $46K, Cooperators $32K, Steve & Kathryn Clay $12K). NOT netted against AR โ tracked separately.
Most Urgent โ Pay or Chase This Week
Ranked by aging ร value, not alphabetical or by size alone
Pay This Week (past due โ oldest first)
Vendor
Balance
Aging
Why now
Robertson Rent-All
$14,707
61-90 day items in aging
Oldest aged exposure. $5K already paid down between Jun 1-12, keep going.
Stinson Fuels
$3,176
~30 days past May 15 due
Net after the $5K paid May 5. Net 10 terms means high interest charges accruing.
Sterling Ford
$1,051
31-60 days aged
All 5 April parts invoices now aged. Small balance, easy to clear.
Coming Due Within 30 Days
Vendor
Balance
Aging
Why watch
Ritchie Feed & Seed
$26,051
Current per Jun 2 statement
Largest AP balance. Growing fast: $3K โ $26K in 30 days. Will age to 31-60 by July if not paid.
Past due โ note customer also holds $19,857 credit balance separately
Monthly View
Pick a month to see what came in and went out
AR โ Invoices Issued
$22,967
8 invoices (Jobber, complete)
AR โ Payments In
$22,784
All cash in (incl. deposits)
AP โ Bills Received
$1,051
Sterling Ford parts only
AP โ Payments Out
$1,071
Capital Hydraulics paid Apr 29
April: Season ramping up. Light AP activity. Capital City Hydraulics settled.
AR โ Invoices Issued
$496,480
36 invoices โ peak month
AR โ Payments In
$167,334
All cash in (incl. $15.6K deposits)
AP โ Bills Received
~$30,500
Ritchie + Robertson + Stinson + SiteOne
AP โ Payments Out
~$22,400
Stinson $5K, SiteOne $14.7K, Delta $886
May: Biggest month โ half a million invoiced. Kanata Woods #2666 ($289K) issued. Ritchie balance grew from $3K to $26K. SiteOne paid $14.7K Visa at sale. Stinson partial $5K. Delta paid May 21.
AR โ Invoices Issued
$112,726
20 invoices through Jun 14
AR โ Payments In
$216,889
All cash in (incl. $17K deposits + $130K Kanata checks)
AP โ Bills Received
~$26,000+
Ritchie more + S&R + Robertson recent
AP โ Payments Out
~$5,000
Robertson $5K credit applied
June so far (through Jun 14): AR pace continuing. Robertson Rent-All paid down by $5K. Ritchie balance keeps climbing โ now $26K. S&R Flooring invoice received Jun 8 ($5.7K).
Note on methodology: "AR โ Payments In" reflects ALL cash inflow per month โ including both invoice payments AND deposits held for future work (per WL's payment cycle: deposit on acceptance โ milestone payment โ final payment). Sum: $22,784 Apr + $167,334 May + $216,889 Jun = $407,006. Of that, $374,289 is invoice payments and $32,585 is deposits held in trust against quotes not yet invoiced. Granting Amanda Jobber Transactions report access would automate this โ currently per-customer manual lookup.
Year-End Items for CPA Discussion
FY 2026 closes Jun 30 โ items to raise before year-end filing
Item
What & Why
Owner / Status
Cash-to-accrual treatment of customer deposits
WL operates on cash basis, but for financial statement purposes the CPA may want to reclass deposits held against unearned work to Customer Deposit Liability on the balance sheet at Jun 30 (rather than leaving them in revenue). Two buckets to discuss: ~$32,585 in deposits against quote-stage jobs not yet invoiced, plus ~$187,086 in deposits applied against in-progress jobs (Jobber Customer Deposit Liability). Confirm preferred treatment.
Raise with CPA before Jun 30 close
WSIB clearance certificate
Eligible-for-clearance email received May 13, 2026 from eClearance@wsib.on.ca (account #6020246 โ 2471135 Ontario Inc.). Clearance certificate on file valid through May 18, 2026. Rep authorization sent to Ryan for approval.
Two account numbers appeared as transfer destinations from the chequing account during audit. Owner identification needed so transactions can be properly categorized before year-end. (See separate June 10 report for full transaction history.)
Awaiting Ryan / Calvin
How to use this list: Items here are not blocking day-to-day operations but should be resolved before the CPA does year-end. Amanda will update status as items close out.
AR Overview
Job-by-job view of everything Apr 1 forward ยท Source: Jobber (sole source of truth)
Total Open AR (gross)
$256,940
18 invoices outstanding (verified Jun 15)
AprโJun Invoiced
$632,173
64 invoices total
AprโJun Collected
$375,233
Cash received in period (incl. Caroline Risi Jun 15)
Past Due
16
$252,260 past due ยท $4,680 not yet due
Concentration risk: Kanata Woods Inc invoice #2666 = $159,184 (62% of all open AR). Once that one pays, AR drops to ~$98K. Whole AR story is really Kanata's collection cycle.
Customer credit balances โ $187K held across 23 active client relationships. This is money already received against work that's either not yet started or still in progress. NOT netted against AR. The reason Jobber's net customer-balance summary shows $202K while true gross AR is $257K โ the difference is these credits sitting on client accounts.
All Outstanding Invoices โ Master List Live from Jobber, verified Jun 14, 2026
Every single open invoice in one place. Sorted by amount, largest first. Bucket views below are sub-categorizations of this same list.
Verified against Jobber live Jun 14, 2026 + QBO bank feed Jun 15. Past due: 16 invoices ($252,260). Not yet due: 2 invoices ($4,680, both Kanata Woods due Jun 19). Caroline Risi #2663 ($943.55) was paid by e-transfer on Jun 15 and removed from outstanding โ payment is sitting in QBO For Review awaiting categorization; her job in Jobber still shows as past-due until invoice is marked paid there.
AR โ View by Month
Drill into a specific month or see the all-period view below
All-Period view active. The full job-status breakdown, pipeline, and customer detail below covers Apr 1 โ today.
Invoices Issued in April
$22,967
8 invoices
Cash In (incl. deposits)
$22,784
All payments dated in April
Jobs that Closed
3
Dan Mirsky, Marc Ouellette, Roy Renaud
Jobs that Started
~12
Spring kickoff
April was the season kickoff. Light invoicing โ peak month was May. Top April customers: Caroline Risi (#2658), Dominique Jolicoeur (#2676 partial), Roy Renaud (#2659 deposit-prepaid). Notable: Roy Renaud paid his entire $2,253 invoice as a deposit Apr 17 before the invoice was issued Apr 27.
Invoices Issued in May
$496,480
36 invoices โ peak month
Cash In (incl. deposits)
$167,334
$151,776 invoice pmts + $15,558 deposits
Jobs that Closed
~12
Balcaran, Marasse, Lebar, etc.
Biggest Invoice Issued
$289,426
Kanata Woods #2666 (May 1)
May = the biggest month so far this year. Half a million in invoices issued. Kanata Woods $289K invoice dominated. $15.6K in customer deposits collected on quote-stage jobs (Mireille Paul, Lisa Gregoire, Brenda Kinsella, Robert Proulx, Laura Sewell). 12 jobs completed and fully paid.
Invoices Issued in June
$112,726
20 invoices through Jun 14
Cash In (incl. deposits)
$216,889
Incl. Kanata $130K checks Jun 3
Jobs that Closed
~9
Aimee, Saunya, Anton, Lorraine, etc.
Biggest Cash Day
Jun 3
$130K from Kanata (3 checks)
June (first 2 weeks) was the biggest cash month so far. Kanata's $130K June 3 check batch dominates. Several recurring CMG invoices issued Jun 2. New Kanata sub-jobs invoiced Jun 12 (#94, #93, #92, plus Revel #2720 $55K).
Pipeline โ Quotes Awaiting Action
$1.06M in pending quotes ยท 50 quotes total ยท Ranked by staleness ร value
Awaiting Response
43 quotes
$932K total
Approved, Not Yet a Job
7 quotes
$132K (mostly Kanata)
Stale (30+ days, no reply)
10 quotes
$445K โ follow up first
Conversion Rate
43%
AprโJun
Stale (30+ days, no response โ follow up FIRST)10 quotes ยท $445K ยท sorted oldest first
+ 19 more recent awaiting-response quotes (sent in last 14 days)
Quick conversion win: 7 Kanata Woods quotes already approved = $131K. Schedule them as jobs and they roll into the existing Kanata workflow.
AP Overview
Vendor-by-vendor from statements (sole source of truth)
Total Open AP
$50,653
4 vendors with active balances
Past Due Now
$18,935
Robertson + Stinson + Sterling Ford
Coming Due 30 Days
$31,718
Ritchie + S&R Flooring
Fully Settled
4 vendors
Capital, SiteOne, Delta, Waste Connections
AP โ View by Month
Drill into a specific month or see the all-period vendor view below
All-Period view active. The vendor detail below covers all open balances + recent activity.
Bills Received
~$1,051
Sterling Ford parts (5 invoices Apr 9โ27)
Payments Made
$1,071
Capital Hydraulics Apr 29
Active Vendors
3
Sterling, Capital, early Robertson
April was light โ pre-season. Only Sterling Ford parts purchases and Capital City Hydraulics paid for snow shoot motor repair ($1,071 Apr 29 via Visa 3319). Robertson Rent-All historical balance carrying forward but no new April bills.
Bills Received
~$30,500
Ritchie + Robertson + Stinson + SiteOne
Payments Made
~$22,400
Stinson $5K, SiteOne $14.7K, Delta $886
Biggest Vendor Bill
~$15K
SiteOne Unilock pavers (paid Visa)
May = season ramped up, materials piling on. Ritchie Feed balance grew from $3K to $26K. Robertson Rent-All equipment rentals throughout. Stinson Fuels billed $8K (partial $5K paid May 5). SiteOne paid $14.7K Visa at sale (May 4). Capital Hydraulics another small invoice paid Apr 29. Delta Power Equip phone repair paid May 21 ($886).
Bills Received
~$26,000+
More Ritchie, S&R Flooring, recent Robertson
Payments Made
~$5,000
Robertson $5K credit applied
Notable
S&R
$5,667 invoice Jun 8, due Jul 8 โ NOT yet entered in QBO
June (first 2 weeks): Ritchie keeps invoicing (now $26K open). Robertson paid down $5K. S&R Flooring Karlson/Glebe Ave invoice received ($5,667). SiteOne small invoice $622. Capital Hydraulics, Delta, SiteOne all current/settled.
Vendor Detail (sorted by urgency)
Most past-due first, then biggest active balance, then coming-due
Robertson Rent-All Inc. $14,707.47 โ oldest aged
Latest statement Jun 12, 2026. Aging buckets show items in 61-90 day range โ oldest aged exposure across all vendors. Paying down โ was $18.5K Jun 1, now $14.7K after $5K credit applied. Action: keep paying down on schedule.
Stinson & Son Ltd. (Fuels) $3,176.40 โ ~30 days past due
Account 61936 ยท 4728 Bank St ยท 613-822-7400 ยท NET 10 days, 2%/month interest
Statement said $8,176 due May 15. $5K paid May 5 against earlier balance, net $3,176 still owing. NET 10 terms โ penalties accruing. Action: pay this week to avoid further interest.
5 April parts invoices totaling $1,051. All now aged 31-60 per Jun 2 stmt. No payments since April. Action: clear this small balance to reset the account.
Waste Connections of Canada $985.97 โ paid (source TBD)
Account 7140-098828-0000 ยท 1152 Kenaston St ยท 613-749-8000
Invoice 7140-0001152503 Apr 30, due May 15. May 11 online payment confirmation received (status SCHEDULED, conf 13144291380). Confirmed paid โ payment source not yet identified (debit not visible in WL bank or CC accounts pulled). Bookkeeping note: confirm with Calvin which account this came from (possibly personal card) so the corresponding journal entry can be coded correctly at month-end.
Ritchie Feed & Seed Inc. $26,051.13 โ biggest exposure
Latest statement Jun 2, 2026. Currently in "current" bucket โ but growing fast: $3.3K (May 4) โ $8.5K (May 15) โ $26K (Jun 2). Will age to 31-60 in July. Noemi sent past-due reminder May 27 for $14K. Action: cut a payment this month to keep it from aging.
S&R Flooring Concepts Ottawa $5,666.67 โ due Jul 8
Invoice INV-00001086 dated Jun 8, due Jul 8 (Net 30). Subcontractor invoice for Karlson Glebe project. Action: enter as Bill in QBO; pay before due date.
Delta Power Equip. Paid May 21 ($885.65)
Customer WILLI264 ยท 479 O'Brien Road, Renfrew
Invoice R19868 paid via Visa 3319. $17.71 late fee written off. Bookkeeping note: Visa charge exists in QBO but Vendor field is blank โ needs Bill Payment link.
Capital City Hydraulics Inc. Paid Apr 29 ($1,070.86)
808 Ventnor Road, Spencerville
Invoices 18821 + 18954 (snow shoot motor + hydraulic hoses). Paid Visa 3319. Settled.
SiteOne Landscape Supply Paid at time of sale ($15,392.82)
May 4 invoice 159048327 ($14,771) + May 21 invoice 166501136 ($622). Both paid via Visa at sale. Settled.
Job Margins โ Completed Jobs Only
23 jobs marked Complete in Jobber as of Jun 15, 2026 ยท Source: Jobber One-off Jobs Report
How this works: Only jobs marked Closed in Jobber are shown. Margins = Revenue โ (Labour cost + Expenses tagged to job). 3 jobs flagged "data unreliable" (no labour cost tracked) โ excluded from totals below.
Total Revenue (reliable)
$102,970
20 jobs with full cost tracking
Total Costs
$60,954
Labour + materials + expenses tagged
Total Profit
$42,016
Avg margin 40.8%
Profitable jobs
18
of 20 reliable
Loss jobs
2
Combined loss $-2,758
Paid in Full
17 / 20
jobs settled
Still Outstanding
$2,972
3 jobs with unpaid balance
๐จ Loss Jobs โ Need Review
Jobs where costs exceeded revenue โ pricing or scope issue
Job
Revenue
Costs
Loss
Margin
#44 Sandra and Danny Fernandes โ Landscaping Construction
$250
$650
$-400
-160.0%
#32 Barry Moskaluk โ Landscaping Construction
$870
$3,228
$-2,358
-271.2%
Barry Moskaluk #32: Armour stone retaining wall quoted at $870 but cost us $3,228 in labour + materials. Looks like the quote was way off โ common issue with under-scoping stone work. Sandra and Danny Fernandes #44: $250 revenue against $650 costs. Small job that didn't cover even basic labour. Either quote was wrong or scope grew.
Top 5 by Profit $
Job
Revenue
Profit
Margin
#58 Aimee Huckriede
$12,260
$5,315
43.4%
#27 Marc Ouellette
$11,560
$5,161
44.6%
#24 Heather Marasse
$11,935
$4,471
37.5%
#76 Tyler Tribble
$6,030
$3,870
64.2%
#10 Lorraine Gareau
$7,440
$3,789
50.9%
By Department
Includes both completed one-off jobs AND recurring contracts with cost data
Department
Jobs
Revenue
Costs
Profit
Margin %
Landscaping Construction
18
$100,340
$60,431
$39,910
39.8%
Summer Maintenance
10
$25,531
$18,457
$7,074
27.7%
Quick read:Landscaping Construction is your moneymaker โ 18 jobs, ~$100K revenue, ~40% margin. Summer Maintenance recurring contracts are dragging โ 10 jobs (or visits), $25K revenue, only 28% margin, with 4 individual contracts actively losing money. The bigger the construction project pipeline you can keep filled, the better the overall margin profile.
By Crew Member โ Margin Profile
Weighted-average margin of jobs each crew member worked on (weighted by their hours) ยท Coverage: 27 of 31 jobs ยท 792 hours of W-2 crew time
Crew Member
Hours
Jobs
Labour $
Effective Rate
Avg Job Margin (weighted)
Jacob Wright-Desjardins
27.3h
4
$794
$29.04/hr
64.5% ๐ข
Jacob Montpetit
7.3h
1
$186
$25.55/hr
64.2% ๐ข
Alex Percy
70.5h
7
$3,392
$48.15/hr
46.5% โ
Brett Watts
36.6h
2
$1,420
$38.81/hr
25.8% โ
Christian Dubuc
16.0h
1
$768
$48.00/hr
25.3% โ
Mark Miron
117.5h
12
$4,238
$36.05/hr
18.6% โ ๏ธ
Craig Pulham
54.8h
4
$2,635
$48.07/hr
17.0% โ ๏ธ
Eric Auclair
31.9h
3
$977
$30.67/hr
8.5% โ ๏ธ
James Barthe
117.6h
10
$4,243
$36.07/hr
5.4% โ ๏ธ
Matt Leduc
80.3h
9
$3,833
$47.72/hr
-6.5% ๐ด
Noah Brake
50.3h
5
$1,816
$36.10/hr
-12.3% ๐ด
Michael Perfetti
182.2h
9
$4,524
$24.82/hr
-17.5% ๐ด
How to read this: If Mark Miron is on a job, that job tends to run 19% margin on average. If Alex Percy is on it, ~47% margin. Higher margin = crew is being assigned to better-priced or better-executed jobs. Doesn't mean the crew member is "better" โ could be they're assigned to the right type of work, or the work is correctly scoped.
๐ด Negative margins (Michael Perfetti, Noah Brake, Matt Leduc) โ what's going on: These crew members worked on the underpriced recurring CMG contracts (Sentinel #49, CMG Perez #52, CMG Gablefield #41, CMG Cookshire #47) which are losing money structurally. It's NOT that they're slow โ it's that those contracts are priced too low. Reprice or rescope the recurring contracts and these numbers improve.
๐ข Standouts โ Alex Percy (46.5%), Jacob Wright-Desjardins (64.5%): Consistently on the cleaner construction projects. Jacob's high margin is small sample (4 jobs) so don't over-read it yet.
Excluded from this table: Kyle Smiley (subcontractor โ no hourly wage tracked through W-2). His hours on recurring jobs are real but not part of the W-2 crew cost picture.
All Completed Jobs โ Master Table
Sorted by margin % ยท click any number to spot-check
Job #
Customer / Project
Closed
Sales
Revenue
Labour
Expenses
Total Cost
Profit $
Margin %
Payment
#63
Condominium Management Group Summer Maintenance Speed bumps (Cookshire ccc 19)
Sandra and Danny Fernandes Landscaping Construction
Jun 01, 2026
Ryan Watts
$250
$561
$89
$650
$-400
-160.0%
Paid in full
#32
Barry Moskaluk Landscaping Construction
May 12, 2026
Ryan Watts
$870
$2,898
$330
$3,228
$-2,358
-271.2%
Paid in full
#72
Ben Clermont Landscaping Construction
Jun 08, 2026
Ryan Watts
$5,590
โ ๏ธ No labour or full cost data tracked โ excluded from margin totals
Paid
#17
Amanda and Ali Balcaran Landscaping Construction
Jun 08, 2026
Ryan Watts
$18,525
โ ๏ธ No labour or full cost data tracked โ excluded from margin totals
Paid
#59
2570025 Ontario INC Landscaping Construction
Jun 12, 2026
Ryan Watts
$1,208
โ ๏ธ No labour or full cost data tracked โ excluded from margin totals
Paid
Recurring Contracts (CMG, Long Holdings, Sentinel)
Recurring maintenance contracts ยท Revenue from invoices ยท Cost data pulled per-job from Jobber
Total Invoiced YTD
$38,286
14 contracts (8 with cost data, 6 without)
Total Costs (tracked)
$17,934
Labour + materials per Jobber timesheets
Profit (tracked subset)
$4,968
21.7% margin on $22,901 revenue
Profitable contracts
4
of 8 with cost data
Loss contracts
4
Combined loss $-3,845
Outstanding
$27,356
Mostly Jun 2 invoices unpaid
Collected
$10,930
29% of invoiced YTD
๐จ Recurring contracts are MUCH lower margin than one-off jobs. Of 8 contracts with cost data, 4 are losing money (Sentinel Mgmt #49 -66%, CMG Perez #52 -64%, CMG Gablefield #41 -42%, CMG Cookshire #47 -18%). The labour cost on these recurring summer maintenance jobs exceeds what's being billed. This is a pricing/scoping conversation worth having with Ryan + Calvin.
Job #
Customer / Property
Invoiced YTD
Labour
Expenses
Total Cost
Profit
Margin
Payment
#90
Condominium Management Group CMG โ recurring
$9,009
โ ๏ธ No timesheet entries tagged to this recurring job โ costs not tracked
Paid
#50
Condominium Management Group CMG (Foxborough)
$6,749
$2,193
$291
$2,484
$4,264
63.2%
$6,749 out
#80
Condominium Management Group
$2,486
โ ๏ธ No timesheet entries tagged to this recurring job โ costs not tracked
$2,486 out
#75
Condominium Management Group Summer maintenance โ Canberra ccc 064
$3,239
$924
$0
$924
$2,315
71.5%
$3,239 out
#38
Condominium Management Group Summer Maintenance Foxborough Pvt ccc 593
$3,065
$775
$192
$967
$2,098
68.5%
$3,065 out
#39
Condominium Management Group Summer Maintenance ccc 600 Foxborough Pvt
$1,483
โ ๏ธ No timesheet entries tagged to this recurring job โ costs not tracked
$1,483 out
#57
Condominium Management Group CMG (recurring)
$1,130
โ ๏ธ No timesheet entries tagged to this recurring job โ costs not tracked
Paid
#56
Condominium Management Group CMG (recurring)
$791
โ ๏ธ No timesheet entries tagged to this recurring job โ costs not tracked
Paid
#63
Condominium Management Group
$486
โ ๏ธ No timesheet entries tagged to this recurring job โ costs not tracked
$486 out
#55
Long Holdings Long Holdings โ recurring
$1,993
$1,552
$305
$1,857
$135
6.8%
$1,993 out
#47
Condominium Management Group Summer Maintenance Cookshire RCC19
$1,813
$2,073
$69
$2,142
$-329
-18.1%
$1,813 out
#41
Condominium Management Group Summer Maintenance Gablefield ccc 591
Condominium Management Group Summer Maintenance Perez ccc 162
$3,034
$3,956
$1,020
$4,976
$-1,942
-64.0%
$3,034 out
How the data was gathered: Jobber's Recurring Jobs report doesn't expose labour/expense columns, but the data IS tracked per-job. I scraped each recurring job page directly to pull crew timesheet costs + expense totals. 6 contracts show no labour tracked โ either crews haven't been logging hours to those jobs, or the jobs are too new to have visit data yet. "100% margin" rows aren't really 100% โ they're "no cost data tracked." True margins on those contracts unknown.
Methodology & Data Quality
Population: 23 jobs marked Closed in Jobber's Jobs page (Status: Archived) as of Jun 15, 2026. One-off project jobs only โ recurring contracts handled separately.
Revenue: Total invoiced for the job (regardless of payment status).
Labour cost: Sum of crew timesheet entries tagged to the job ร each crew member's wage rate (per Jobber's auto-computed costing).
Expenses: Sum of receipts/materials tagged to the job in Jobber's Job Expenses section.
Excluded from margin: Overhead (rent, insurance, vehicle leases, owner draws). General fuel charges are included when tagged to a specific job.
3 jobs flagged unreliable: Ben Clermont #72, Amanda Balcaran #17, 2570025 Ontario #59 โ show $0 labour cost despite revenue. Either timesheets weren't logged to job or wage rates not set for assigned crew. Excluded from totals but shown for visibility.
Loaded labour note: Jobber's labour cost uses base hourly wage only. Doesn't apply the 1.1627 burden multiplier for CPP/EI/vacation. True margins are slightly lower than shown โ apply load factor for true cost.