Industry
Bookkeeping for plumbing, electrical, landscaping, pest control and handyman businesses
Job costing, dispatch efficiency, materials markup, seasonality and customer deposits, explained for home service business owners across trades.
The short answer
- Home service businesses live and die on job-level gross margin. Company-wide totals hide which jobs, crews or service lines are actually profitable.
- Materials should be marked up and tracked separately from labor so a bookkeeper, and the owner, can see whether pricing is covering both cost and margin.
- Customer deposits taken before work starts are a liability, not revenue, until the job is delivered.
- Seasonality is real for landscaping and pest control especially. Monthly numbers need a rolling comparison, not just month-over-month, to mean anything.
Job costing across different trades
Whether it is a plumbing repair, an electrical panel upgrade, a landscaping install or a pest control route, every job should carry its own materials, labor and any subcontracted cost. That is the only way to compare a $180 service call to a $12,000 install on the same footing: gross margin percentage.
- Materials get marked up on the invoice and tracked separately from labor cost
- Dispatch and drive time count as labor cost, even though they are not billed to the customer
- Recurring routes (pest control, lawn care) should be tracked by contract, not just by visit
- Subcontracted specialty work (electrical on a landscaping job, for example) gets its own cost line
Deposits and progress payments
A deposit taken to schedule a landscaping install or reserve a busy plumbing crew is a liability until the work is done. Recording it as revenue the day it is collected overstates that month and can trigger sales tax on money that has not actually been earned yet.
Materials markup that actually pays for itself
Materials bought for a job should be marked up enough to cover the time spent sourcing, storing and hauling them, not just passed through at cost. We track materials revenue against materials cost separately from labor so you can see whether your markup is working.
Dispatch efficiency and seasonality
For route-based trades like pest control and lawn care, and for on-call trades like plumbing and electrical, the real cost driver is how much of a paid hour turns into a billed hour. We track labor cost against billed revenue by week so seasonal swings in landscaping or pest volume do not get mistaken for a pricing problem.
What LedgerDude does each month
We job cost materials, labor and subcontractors by job or route, hold customer deposits as a liability until work is delivered, and send a gross margin by service line report with a rolling 12-month comparison so seasonal trades can see real trends.
Numbers worth watching
Each one is plain math you can check yourself.
| Number | How to figure it | Good range | Why it matters |
|---|---|---|---|
| Gross margin by job or route | (Job revenue − materials − labor − subs) ÷ job revenue | 35–50% depending on trade | The clearest read on which service lines and job types to sell more of. |
| Materials markup realized | Materials billed to customer ÷ materials cost | 1.3–1.6× cost | Shows whether your price book is actually covering the overhead of handling materials. |
| Billable hour ratio | Billed hours ÷ hours paid | 60–75% | Drive time, dispatch gaps and callbacks all show up here before they show up in profit. |
| Recurring contract revenue share | Recurring contract revenue ÷ total revenue | 30%+ for route-based trades | Recurring revenue smooths seasonal swings and is worth more than one-off jobs of the same size. |
Typical results we see
Gross margin
41%
Typical range across the home service businesses we support, varies widely by trade
Materials markup
1.4×
Lower on commodity parts, higher on specialty landscaping materials
Billable hour ratio
66%
Route-based trades typically run higher than on-call service
Recurring contract share
27%
Highest for pest control, lowest for handyman services
A multi-trade home service company's month
- Plumbing and electrical service revenue
- $58,000
- Landscaping install revenue
- $34,000
- Pest control recurring contracts
- $12,500
- Total revenue
- $104,500
- Materials and equipment cost
- $28,900
- Field labor including employer taxes
- $36,200
- Gross profit
- $39,400 (37.7%)
- Overhead (trucks, office, insurance, marketing)
- $22,600
- Net income
- $16,800 (16.1%)
What this tells you: The landscaping division alone was running a 29 percent gross margin, below the company's 35 percent target, mostly from underpriced material markups on hardscape jobs. Adjusting the price book for stone and pavers closed most of the gap on the next round of estimates.
What you see inside LedgerDude
Your numbers on one page, refreshed as your books are closed each month.

Real example
Handyman and landscaping company mixing deposits into revenue
Where they started: The company recorded customer deposits as income the day they were collected and did not separate materials cost from labor. The owner could not tell if handyman jobs or landscaping installs were more profitable.
What we did: We moved deposits to a liability account released when jobs were completed, split materials from labor on every job, and built a monthly gross margin report by service line.
How it ended up: The owner discovered handyman jobs were carrying a higher margin per hour than landscaping installs and shifted marketing spend accordingly.
$18,400 moved off revenue into liability
Deposits reclassified
First job-level margin report
Margin visibility
5 business days
Time to close
“I was guessing which jobs to chase before. Now I know.”
How we set up your accounts
The accounts we build first for this kind of business, so reports read the way you think.
- Revenue split by trade or service line (plumbing, electrical, landscaping, pest, handyman)
- Customer deposits (liability) released to revenue when work is completed
- Materials cost tracked separately from field labor, by job
- Recurring contract revenue tracked apart from one-time project revenue
- Subcontracted specialty labor tracked per job
Questions people ask
How much does bookkeeping cost for a home service business?
Most home service businesses with one to five crews pay $350 to $750 a month for bookkeeping with job costing and a monthly close. Companies running multiple trades or recurring contract routes typically run $800 to $1,500.
Should a customer deposit be recorded as income right away?
No. A deposit taken before work is performed is a liability until the job is delivered. Recording it as revenue immediately overstates that month and can create sales tax problems on money you have not yet earned.
How do I know if my materials markup is high enough?
Track materials billed to customers against materials cost as its own ratio, separate from labor margin. Most home service businesses need at least a 1.3 to 1.6 times markup to cover the time spent sourcing, storing and hauling materials.
Why does my landscaping or pest control business look unprofitable in some months?
Seasonality is normal for these trades. Compare each month to the same month last year and use a rolling 12-month view instead of judging any single month on its own.
Should recurring contracts be tracked differently than one-time jobs?
Yes. Recurring contract revenue, such as pest control routes or lawn maintenance plans, should be tracked separately so you can see what share of revenue is stable and predictable versus one-off project work.
Keep reading
Bookkeeping for restaurants and food trucks
How restaurant and food truck books really work: prime cost, daily sales journal entries, tip liability, third-party delivery fees and food cost swings.
Bookkeeping for construction and contractors
Job costing, retainage, progress billing and work in progress, explained for contractors who need books their bonding agent and banker will accept.
Bookkeeping for ecommerce and online sellers
Marketplace payouts, inventory, cost of goods sold, sales tax nexus and ad spend, handled the way ecommerce books actually need.
All industries
Every business type we have written up.
What we do each month
Our monthly bookkeeping service, step by step.
KPI Library
The numbers that decide whether a month made money.
Want your books handled for you?
We read your receipts, match your bank activity, and close your books every month. You get one short list of questions and a dashboard that always tells the truth.
