Williams Reporting Dashboard

Home Β· Job Margins Β· AR Β· AP Β· For Your Attention Β· Updated weekly by Amanda
Jobber data (AR): refreshed live Aug 15, 2026. Job Margins cost-rate comparison: verified live against Jobber Team settings & Wagepoint Aug 15, 2026 (job/crew revenue & hours data still from the Aug 13 pull). QBO data (Home cash/P&L/HST): refreshed live Aug 15, 2026, Cash basis. AP: rebuilt Aug 16, 2026 from supplier statements — Robertson Aug 1 and Ritchie Aug 4.

The Numbers Ryan & Calvin Need to Hit

FY 26-27 (Jul 1, 2026 – present) is the current year. FY 25-26 closed Jun 30.
FY 26-27 YTD (Jul 1 – Aug 15, 2026), Cash basis:

Revenue: $395,844 Β· Total Costs: $383,846 (COGS $194,546 + Operating Expenses $189,300) Β· Other Income: $34
Net Profit YTD: $12,032 Β· 3.0% net margin
Last year β€” FY 25-26 final (Jul 1, 2025 – Jun 30, 2026), Cash basis:
Revenue $2,668,932 − Total Costs $2,377,688 + Other Income $12,107 = Net Profit $303,350 Β· 11.4% net margin.

Where the Money Is & What's Owed

As of Aug 15, 2026 Β· QBO Chart of Accounts, Cash basis Β· bank balances = actual TD numbers

Cash in the bank

Main Chequing (**5464)
$22,270
Main Savings (**3674)
$76
Koho prepaid card (1320)
$5,126
Total cash on hand
$27,471
The Q2 HST payment ($51,046) went out this period.

Credit card balances

Ryan Visa (2111)
$4,815 owed
Calvin Visa (2112)
$1,671 in credit
Christian Visa (2113)
$1,532 owed
Craig Visa (2116)
$619 in credit
Net Visa Position
$4,058 owed

Other debts & obligations

Owed ToAmountNotes
HST β€” Q2 2026 (Apr–Jun)$51,046
HST β€” Q3 2026 (Jul–Sep, so far)$18,154Due Oct 31, 2026
WSIB β€” Q2 2026$0 owed
BDC Loan$51,880Paying down monthly
TDAF Loan$12,212
Ford F250 Loan$9,867

Profit & Loss β€” Year to Date

FY 26-27: Jul 1 – Aug 15, 2026 (~6.5 weeks). Cash basis. From QBO P&L.
Total Revenue
$395,844
4000 Sales $394,999 + 4200 Maintenance $845
Total Costs
$383,846
$194,546 COGS + $189,300 Operating Expenses
Other Income
$34
Interest earned
Net Profit YTD
$12,032
3.0% net margin

Operating expense breakdown

AccountYTD $
Wages (incl. Manulife $1,764)$109,632
6100 Auto & Truck Expenses (lease $21,194 Β· fuel $13,038 Β· R&M $830)$35,062
6225 Equipment Rental$10,312
6250 Insurance Expense$9,352
6000 Accounting & Legal$9,000
6600 Small Tools, Parts & Supplies$2,813
6350 Meals & Entertainment$3,189
6800 Utilities$2,645
6550 Repairs & Maintenance (incl. dump fees $338)$2,441
6150 Computer & Internet$1,679
7515 Dues & Subscriptions$1,173
6400 Office Expense$1,158
7510 Bank Service Charges$194
6750 Travel Expense$142
6700 Telephone Expense$132
6050 Advertising & Promotion$374
Total Operating Expenses$189,300
Net Profit YTD$12,032

By month

MonthRevenueCOGSOpexProfit
July 2026$192,273$142,541$126,598-$76,832
August 2026 (through Aug 15)$203,571$52,005$62,702$88,864
FY 26-27 YTD$395,844$194,546$189,300$12,032

Last year β€” FY 25-26 final quarterly revenue

QuarterRevenue
Q3 2025 (Jul–Sep)$751,441
Q4 2025 (Oct–Dec)$581,155
Q1 2026 (Jan–Mar)$534,050
Q2 2026 (Apr–Jun)$802,286
FY 25-26 Total$2,668,932

CRA Cross-Reference β€” HST Filings

Business Number 816916761 RT0001 Β· Quarterly HST filer Β· Cash basis
QuarterSalesNet TaxStatus
Q3 2025 (Jul–Sep)$751,441$47,707
Q4 2025 (Oct–Dec)$582,456$22,151
Q1 2026 (Jan–Mar)$534,050$35,038
Q2 2026 (Apr–Jun 30)$809,622$51,046
Q3 2026 (Jul–Sep, in progress)$398,422 so far$18,154 so farDue Oct 31, 2026

Snapshot β€” As of Today

AR: live from Jobber, Aug 15, 2026.
Open AR Balance
$217,731
42 invoices Β· live Aug 15

Chase This Week (AR)

Ranked by aging Γ— value
CustomerInvoiceBalanceStatus
Kanata Woods Inc #2783 $34,080 2 days late
Kanata Woods Inc #2666 $28,943 106 days late
Revel Construction #2720 $7,967 64 days late
Simon Fuller #2731 $7,532 45 days late
Muhamad Adatia #2756 $7,698 27 days late

Monthly View

Cash in vs. cost of goods, by month. Cash basis.
Revenue (cash in)
$97,428
COGS
$39,148
Revenue (cash in)
$254,290
COGS
$124,460
Revenue (cash in)
$316,048
COGS
$93,085
Revenue (cash in)
$192,273
COGS
$142,541
Net profit
-$76,832
Revenue (cash in)
$203,571
Aug 1-15
COGS
$52,005
Net profit
$88,864

Year-End Items for CPA Discussion

FY 2026 (Jul 2025 – Jun 2026) closed Jun 30
ItemWhat & WhyOwner / Status
Cash-to-accrual treatment of customer deposits Reclass deposits held against unearned work to Customer Deposit Liability at Jun 30. Raise with CPA
Mystery accounts identified βœ… Account **9069 = Ryan's old personal chequing. Account **9840 = Williams Depot.
Williams Depot Related Party balance Inter-company balance sits at $28,345.20. Year-end item for Lekadir
Q4 2025 HST variance Small stale legacy variance from the prior bookkeeper vs. CRA's assessed return. Year-end item for Lekadir
Long-Term Debt verification BDC $51,880 Β· TDAF -$12,212 Β· Ford $9,867 per QBO. BDC paperwork has come through. The two vehicle loan statements, TDAF and Ford, have not. Nothing can be reconciled without them. Also worth noting TDAF sits in QBO as a negative, which a loan should not. TDAF + Ford statements needed

Compliance Calendar β€” What's Due When

Updated Aug 15, 2026.
⚑ Coming up: Payroll input cutoff Tuesday Aug 18 by noon. Next payday: Friday Aug 21.

Next 90 days

DateItemNotes
2026-06-30 FY26 Year-End Jun 30 close = $161,895 cash. Final Net Profit $303,350.
2026-07-31 WSIB Q2 + HST Q2 filings
2026-08-31 Corporate tax instalments (if applicable) Lekadir determines schedule and amounts.
Biweekly payroll cycle: Tuesday noon cutoff, Friday payday. Upcoming: Aug 21, Sep 4, Sep 18, Oct 2.

Later 2026 / Q4

DateItemWhat's needed
2026-10-31WSIB β€” Q3 2026 premiumInsurable earnings for Jul-Sep 2026.
2026-10-31HST Q3 2026 filingCurrently accruing at $18,154 net tax.
2026-12-31T2 Corporate Tax ReturnLekadir prepares and files.
2026-12-31T5018 Subcontractor ReportingPayments > $500 for the fiscal year.

Early 2027

DateItemWhat's needed
2027-01-31HST Q4 2026 filingQuarterly.
2027-01-31WSIB β€” Q4 2026 premiumInsurable earnings for Oct-Dec 2026.
2027-02-28T4 Slips FiledWagepoint handles automatic filing.
2027-03-31WSIB Annual Reconciliation
2027-04-30HST Q1 2027 filingQuarterly.

AR Overview Live from Jobber, refreshed Aug 15, 2026

Invoice-by-invoice view of everything owed · Source: Jobber Aged Receivables (sole source of truth) · pulled directly from the report's own JSON feed and hand-verified to the penny against Jobber's "Report totals" row
Open AR Balance
$217,731
42 invoices · live Aug 15 · was $209,988 / 45 invoices on Aug 13
Biggest single item
$34,080
Kanata Woods #2783 — brand new, just 2 days past due
Oldest / most aged
106 days
Kanata Woods #2666, due May 1 — still unpaid, still the real chase priority
Kanata Woods concentration
$94,414
5 invoices · 43% of all open AR — one client is now almost half the book
Open AR moved from $209,988 (45 invoices, Aug 13) to $217,731 (42 invoices, Aug 15) — up about $7,742 in two days, but that net figure hides more churn than it shows. Six invoices got paid off since Aug 13: Cooperators #2781 ($23,269, the largest single collection), Stuart Gray #2786 ($5,725), and four smaller CMG invoices (#2738, #2739, #2762, #2792) totaling roughly $11,300. Against that, Kanata Woods added two large new invoices — #2782 ($7,955) and #2783 ($34,080), both dated Aug 13 — and Lisa Gregoire opened a new $6,131 balance. Aging: 60+ days $36,909 (still almost entirely Kanata's #2666) · 30–59 days $27,715 · under 30 days $153,106. Chase priority hasn't changed: Kanata Woods #2666, $28,943, 106 days — the single oldest, largest-aged, and most persistent item on the book, now compounded by the fact that Kanata alone carries $94,414 (43%) of total AR across its 5 open invoices. Worth a direct conversation with that client about their payment cadence, not just a reminder email. Every invoice below links to a pre-filled reminder email.

All Outstanding Invoices β€” Master List Verified live from Jobber Aug 15, 2026 · 42 open invoices

Every open invoice, largest balance first. Age = days since due date. Customer name links to a pre-filled reminder email (bcc accounting@williamslandscaping.ca).
CustomerInvoice #BalanceDueAge
Kanata Woods INC#2783$34,079.942026-08-132d
Kanata Woods INC#2666$28,942.562026-05-01106d
Kanata Woods INC#2768$13,153.202026-07-2917d
Kanata Woods INC#2777$10,283.002026-08-069d
Elizabeth Shaw-Wood#2790$9,878.112026-08-105d
Revel Construction#2720$7,966.502026-06-1264d
Kanata Woods INC#2782$7,955.202026-08-132d
Muhamad Adatia#2756$7,698.392026-07-1927d
Simon Fuller#2731$7,532.052026-07-0145d
Charles and Lisa Lowson#2791$6,460.742026-08-105d
Lisa Gregoire#2801$6,131.382026-08-141d
Condominium Management Group#2758$6,087.622026-07-2125d
Condominium Management Group#2794$6,087.622026-08-123d
Michael Azzi#2780$5,611.382026-08-0510d
Condominium Management Group#2752$3,239.342026-07-1531d
Condominium Management Group#2753$3,239.342026-07-1531d
Condominium Management Group#2763$3,239.342026-07-2125d
Condominium Management Group#2787$3,239.342026-08-105d
Condominium Management Group#2788$3,239.342026-08-105d
Condominium Management Group#2789$3,239.342026-08-105d
Condominium Management Group#2798$3,239.342026-08-123d
Condominium Management Group#2735$3,064.562026-07-0244d
Condominium Management Group#2759$3,064.562026-07-2125d
Condominium Management Group#2795$3,064.562026-08-123d
Condominium Management Group#2764$3,033.672026-07-2125d
Condominium Management Group#2793$3,033.672026-08-123d
Condominium Management Group#2754$2,825.522026-07-1531d
Condominium Management Group#2755$2,158.302026-07-1531d
Long Holdings#2799$1,992.562026-08-123d
Condominium Management Group#2797$1,812.702026-08-123d
Condominium Management Group#2734$1,717.602026-07-0244d
Condominium Management Group#2761$1,717.602026-07-2125d
Condominium Management Group#2746$1,638.502026-07-0739d
Condominium Management Group#2736$1,483.332026-07-0244d
Condominium Management Group#2760$1,483.332026-07-2125d
Condominium Management Group#2796$1,483.332026-08-123d
Sentinel Management Inc#2800$1,291.962026-08-123d
snow -care works#2778$960.502026-08-0411d
Condominium Management Group#2745$641.442026-07-0739d
Condominium Management Group#2757$318.662026-07-2125d
snow -care works#2779$226.002026-08-0411d
Revel Construction#2727$175.152026-06-2452d
Total open AR · 42 invoices$217,730.57
Verified against Jobber live Aug 15, 2026 — pulled from the Aged Receivables report's own JSON feed (not the on-screen summary, which sums the wrong column) and manually reconciled to the penny. 42 open invoices, $217,730.57 owing. Kanata Woods $94,414 (5 invoices) and Condominium Management Group $67,392 (25 invoices) are 74% of the balance between them — Kanata alone is now 43%. Cooperators' $23,269 invoice, the third-largest item on the Aug 13 list, has been paid off in full.

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 Refreshed live from Jobber Aug 13, 2026

Open quote pipeline · 70 open quotes, $1,642,421.99 total · 64 awaiting response · 6 approved-not-converted · ranked by staleness. Quote #1089 "Ryan Watts test" (internal test entry) has been removed from this pull.
Awaiting Response
64 quotes
$1,498,281 open pipeline
Stale (30+ days, no reply)
$1,343,260
54 quotes — chase these first
Approved, Not Yet a Job
6 quotes
$144,141 — 4 are Kanata ($76,993)
Cooling (15–29 days)
$36,351
4 quotes — check in soon
Quote #1089 "Ryan Watts test" ($44,943, was flagged here since July) has been removed from the pipeline — it's an internal test quote under Ryan's own email, not a real client. It's out of every number on this page. Worth deleting it in Jobber directly so it doesn't reappear next refresh.
Stale (30+ days, no response — follow up FIRST) 54 quotes · $1,343,260 · oldest first (top 15 shown)
QuoteCustomerDaysAmount
#1027Lara & George Badke147$48,168.51
#1028Paul Sarkozy140$23,468.97
#1032Long Holdings130$12,260.50
#1036Brock Beaulne121$42,171.60
#1035Brock Beaulne121$181,404.55
#1037Shirley Vida120$40,412.19
#1044Shirley Vida113$13,890.53
#1046Alisha Nash107$18,469.85
#1063Jen Nodder105$16,379.35
#1070Condominium Management Group104$395.50
#1060Siobhan Pedersen100$21,210.10
#1059Cathleen De Groot100$21,940.08
#1054Dominic Laroche100$4,339.20
#1049Arvin Jain100$36,216.50
#1048Marc Andary100$8,667.10
+ 39 more stale quotes ($853,866)
Cooling (15–29 days) $36,351 · all 4 shown
QuoteCustomerDaysAmount
#1162Garry Timco24$12,147.50
#1168Kanata Woods INC23$2,848.96
#1170Sentinel Management Inc23$2,687.14
#1173Yasir Khanzada22$18,667.60
Approved — not yet converted to a job (schedule these) 6 quotes · $144,141 · live Aug 13
QuoteCustomerStatusAmount
#1160Gemini TowersApproved$60,243.41
#1113Kanata Woods INCApproved$36,734.93
#1114Kanata Woods INCApproved$21,951.29
#1115Kanata Woods INCApproved$9,203.29
#1161Kanata Woods INCApproved$9,103.97
#1123Caroline MacDougallApproved$6,904.30
Total approved, not converted$144,141.19
Recent (under 15 days): $118,669 across 6 quotes — can be given time, not chased yet.

Chase priority: $1,343,260 sits in quotes 30+ days old with no reply, and the pipeline has grown substantially since mid-July (was $561,637 stale on Jul 15) — this bucket is overdue for a systematic push, not just the top few. The oldest is Lara & George Badke #1027 ($48,169, 147 days). Every row above links to a pre-filled follow-up email.

AP Overview Supplier statements received by email · Robertson Aug 1, Ritchie Aug 4, 2026

What Williams owes its trade suppliers. Source: the statements of account the suppliers themselves emailed to accounting@williamslandscaping.ca. Every figure below reconciles line by line to the statement PDF it came from.
Total Open AP
$91,343
Ritchie $85,221 + Robertson $6,122 · was ~$43,558 on Jul 9
Ritchie, aged past 30 days
$56,240
66% of the Ritchie balance. Nothing past 60 yet
Robertson, trending down
$6,122
$14,707 in June, $10,146 in July, $6,122 now
Suppliers sending statements
2
Ritchie and Robertson. Nobody else does
AP roughly doubled between Jul 9 and Aug 4, and it is all one supplier. Ritchie Feed & Seed went from $33,412 to $85,221. Robertson went the other way, down from $10,146 to $6,122. The Ritchie jump is not new spending that was hidden, it is June and July materials invoices coming due on a balance that has had exactly one payment against it since July 2.

The Kanata problem, seen from the payables side

This is the single most useful thing on this page
Kanata owes Williams
$94,414
5 open invoices · 43% of all AR
Williams owes Ritchie, for Kanata
$63,028
7 invoices · 74% of the Ritchie balance
Tied up in one address
$157,442
180 Kanata Ave, both sides of the ledger
Williams is financing 180 Kanata Ave twice. The receivable is stuck at $94,414 and the materials that went into that job are sitting unpaid at Ritchie for $63,028. Neither side is moving. Collecting Kanata is not just an AR job, it is what clears the largest payable on the books. If Kanata pays, Ritchie gets paid and the aging problem goes away in one transaction. That makes the Kanata conversation a cash-flow conversation rather than a collections one.

AP — View by Month

Vendor email traffic and statement positions by month
All-Period view active. The vendor detail below covers every open balance as at the latest statement from each supplier. April and May are not shown because there was almost no supplier billing activity in those months, which fits the season: two vendor emails in May, none in April.
Ritchie Kanata Invoices
$54,076
4 invoices dated Jun 18 to Jun 26, all still open
Robertson Balance, Jun 12
$14,707
The high point for this supplier
Where It Went
180 Kanata
Pavers, Permacon, Orion wall block, Gator products
June was the year-end month and the heaviest materials month of the season. Four Ritchie invoices dated Jun 18 to Jun 26 total $54,076 and every one of them is 180 Kanata Ave. They are all still sitting open on the August statement, which is what pushed $56,240 of the Ritchie balance past 30 days. Robertson also peaked in June before starting to come down.
Paid to Ritchie
$25,000
Jul 2 · the last payment that supplier has received
New Ritchie Kanata Invoices
$8,952
Jul 20 and Jul 24 · 3 invoices, all 180 Kanata
Robertson Paid Down
$4,024
$10,146 at Jul 1 down to $6,122 at Aug 1
One large payment went out on July 2 and then nothing else went to Ritchie. Meanwhile another $8,952 of Kanata materials was invoiced on Jul 20 and Jul 24. Robertson kept getting paid steadily through the month and finished it clean. July was also by far the busiest month for supplier billing in the accounting inbox, with 33 vendor invoices and statements arriving, most of them Robertson rental invoices.
Open AP at Statement Date
$91,343
Robertson statement Aug 1, Ritchie statement Aug 4
Billed After the Statements
4 items
3 Robertson rentals Aug 5-6, 1 Ritchie invoice Aug 7 · not in the $91,343
Next Statements Due
~Sep 1 / Sep 4
Robertson around the 1st, Ritchie around the 4th
Both statements landed in the first week of August and both are reflected in the numbers on this page. Worth knowing that billing did not stop when the statements were cut: Robertson billed three more rentals dated Aug 5 and Aug 6, and Ritchie sent another invoice on Aug 7. Those sit on top of the $91,343 and will land on the September statements.

Vendor Detail

Largest balance first · Source: statements of account emailed to accounting@williamslandscaping.ca

Ritchie Feed & Seed Inc. $85,221.00 owing

Customer W08810 · 1390 Windmill Lane, Gloucester · 613-741-4430 · Contacts: Noemi Olvera-Guevara and Scott Endicott · Statement of Account for July, emailed Aug 4, 2026

Aging

BucketAmountShare
Current$28,981.3234%
Over 30 days$56,239.6866%
Over 60 days$0.00
Over 90 / 120 days$0.00
Total owing$85,221.00100%

Last payment received: Jul 2, 2026, $25,000.00. Nothing since. All 30 lines on the statement reconcile to the total and the aging split ties exactly. Ritchie drops paid invoices off the statement rather than showing them as credits, so this statement is the open payable in full, with nothing hiding behind it.

$63,028 of it is 180 Kanata Ave

DateInvoiceJob reference on the invoiceAmount
2026-06-181111452180 KANATA$10,309.80
2026-06-251111548KANATA WOODS$1,683.91
2026-06-261111519180 KANATA AVE$19,583.40
2026-06-261111520180 KANATA AVE$22,498.97
2026-07-201111771180 KANATA$7,563.86
2026-07-201111857180 KANATA AVE$180.80
2026-07-246798837180 KANATA$1,207.71
Kanata subtotal$63,028.45
Everything else on the statement$22,192.55
Total per Aug 4 statement$85,221.00

Other jobs named on the statement: 625 Glenhurst Cres $12,157.96 and 543 Baie des Castors $6,211.30, plus smaller amounts against Job 38, Job 25, Job 99, Job 11, Job 6, and two snow work lines.

One thing to confirm with Ritchie before remitting: the July version of this page flagged a $10,000 prepay to Ritchie made in June, and asked whether it was still an open credit. The August statement shows the Jul 2 payment of $25,000 as the most recent one and does not carry the prepay as a separate open credit, which most likely means it has already been applied. Worth a one-line confirmation from Noemi so nothing gets paid twice.

Robertson Rent-All Inc. $6,122.40 owing

Account 000195 · 236 Vanguard Dr · 613-983-7368 · Equipment rentals · Statement emailed Aug 1, 2026

Aging

BucketAmount
Current and 1-30 days$6,122.40
31-60 days$0.00
61-90 days$0.00
90+ days$0.00
Total owing$6,122.40

Three statements in a row, all going the right way

Statement dateTotal due31-60 days61-90 days
Jun 12, 2026$14,707.47$259.44
Jul 1, 2026$10,146.01$7,757.88$0.00
Aug 1, 2026$6,122.40$0.00$0.00

Down $8,585 in seven weeks with nothing aged past 30 days any more. The Aug 1 statement is 27 rental invoices dated Jun 9 through Jul 31, splitting $5,418.05 net plus $704.35 HST. Robertson is the vendor relationship that is working properly, and it is worth keeping it that way given how much equipment gets rented in a season.

Robertson emails an invoice for every single rental. 19 of them arrived in the accounting inbox over the period, which is why this account is easy to keep clean. Three more completed orders came through on Aug 6 and 7 that are not in the $6,122.40 above.

What this page does not cover yet

Being straight about the edges of the number at the top
$91,343 is a complete, reconciled figure for two suppliers. It is not the whole payables picture. Ritchie and Robertson are the only two suppliers that email Williams a statement of account. Other suppliers do turn up in the accounting inbox, but as one-off invoices and receipts rather than a running balance, so there is no way to tell from here what is still outstanding with them.

Other suppliers seen in the accounting inbox, no statement

SupplierWhat arrivesLast seenRunning balance?
Ritchie Feed & SeedInvoices and a monthly statementAug 7, 2026
Robertson Rent-AllPer-rental invoices and a monthly statementAug 7, 2026
WagepointSubscription invoicesJul 23, 2026No statement
W.O. Stinson & SonFuel, forwarded payment confirmationsJul 16, 2026No statement
Sterling FordParts receipts, forwarded by RyanJul 30, 2026No statement
VistaPrintTax invoices, forwardedAug 3, 2026No statement
The fix is small and it is a one-time job. For any supplier that extends trade credit, ask their accounts department to add accounting@williamslandscaping.ca to their statement distribution. That is one email each. Once they are on the list, this page becomes the real payables position every month instead of two suppliers plus guesswork, and it stops being possible for a balance to build up quietly the way the Ritchie one did between May and August.
Open Questions
Needs a decision

Ritchie has had one payment since July 2 and $56,240 of the balance is now past 30 days

Ritchie is at $85,221 with two thirds of it aged. Nothing is past 60 days yet, so the account is not in trouble, but the trend is one direction: $33,412 in early July and $85,221 now, with a single $25,000 payment against it in that stretch.

$63,028 of the balance is 180 Kanata Ave materials, and Kanata owes Williams $94,414 on the other side. Those two facts belong in the same conversation.

What we need from you: what the plan is for Ritchie this month, whether a payment goes out ahead of the Kanata collection or waits on it, and whether anyone has spoken to Noemi or Scott about terms. Ritchie is the main materials supplier, so the relationship matters more than the balance does.

Quick win

Get Williams onto the statement list for the other suppliers

Ritchie and Robertson are the only two suppliers sending a monthly statement of account. Everyone else shows up as loose invoices and receipts, which means there is no reliable way to know what is still outstanding with them.

All it takes is a quick ask to each supplier's accounts department to add accounting@williamslandscaping.ca to their statement distribution. Whoever holds the relationship with each supplier is the fastest person to do it.

Who to ask first: the suppliers where Williams runs an account rather than paying at the counter. If you can list which of the regular suppliers extend terms, that is the list worth working through.

Job Margins — Crew Level Revenue/hours: Aug 13, 2026 · window May 1 – Aug 13. Cost-rate accuracy: verified live Aug 15, 2026

All 60 one-off jobs in the window, rolled up by crew. Crew-level only, per Amanda's 2026-07-23 call with Ryan & Calvin — the individual-by-individual table that used to live here is retired: it produced allocation artifacts on shared jobs (one person showing -1333%, another 96.5%) and the guys were right to reject it. No margin here traces back to a named person.
These are Jobber-tracked costs, not full gross margin. Cost = tagged labour-hours × Jobber's configured cost rate (a fully burdened rate — wage plus payroll burden), plus tagged materials/expenses/subs. It does not include vehicle, equipment, fuel, insurance, or overhead. Kyle Smiley is configured at $0.00/hr instead of a burdened rate, so any job he works shows an inflated margin because his real cost isn't counted at all. (Leon Nguyen is also at $0.00/hr, but that one is correct — he works in sales, not on jobs, so his hourly pay is a selling cost and belongs in overhead rather than on a job. His commission is a different matter and is covered on the For Your Attention tab.) Kyle's hours are tagged to the right jobs (confirmed directly on job #38 and others) — the cost just doesn't follow, and it's not close: a company-wide search of every expense in this Jobber account for "Kyle" and "Smiley" turned up zero entries, ever. The workflow to fix this already exists and is used for other subcontractors, it's just never been applied to Kyle's invoices. Treat these margins as a relative ranking of crews, not a P&L, and read Crew B jobs as overstated rather than understated.
Total Revenue
$1,399,470
60 jobs, full window
Jobber-tracked Costs
$650,848
Tagged labour + materials + subs (excl. vehicle/equip/overhead)
Jobber margin $
$748,622
53.5% margin — inflated by data gaps, see caveat below

Jobber seat gap Confirmed against Jobber Team settings, Aug 15, 2026

4 people have no Jobber seat at all — Josh Poulin, Mark Miron, Jacob Montpetit, and Vsevolod Zemlianskikh — meaning they can't log their own hours. If their time is showing up on jobs, someone else is entering it manually on their behalf; worth confirming who and how accurately.

By Crew

Every crew row carries its jobs-with-no-time count, so coverage sits next to the margin
CrewJobsHoursRevenueCostProfitMarginJobs, no time logged
D + E combined11,977$517,322$289,590$227,73244%0
C71,592$275,265$134,948$140,31751%0
No crew assigned *19421$163,783$14,121$149,66191%16
A + E2163$52,068$15,764$36,30470%0
A + C1206$135,476$15,823$119,65388%0
E8372$78,252$43,476$34,77644%2
C + D5620$81,943$65,305$16,63720%1
A6342$51,567$35,095$16,47232%0
D2107$25,808$8,887$16,92166%1
Multi-crew (3+)4766$9,907$25,803-$15,896-160%0
B *20$4,410$0$4,410100%2
B + subcontractor13$430$61$36986%0
C + E131$3,240$1,513$1,72753%0
B + C126$0$462-$4620
Total60~6,625$1,399,470$650,848$748,62253.5%16 jobs
*The two starred rows aren't real profit — they're missing cost. "No crew assigned" (91%) is $163,783 of revenue where 16 of 19 jobs have zero time logged. Crew B's 100% reflects that their condo-contract time isn't reaching job costing at all — Crew B actually logged 1,431 hours across 18 jobs in the timesheets (see the hours table below), but only ~30 of those hours show up on this report. That's a separate, structural gap from the Kyle Smiley finding below (his hours do land on the jobs he works — it's specifically his cost, via a $0 configured rate and zero logged Expenses, that's missing) — both point the same direction, so Crew B's true cost is even further understated than this table shows. Treat both as data gaps, not performance. Craig + Eric (Crew A) is the most fully-costed standalone crew and runs at 32% — a more realistic benchmark than the 53.5% headline.

Time Tracking — Where Hours Are Landing

90-day window (May 15 – Aug 13), 1,639 timesheet entries. 97.3% of hours land on a numbered job rather than being left unattributed — this is a credit to the crews.
Read the 97.3% as "tracked," not "billable." Williams uses numbered internal codes alongside customer jobs — #34 Williams shop, #42 Williams office work, #65 2026 Williams Summer, #70 Williams Gopher — and time logged to those counts as a job in this table even though it isn't customer work. Confirmed Aug 16: all of Leon's time sits on #42, and Kyle Smiley posts to #42 and #65 as well. So the discipline figure is genuine, but the share of hours reaching revenue-earning work is lower than 97.3% and hasn't been separated out yet.
CrewJob hoursGeneral (unattributed)% to a real jobDistinct jobs
D1,4992298.5%9
E1,4382898.1%16
B1,4314397.1%18
C1,3056995.0%13
A9992797.4%20
Sales (Leon Nguyen) *2960100%4
Total6,96919097.3%
The remaining 190 "General" hours are concentrated, not spread thin — worth a two-minute conversation about July specifically (94.8 of the 190 hours fell in that one month) rather than a process overhaul.

* Leon is in sales, and none of his time is on client work. Checked entry by entry on Aug 16: across his most recent 115.2 logged hours, 97.1% is Job #42 "Williams office work," with 3.2h on #70 and 0.15h on #34. Zero hours on a client job. So his $0.00/hr cost rate has no effect on any client margin, and the four "jobs" his time appears against are internal codes rather than customer work.

By Service Line

From Products & Services, 90-day window (560 line items, $1,562,133 job value) — a different window than the crew table above, shown separately rather than forced to match
Service lineItemsJob valueShareQuotedInvoiced
Hardscaping244$777,43149.8%$931,520$343,254
Landscaping108$440,00228.2%$286,164$80,937
Decks & Carpentry66$180,65011.6%$350,136$107,830
Unclassified129$144,4949.2%$241,226$103,490
Site work & disposal6$17,9101.1%$24,490$7,063
Snow1$8500.1%$0$850
Maintenance6$7950.1%$791$93,757
Decks & Carpentry is a real, separate service line — $180,650 over 90 days, and the company trades as Williams Landscaping & Decks, so the reporting should reflect it. Maintenance is the tell on Crew B: $795 of job line items against $93,757 invoiced — maintenance revenue is invoiced directly and never passes through job line items, the same structural gap that makes Crew B invisible on the crew table above. $144,494 (9.2%) sits Unclassified because of vague line-item names ("Extras", "Material") — fixable at the estimating stage.

On the labour-cost numbers behind these tables

The cost figures above come from Jobber's own configured cost rates, not a live payroll feed. Real Wagepoint rates are confirmed for all 20 W-2 crew, pulled live from Wagepoint on Aug 13 (see Williams_Real_Pay_Rates_2026-08-13.md) — this also caught 3 unflagged raises (Brett Watts, Eric Auclair, Michael Perfetti) and corrected Vsevolod Zemlianskikh's status from assumed-terminated to still-active. Jobber's configured rate runs higher than the Wagepoint wage because it's a fully burdened rate (wage plus payroll burden) — expected, not an error. Kyle Smiley is a subcontractor, paid outside Wagepoint — not a data gap, just a different cost path, and his rate is separately confirmed at $0.00/hr in Jobber. His hours are tagged correctly to the jobs he worked (confirmed directly, not assumed). What's also now confirmed, Aug 15: his subcontractor pay has never once been logged as a job Expense — a company-wide search of every expense entry in this Jobber account for "Kyle" and "Smiley" returned zero results. That's not a missing feature; the same search found a real "Subcontractor"-tagged expense for a different person (Brandon, $8,094.88 on job #17), so the process exists and works, it's just never been applied to Kyle's invoices. Until someone starts entering them, none of his real labour cost reaches this report, and Crew B's figures stay understated as a direct result.

For Your Attention

Items where Amanda needs Ryan & Calvin's input β€” reply directly by email and Amanda will update this list each weekend.
How this works: each item below has a question or decision Amanda needs from you. Tap Reply by email on any item and it'll open a pre-filled email back to accounting@williamslandscaping.ca β€” just type your answer and hit send. Amanda will reflect your reply in next weekend's update.
Cash & Banking
Time sensitive · cheque returned Aug 13

A $33,620.93 cheque cleared on Aug 11 and a $31,713.45 cheque came back returned on Aug 13 — we don't know who any of them were written to

Three cheques on the TD chequing account have no payee we can verify. There's no invoice on file for any of them and nothing in the accounting inbox referencing the amounts. QuickBooks has auto-suggested a name against these lines, but that's QuickBooks guessing from the amount, not information from the bank, so it isn't being treated as the answer.

DateItemAmountPayee
2026-07-21Cheque #00228$1,200.00Unknown
2026-08-11Cheque #00236$33,620.93Unknown
2026-08-13Returned cheque$31,713.45Unknown

Worth noting the returned cheque is $1,907.48 less than the one that cleared on Aug 11, so it doesn't look like a straight reversal of #00236. It may be a different cheque entirely.

A cheque this size coming back is a cash event, not a coding question. It moves the bank balance, and a cheque can come back either because it was stopped deliberately or because it bounced. Those mean completely different things and only Ryan or Calvin can say which happened.

Until the payee is known, none of this can be posted. $33,620.93 codes as a subtrade, a supplier payment, a related-party transfer, or something personal, and there is no way to tell from the bank line alone.

The fastest answer is the chequebook. Cheques #00228 and #00236 will have a stub or a carbon showing who they were made out to. That single check resolves this faster than anything on the accounting side.

What we need from you:

  • Who cheque #00236 ($33,620.93) was written to, and what it was for
  • Who cheque #00228 ($1,200.00) was written to
  • Which cheque the $31,713.45 return relates to, and whether it was stopped deliberately or bounced
  • Whether it has since been re-issued or settled another way
  • Any invoice behind them, and which job they belong to if they belong to one
Year-End
Most year-end docs are in. Cash withdrawal coding, Williams Depot invoices and the BDC paperwork are collected and are being worked as their own thread rather than carried here every week. The vehicles are what's still open (below). David has sent the vehicle list, so that part is done. What's missing is the cost and financing side, including the TDAF and Ford loan statements.
Half done · need the money side

Vehicles — the list is in, the financial details for year end are not

David has sent through the vehicle details and that part is closed. Makes, models, plates and who drives what are all in hand. Thanks for chasing that down.

What is still missing is the financial side, and that is the part year end actually runs on. Without it the fleet cannot be depreciated properly, the loan balances cannot be tied to specific vehicles, and the auto expense on the P&L cannot be split between what is owned and what is leased.

Per vehicle, this is what's needed:

  • What it cost and when it was bought — purchase price before tax, purchase date, and the date it went into service if that's different
  • Owned outright, financed, or leased
  • If financed — which lender, original amount borrowed, monthly payment, and the current balance
  • If leased — lessor, monthly payment, term end date, and the buyout amount
  • Trade-in — if anything was traded in against it, what it was and what it was valued at
  • Insurance — carrier and the actual premium, monthly or annual

Also, anything sold or written off during the fiscal year (Jul 2025 to Jun 2026) needs flagging separately, with what it sold for. Disposals get missed more often than purchases do and they change the year-end numbers.

Why this can't wait for year end: QBO carries a TDAF loan at $12,212 and a Ford F250 loan at $9,867, and we have no statement for either one. So there's nothing confirming those balances are right, nothing saying which vehicle each loan sits against, and nothing showing what the vehicles originally cost. The TDAF balance is also sitting in QBO as a negative, which a loan shouldn't be, and only the statement will settle whether that's a posting error or something else. Lekadir will ask for all of this.

The single most useful thing you can send is the loan statements. A TDAF statement and a Ford Credit statement would confirm the balances, the payment amounts, and usually the vehicle they're secured against, which answers most of the list above in one go. If they arrive by post rather than email, worth calling both lenders and asking them to add accounting@williamslandscaping.ca to their statement distribution so this doesn't come up again next year.

After that, the bills of sale or finance agreements cover the rest. If those are in a folder somewhere, forwarding the lot is faster than filling anything in.

Sales Commission β€” Leon
Job costing Β· checked Aug 15, 2026

Leon's commission isn't reaching job cost, so those jobs read better than they are β€” plus $2,389.23 that isn't on any job

Went job-by-job in Jobber to trace Leon's 7.5% commission. The process itself is working the way it's meant to. Leon enters his own commission against each job as he closes it, shortly after the deposit clears, and Jobber's activity log confirms it on every job checked. That's correct and it's not the issue here.

The issue is that the commission isn't landing as a cost against the job. It gets recorded, but it doesn't flow through into the job's margin, so every job Leon sells shows a profit figure with the commission left out of it. On a 7.5% commission that's a real distortion, not a rounding difference. Same shape of problem as the Kyle Smiley one below: the entry exists, the cost doesn't follow it.

Commission logged in Jobber (7 jobs)
$7,652.69
Matches the deposit-collected trigger Ryan set
Commission paid via Wagepoint, YTD
$10,041.92
Through pay period ending Aug 1, 2026
Commission with no job behind it
$2,389.23
Paid, but not logged against any of these 8 jobs

To be clear about what the $2,389.23 is: it's commission, not wages. Leon's paystub carries two separate lines and the gap sits entirely inside the commission one.

Leon's paystub, period ending Aug 1This periodYear to dateBelongs on a job?
Regular Pay, at $30/hr — sales time$1,710.00$7,506.90No, overhead
Commission — earned on a specific job$2,287.87$10,041.92Yes, and it isn't
Only the commission line is a job cost. Leon is in sales, so his hourly pay is a selling and overhead cost and it's right that it stays off individual jobs. His commission is different: it's earned on one specific job, it's a direct cost of winning that job, and it should sit against it. That's the whole point of Leon logging it there in the first place. Right now it's recorded on the job but not counted as cost, so the margin on every job he sells is overstated by roughly 7.5%.

Per-job commission logged (7.5% of job value, entered shortly after each job's deposit cleared):

Alexandra Gale-Mouldey
$1,944.38
Dr. Erica Gifford
$1,674.52
Elizabeth Shaw-Wood
$1,473.14*
Tania Oogarah
$823.58
Ozayr Saloojee
$820.79
Dijana Custic
$673.65†
Denis Tanguay
$242.63
Annie Le
$0.00 ‑

* Elizabeth Shaw-Wood's entry is ~$66 short of a clean 7.5% calc against her current job subtotal, no adjustment note on file   † Dijana Custic's entry is explicitly noted "7.5% less asphalt disposal and repave"   ‑ Annie Le's deposit ($13,788.26 β€” the largest of the eight) cleared Aug 4; every other job had commission logged same-day to 4 days after its deposit. This one is 11 days out with nothing recorded.

Two things to sort out:

  • Get the commission counting as a job cost. The amounts are already sitting on the right jobs. They just need to be entered so Jobber picks them up as an expense against the job rather than a note beside it. Once that's done these jobs report a true margin and the sales cost stops being invisible.
  • Find the $2,389.23 of commission. $10,041.92 has been paid and $7,652.69 is logged across the eight jobs above. Leon started in June, and those eight jobs span Jun 25 to Aug 4, so they should be close to everything he's sold. That makes "commission on some older job we missed" an unlikely explanation and leaves the difference genuinely unexplained. Calvin keys the payroll, so he's the one who can say what the extra was calculated against.

Full per-job detail and dates are in Williams_Leon_Commission_Verification_2026-08-15.md.

Job Costing Accuracy
Job costing gap Β· verified Aug 15, 2026

Kyle Smiley's subcontractor pay has never been logged as a job cost β€” not one dollar, ever

Kyle's hours are tagged to the right jobs β€” confirmed directly on job #38 and others. The gap isn't tagging, it's cost: his Jobber "Employee cost" is configured at $0.00/hr, and separately from that, no one has ever entered his subcontractor invoices as job Expenses either. Checked both ways so there's no gap in the check: searched the full company-wide Expenses list in Jobber for "Kyle" and "Smiley" β€” zero results, both, ever.

This isn't a system limitation. The same company-wide search for "Subcontract" turned up a real entry for a different subcontractor β€” Brandon, $8,094.88, job #17, dated May 7, 2026, correctly tagged "Subcontractor." The workflow exists and is actively used for someone else. It's just never been applied to Kyle's invoices.

Effect on the numbers: every job Kyle works shows zero labour cost for his time, which directly overstates margin on those jobs β€” mainly Crew B's. This compounds with a separate, structural issue on the Job Margins tab where a large share of Crew B's logged hours aren't reaching job costing at all.

What we need from you: whoever processes Kyle's subcontractor invoices needs to start logging them as job Expenses tagged "Subcontractor," same as is already done for Brandon. Also worth deciding whether to backfill the cost for jobs already closed, or treat this as go-forward only.

Quick fix in Jobber · found Aug 16

One timesheet entry is recording 76.83 hours for what looks like half a day

A single entry on Job #13, Cooperators is putting about 72 hours of labour on that job that nobody worked.

Thursday Aug 13 — clocked in 7:59 AM, clocked out 12:49 PM, recorded as 76.83 hours.

The report only shows the time of day, which is what makes it look like a typo. It isn't. 76.83 hours from Thursday 7:59 AM lands on Sunday at 12:49 PM — exactly three days later, to the minute. Someone clocked in Thursday morning and the timer ran all weekend until it was stopped Sunday lunchtime. The real shift was about 4.83 hours.

Why it matters: those 72 phantom hours are charged to Cooperators as labour cost, so that job currently reads as far less profitable than it actually is. It also inflates the crew hours totals everywhere they appear.

The fix, about a minute: in Jobber go to Timesheets, Aug 13, find the entry, and change the end time from Sunday to Thursday afternoon so it reads as one normal shift. Whoever worked it will know the real finish time.

Worth doing once, too: any entry over about 16 hours is a forgotten clock-out rather than a real shift. Scanning for those every few weeks catches them before they distort a job's margin.

Confirm the process

4 crew members have no Jobber seat β€” who's logging their time?

Went through all 20 W-2 crew's Jobber Team profiles directly, one at a time. Four people have no Jobber seat at all β€” Josh Poulin, Mark Miron, Jacob Montpetit, and Vsevolod Zemlianskikh β€” so none of them can log their own hours in Jobber.

If their time is still showing up on jobs, someone else is entering it on their behalf. Worth confirming who's doing that and how accurately, since that's a place hours can drift from reality without anyone noticing.

Crew & Operations
Improving β€” keep pressure on

Crew tagging discipline β€” big improvement, ~29h still untagged over the last 30 days

Rolling 30-day view Jun 9 – Jul 9, 2026 per Jobber Team Productivity report: ~29 hours untagged across the crew. Big improvement from the 84.6h untagged in the single Jun 7-20 period. Nicholas Brinkworth went from 21% untagged to 1%, Michael Perfetti from 40% to 7% β€” the message landed. Two people still need attention.

Where every hour landed over the last 30 days, per person:

Employee Customer Jobs Untagged (General) Shop / Yard (#34) Office (#42) Summer (#65) Total
Michael Perfetti165.0513.030.000.000.00178.08
Jacob Wright-Desjardins33.6511.950.000.000.0045.58
Noah Brake0.002.000.000.000.002.00
Nicholas Brinkworth163.621.780.000.000.00165.40
Eric Auclair100.120.300.000.000.00100.42
Jacob Montpetit9.150.120.000.000.009.27
Christian Dubuc30.180.000.000.000.0030.18
Brett Watts37.750.000.000.000.0037.75
Craig Pulham145.730.000.000.000.00145.75
James Barthe2.980.000.000.000.002.98
TOTAL (30-day)688.2329.180.000.000.00717.41

Focus areas now:

  • Michael Perfetti β€” 13.03h untagged of 178h total (7%). Down from 40% but still the biggest total hours untagged. Nudge him.
  • Jacob Wright-Desjardins β€” 11.95h untagged of 45.58h total (26%). Hasn't improved, still tagging 1-in-4 hours to General.
  • Noah Brake β€” 2h all untagged. Small volume but 100% untagged is worth a check.

Wins to acknowledge: Nicholas Brinkworth went 21% β†’ 1%. Michael's rate is down significantly. The message is landing on most of the crew β€” reinforcing it will keep the trend.

Confirm + flag exceptions

Payment schedules β€” confirm the 20/40/40 standard is being used in Jobber, and email Amanda when a job has different terms

WL's standard payment schedule is:

20% on signing Β· 40% at milestone Β· 40% on completion Β· all payable on invoice

For this to work properly, the Payment Schedule has to be set up on the Job in Jobber at the time of quoting β€” not added after the fact, not done on individual invoices. When that's done, Jobber generates the three progress invoices on the right schedule, AR aging stays clean, and Amanda's cash-flow forecasting works.

What we need from you:

1. Confirm the standard is being used. Every new job since (roughly) Apr 2026 β€” are the 20/40/40 Payment Schedules being set up on the Job in Jobber at quote time? Or are full-value invoices being issued and we're just hoping customers pay on schedule? This is a quick yes/no/mostly check from your side.

2. Flag any EXCEPTIONS to 20/40/40 BEFORE invoicing. When a job has different terms β€” holdback %, Net 60/90, different milestone breakdown, deposits, etc. β€” just email Amanda the details at quote time so she can set the custom Payment Schedule in Jobber for that job specifically. Examples that need flagging:

  • Holdback β€” typically 10% retained until completion / warranty (common on construction)
  • Custom milestone splits β€” e.g., 30/30/40, 50/50, weekly draws on long jobs
  • Extended terms β€” Net 60 or Net 90 instead of payable on invoice
  • Larger deposits β€” anything other than the standard 20%

You only need to email when a job DEVIATES from 20/40/40 β€” no need to send a note for standard ones.

Jobber Operational Hygiene
Quick operational fix Β· 0 of 10 done

Enable auto-invoicing on the recurring maintenance jobs

Jobber pull confirmed Jun 25, 2026: all 10 active recurring jobs still have Automatic Invoicing: Disabled. No progress this week.

  • 9 condo / property maintenance jobs β€” CMG, Sentinel, Long Holdings (Job #s 38, 39, 41, 47, 48, 49, 50, 52, 55)
  • 1 Ryan personal β€” Job #21, 29 Mowat St grass cutting, $1,666.66/season fixed, weekly Wed

The fix: open each recurring job in Jobber β†’ Settings β†’ toggle Automatic Invoicing ON, set the cadence (monthly on last day works for most). ~2 minutes per job, ~20 minutes total.

Once enabled, Jobber generates the invoice automatically, customer gets it without anyone having to remember, and the data flows cleanly. Removes a forgettable manual step.

Need decision β€” Ryan

Ryan's grass cutting (Job #21, 29 Mowat St) β€” bill, benefit, or kill?

There's a recurring Jobber job set up for Ryan Watts personally β€” 29 Mowat Street, weekly grass cutting, total $1,666.66 for the season. Kyle Smiley has been doing the visits since May 6 β€” about 10 visits so far. No invoices have been generated. No money has changed hands.

So Kyle's time, fuel, and tool wear are being absorbed into WL with no offsetting revenue or treatment. Three options, need your call:

Option A β€” Bill Ryan personally for the season ($1,666.66 + HST). Standard customer treatment. Generate the invoice, Ryan pays it personally, books are clean.

Option B β€” Treat as in-kind owner benefit. WL provides the lawn care as a perk, no invoice. BUT CRA considers this a taxable benefit β€” the fair market value ($1,666.66) gets added to Ryan's T4 as imputed income. Amanda needs to flag to Lekadir at year-end if this is the chosen path.

Option C β€” Stop doing it on WL time. If neither A nor B is desired, Kyle stops cutting Ryan's grass on WL's schedule. Ryan can hire Kyle (or someone) personally outside of WL.

Whatever the call, the current state (service performed, no billing, no tracking) needs to change before year-end. Option B is the most common for owner-operators but it has tax implications that need to be set up correctly.