If you run a plumbing company, HVAC business, electrical company, roofing company, remodeling business, landscaping company, or another home service business, you probably don’t think of bookkeeping as the most important part of the job.
You’re focused on getting crews to the property, finishing projects, ordering materials, answering customers, and getting paid.
But here’s the problem:
A contractor can have plenty of work and still have no idea which jobs are actually profitable.
You might finish a $15,000 remodeling project and feel good about the revenue. Then you add up the materials, employee wages, subcontractors, equipment, permits, fuel, and other costs and discover that the $15,000 job didn’t leave nearly as much profit as expected.
That’s why bookkeeping for contractors needs to go beyond simply recording money coming in and going out.
You need to connect your financial records to the work happening in the field.
That means tracking jobs, labor, materials, subcontractors, customer payments, and 1099 reporting in a way that lets you answer a simple question:
“How much money did we actually make on this job?”
Why Contractor Bookkeeping Is Different
A typical small business might have relatively predictable expenses.
A contractor doesn’t always have that luxury.
Every job can be different.
One project might require:
- $4,000 in materials
- 80 hours of employee labor
- $2,500 in subcontractor work
- $500 in equipment rental
- $300 in permits
Another job might require:
- $1,500 in materials
- 25 labor hours
- No subcontractors
- Minimal equipment
- No unusual expenses
Both projects may generate similar revenue.
But their profitability can be completely different.
This is why a contractor’s bookkeeping system should ideally let you look at financial activity by job, not just by month.
Your Profit & Loss statement tells you whether the company made money.
Job costing tells you where that money was made—or lost.
Start With Job Costing
Job costing sounds complicated, but the basic idea is simple.
For every significant project, track:
Revenue – Direct Job Costs = Gross Job Profit
Direct job costs may include:
- Employee labor
- Subcontractors
- Materials
- Equipment rental
- Job-specific permits
- Certain job-related transportation costs
For example:
Kitchen Remodeling Project
Customer price: $25,000
Materials: $8,000
Employee labor: $5,000
Subcontractor: $4,000
Equipment rental: $1,000
Other direct costs: $500
Total direct costs: $18,500
Estimated gross job profit:
$6,500
That’s much more useful than simply knowing the customer paid $25,000.
Your Estimate Isn’t Your Actual Cost
This is where bookkeeping becomes especially valuable.
When you bid a project, you’re making an estimate.
You might calculate:
100 labor hours × $30 = $3,000
Then the job starts.
Your crew actually spends:
135 hours
Now your labor cost is significantly higher than expected.
Maybe the job was more complicated than anticipated.
Maybe materials were delayed.
Maybe the customer changed the scope.
Maybe the crew had to redo work.
Whatever the reason, your bookkeeping should make the difference visible.
A simple job-costing report might look like this:
|
Cost |
Estimated |
Actual |
Difference |
|
Labor |
$3,000 |
$4,050 |
+$1,050 |
|
Materials |
$6,000 |
$6,700 |
+$700 |
|
Subcontractors |
$2,500 |
$2,500 |
$0 |
|
Equipment |
$750 |
$900 |
+$150 |
|
Other |
$500 |
$450 |
-$50 |
|
Total |
$12,750 |
$14,600 |
+$1,850 |
That’s the kind of information that helps you improve your next estimate.
Track Materials by Job
Materials can become one of the biggest sources of confusion in contractor bookkeeping.
You buy:
- Lumber
- Pipes
- Electrical supplies
- Drywall
- Flooring
- Paint
- Fixtures
- Fasteners
- Roofing materials
- Concrete
- Landscaping materials
- HVAC components
But the supplier’s receipt may not indicate which customer ultimately paid for the materials.
That’s why you need a process for assigning materials to jobs.
For example:
Homeowner Smith – Bathroom Remodel
- Tile: $1,200
- Fixtures: $750
- Plumbing supplies: $350
- Adhesive/grout: $150
Total job materials: $2,450
Now you can compare that against the original estimate.
If you estimated $1,800 in materials and actually spent $2,450, you have a $650 variance worth investigating.
Don’t Automatically Treat Every Purchase the Same
A $25 box of screws isn’t necessarily the same type of accounting transaction as a $6,000 piece of equipment.
Contractors often purchase assets such as:
- Work vans
- Trailers
- Excavators
- Compressors
- Specialized tools
- Ladders
- Generators
- Heavy equipment
Some purchases may need to be capitalized and depreciated rather than treated as an ordinary current expense.
Your accountant or tax professional should establish the appropriate accounting and tax treatment.
From a bookkeeping perspective, the important thing is to clearly identify significant purchases.
Don’t bury a major piece of equipment inside “miscellaneous expenses.”
Subcontractors Need Their Own System
This is one of the areas where contractor bookkeeping can quickly become messy.
You might hire:
- Electricians
- Plumbers
- Roofers
- Drywall installers
- Painters
- Concrete contractors
- Flooring installers
- HVAC technicians
- Excavation companies
- Specialized trades
You need to know not only how much you paid them, but which jobs they worked on.
For example:
|
Subcontractor |
Job |
Amount |
|
ABC Electrical |
Smith Remodel |
$3,200 |
|
XYZ Plumbing |
Smith Remodel |
$2,400 |
|
Reliable Roofing |
Jones Home |
$4,800 |
|
Pro Flooring |
Garcia Home |
$1,750 |
Now those payments become useful job-cost information.
Without job assignments, your books might show:
Subcontractor expense: $12,150
That’s accurate, but not very helpful.
Don’t Assume “1099” Means Someone Is Automatically a Contractor
This is an important distinction.
A common misconception is:
“I paid them as a 1099, so they’re an independent contractor.”
That’s backward.
Worker classification depends on the actual relationship between the business and worker. The IRS says the determination depends on facts and circumstances, including behavioral, financial, and relationship factors; it isn’t determined simply by how often someone is paid or whether you issue a 1099.
So don’t use a 1099 as a shortcut for deciding someone’s classification.
If you’re unsure whether someone should be treated as an employee or independent contractor, get professional tax or legal advice.
The consequences of getting classification wrong can extend beyond bookkeeping.
Get a W-9 Before You Need a 1099
If you’ve determined that someone you’re paying is an independent contractor, collect a completed Form W-9 from them.
The W-9 provides information such as the contractor’s legal name and taxpayer identification number.
The IRS specifically identifies the W-9 as the first step after determining that someone is an independent contractor and states that businesses should keep the form in their files for 4 years.
Don’t wait until January to start chasing contractors for tax information.
By then, you may have paid 15 different subcontractors and forgotten which ones still need documentation.
A Better Process
When you hire a new subcontractor:
Step 1: Determine worker classification.
Step 2: Obtain the W-9.
Step 3: Enter the contractor correctly in your accounting system.
Step 4: Record every payment against that vendor.
Step 5: Track the payments by job.
Step 6: Review the year-to-date total before year-end.
That makes 1099 preparation dramatically easier.
What Is a 1099-NEC?
Form 1099-NEC, Nonemployee Compensation, is generally used to report certain payments your business makes to people who aren’t employees for services performed for your trade or business.
That can include qualifying payments to independent contractors and subcontractors.
But here’s an important current change:
For payments made in 2026, the federal reporting threshold for Form 1099-NEC is $2,000, rather than the previous $600 threshold. The IRS says the threshold increased to $2,000 for payments made after December 31, 2025.
The 1099-NEC is generally due to the recipient and the IRS by January 31, subject to the applicable filing rules.
That means if you’re paying subcontractors in 2026, your bookkeeping process should be set up for the current threshold—not an old checklist you’ve used for years.
Tax rules can change, so confirm the requirements for the specific tax year with your tax professional.
A 1099 Isn’t the Same as a W-2
Contractors sometimes have both employees and subcontractors.
Those payments need to remain separate.
|
Worker |
Typical Tax Form |
|
Employee |
W-2 |
|
Qualifying independent contractor |
1099-NEC |
|
Certain other payments |
1099-MISC or other applicable form |
The IRS says wages and employee compensation are generally reported on Form W-2, while qualifying nonemployee compensation is reported on Form 1099-NEC.
Don’t put everyone who works on your projects into one “labor” bucket.
Your accounting system should distinguish employee payroll from subcontractor costs.
What If the Subcontractor Is an LLC or Corporation?
This is where things can get confusing.
Business owners sometimes say:
“They’re an LLC, so I don’t need a 1099.”
That’s not necessarily enough information.
The IRS rules include exceptions and special reporting situations, and an entity’s tax classification matters.
The current IRS guidance explains that payments to corporations are generally not reportable in many situations, but there are exceptions. Partnerships can also have different reporting treatment.
That’s another reason the W-9 is so useful.
Don’t guess based on the business name.
Give the W-9 information to the person handling your 1099 filings or your tax professional.
Track Subcontractor Payments Throughout the Year
One of the worst bookkeeping habits is waiting until January to figure out who received what.
Imagine your business paid:
ABC Plumbing
January: $2,000
March: $1,500
June: $3,200
September: $1,800
December: $1,000
Total: $9,500
If your bookkeeping properly tracks each payment, the year-end total is easy to determine.
If you have random checks, credit card payments, cash transactions, and transfers scattered throughout your records, preparing the 1099 becomes a detective project.
And that’s exactly what you want to avoid.
Don’t Forget Subcontractor Materials
Here’s a tricky situation.
You hire a subcontractor for $5,000.
Their invoice says:
Labor: $3,500
Materials: $1,500
Don’t automatically assume that the $1,500 is irrelevant for reporting purposes.
The IRS’s current 1099-NEC guidance specifically addresses payments for services and notes that they can include parts and materials.
The correct reporting treatment depends on the payment and the applicable rules.
Your bookkeeping should therefore preserve the original invoice instead of simply entering:
“Subcontractor – $5,000.”
Keep the supporting documentation.
Track Change Orders Separately
Change orders are one of the easiest ways for a profitable job to become a problem.
A customer hires you for:
$18,000 bathroom renovation
Then they ask for:
- Premium tile
- Additional electrical outlets
- A larger vanity
- Heated flooring
- Custom shower fixtures
Suddenly the project has changed.
Your bookkeeping should make it possible to see the financial impact of those changes.
For example:
|
Original |
Change Order |
|
|
Revenue |
$18,000 |
$3,500 |
|
Materials |
$6,000 |
$1,800 |
|
Labor |
$4,000 |
$1,000 |
|
Subcontractor |
$2,000 |
$500 |
Now you can determine whether the additional $3,500 of revenue actually produces additional profit.
Don’t rely on memory.
Document the change order and connect the related revenue and costs to the job.
Deposits Are Not Always Revenue
Contractors frequently collect deposits before work begins.
Suppose a customer pays:
$10,000 deposit
before you’ve purchased materials or started work.
That money is in your bank account.
But depending on your accounting method and circumstances, you may need to treat the deposit differently from earned revenue.
This is particularly important for larger construction and remodeling projects.
Your bookkeeping should distinguish between:
- Customer deposits
- Progress payments
- Earned revenue
- Retainage
- Refunds
- Final payments
Your CPA should establish the appropriate revenue-recognition treatment for your business and accounting method.
The important thing is not to assume:
“Money arrived = revenue.”
Keep Track of Accounts Receivable
Contractors can be profitable and still run out of cash.
Why?
Because you might complete a $30,000 project but not collect the money immediately.
Your customers might pay:
- 25% upfront
- 25% after rough-in
- 25% after substantial completion
- 25% after final inspection
Meanwhile, your employees and subcontractors still expect payment.
That’s why accounts receivable is critical.
Your bookkeeping should show:
|
Customer |
Invoice |
Amount Due |
Age |
|
Smith |
#1042 |
$6,500 |
Current |
|
Jones |
#1047 |
$4,200 |
15 days |
|
Garcia |
#1051 |
$8,900 |
38 days |
|
Brown |
#1055 |
$3,100 |
67 days |
The $67,000 job doesn’t help your cash flow much if $20,000 of your invoices are sitting unpaid.
Job Profitability Is More Important Than Total Revenue
Imagine two contractors.
Contractor A
Annual revenue: $1 million
Gross profit: $200,000
Contractor B
Annual revenue: $750,000
Gross profit: $250,000
Which business is healthier?
Revenue alone doesn’t answer the question.
Contractor B is generating less revenue but more gross profit.
That’s why job costing matters.
You might discover that some of your biggest projects are actually producing your smallest margins.
That can completely change how you price and choose jobs.
Track Labor Hours, Even If You Use Subcontractors
Employee labor is relatively straightforward to track through payroll.
But don’t forget the actual hours.
Suppose you estimate:
80 labor hours
and your crew uses:
110 hours
Your payroll system tells you what you paid.
Your job-costing system tells you whether your estimate was accurate.
That distinction matters.
A job may have been profitable, but if you consistently underestimate labor, your margins could disappear as the company grows.
Create a Simple Job Number System
One easy way to keep everything organized is to assign a unique job number to each project.
For example:
2026-001 – Smith Bathroom
2026-002 – Jones Roof
2026-003 – Garcia HVAC
Then assign:
- Customer invoices
- Material purchases
- Employee labor
- Subcontractor invoices
- Equipment costs
- Change orders
to the appropriate job.
This creates a common reference point.
Instead of asking:
“What was that $3,200 plumbing payment for?”
You can see:
Job 2026-001 – Smith Bathroom – Plumbing Subcontractor – $3,200
Much easier.
Your Chart of Accounts Should Support Your Jobs
Your general ledger might include:
Revenue
- Residential Projects
- Commercial Projects
- Service Calls
- Maintenance Contracts
Direct Costs
- Direct Labor
- Subcontractors
- Materials
- Equipment Rental
- Permits
- Job-Specific Costs
Overhead
- Office Rent
- Advertising
- Bookkeeping
- General Insurance
- Office Software
- Administrative Payroll
- Professional Fees
This distinction helps you understand gross profit before overhead.
For example:
Revenue: $100,000
Direct job costs: $65,000
Gross profit: $35,000
Then:
Overhead: $20,000
Net operating profit: $15,000
The exact presentation depends on your accounting system, but the basic concept is extremely useful.
Don’t Ignore Small Service Calls
Large projects aren’t the only work that deserves job tracking.
A home-service company might perform:
- $175 plumbing repair
- $250 HVAC service
- $350 electrical repair
- $500 appliance installation
- $750 landscaping job
These smaller jobs can become profitable if you’re efficient.
But they can also become money losers if technicians spend too much time traveling or if materials aren’t priced correctly.
Track:
Revenue
Labor time
Materials
Travel
Other direct costs
Then you’ll know which service calls actually make sense.
Watch Your Material Markups
Contractors often make money from both labor and materials.
Suppose you buy a component for:
$400
and bill the customer:
$600
That’s a $200 gross margin before considering other costs.
But what if your employees spend two additional hours sourcing, transporting, and installing the component?
Your real job economics may be different.
Your bookkeeping doesn’t need to automatically calculate every decision.
It needs to provide enough information for you to understand:
What did this job cost us?
Keep Business and Personal Spending Separate
This is important for every small business, but especially for contractors.
Don’t use the company credit card for:
- Personal groceries
- Family vacations
- Personal vehicle expenses unrelated to the business
- Household purchases
And don’t routinely pay business expenses from a personal account.
If you do mix transactions, your bookkeeping becomes harder to reconcile, and your financial reports become less reliable.
Open dedicated business accounts and use them consistently.
What Records Should Contractors Keep?
The IRS says business records should support the income and expenses reported on your tax return. Supporting documents can include invoices, receipts, bills, deposit records, canceled checks, account statements, and other documentation.
For contractors, that can mean maintaining:
- Customer contracts
- Estimates
- Invoices
- Change orders
- Subcontractor agreements
- W-9s
- Subcontractor invoices
- Receipts
- Material purchases
- Payroll records
- Mileage records
- Equipment purchase documents
- Bank statements
- Credit card statements
- 1099 forms
- Proof of customer payments
The IRS doesn’t require one specific bookkeeping system for every business, but your records need to clearly show income and expenses and support the items reported on your tax return.
A Monthly Bookkeeping Routine for Contractors
You don’t have to wait until tax season to organize everything.
Try this monthly process.
Week 1: Income
- Record customer invoices
- Match customer payments
- Review deposits
- Check outstanding invoices
- Record change orders
Week 2: Job Costs
- Categorize materials
- Enter subcontractor invoices
- Record labor costs
- Assign expenses to jobs
- Review equipment costs
Week 3: Reconciliation
- Reconcile bank accounts
- Reconcile credit cards
- Investigate unusual transactions
- Check for duplicate expenses
- Review unpaid bills
Week 4: Job Review
Look at your completed and active projects.
Ask:
- Did actual labor match the estimate?
- Did materials exceed the budget?
- Did subcontractor costs increase?
- Were there unbilled change orders?
- Did the customer pay on time?
- Was the job profitable?
This monthly review can prevent small problems from becoming expensive ones.
A Simple Contractor Bookkeeping Dashboard
You don’t need dozens of metrics.
Start with these:
|
Metric |
Why It Matters |
|
Revenue by job |
Shows where sales come from |
|
Gross profit by job |
Shows which projects make money |
|
Labor variance |
Identifies inaccurate labor estimates |
|
Material variance |
Shows material overruns |
|
Subcontractor costs |
Tracks outside labor |
|
Accounts receivable |
Shows unpaid customer invoices |
|
Cash balance |
Shows available liquidity |
|
Overhead |
Shows the cost of running the business |
If you review these consistently, you can catch problems much earlier.
The 1099 Checklist You Should Follow
Before year-end, review every subcontractor.
For each subcontractor, ask:
Do we have a W-9?
Are they properly classified as an independent contractor?
How much did we pay them during the year?
Were payments made by check, ACH, card, or another method?
Are there reporting exceptions that apply?
Is a 1099-NEC required?
For 2026 payments, the federal 1099-NEC threshold is generally $2,000 for qualifying nonemployee compensation, but exceptions and special rules can apply.
Also remember that payment method can matter. Certain payments made by credit card or through third-party payment networks can have different information-reporting treatment, so don’t unquestioningly include every vendor payment in your 1099-NEC calculation.
Have your bookkeeper or tax professional review the final list before filing.
Common Bookkeeping Mistakes Contractors Make
1. Tracking Everything by Expense Type but Not by Job
You know you spent $80,000 on materials.
You don’t know which jobs consumed them.
2. Waiting Until Tax Season
Reconstructing twelve months of subcontractor payments is painful.
3. Treating Every Worker as a 1099
Worker classification depends on the actual relationship, not the label you put on the worker.
4. Forgetting Change Orders
Extra work should result in extra billing whenever appropriate.
5. Ignoring Labor Hours
Payroll tells you what you paid.
Time tracking helps tell you whether the job was estimated correctly.
6. Mixing Deposits With Revenue
Customer deposits and earned revenue aren’t necessarily interchangeable.
7. Not Tracking Subcontractor W-9s
Don’t start hunting for taxpayer information after the year is over.
8. Looking Only at the Bank Balance
Cash in the bank doesn’t tell you whether your active jobs are profitable.
When Should You Hire a Bookkeeper?
DIY bookkeeping can work for a very small contractor with only a handful of transactions.
But things become much more complicated when you have:
- Multiple crews
- Several active jobs
- Regular subcontractors
- Payroll
- Large material purchases
- Equipment
- Progress billing
- Change orders
- Significant accounts receivable
- Multiple vehicles
- Growing revenue
At that point, bookkeeping isn’t just data entry.
It’s financial management.
A good bookkeeper can help organize transactions, reconcile accounts, track job costs, maintain vendor records, and prepare financial information for your CPA.
Your tax professional can then use those records to handle tax filings and tax-specific decisions.
The Bottom Line
Contractor bookkeeping isn’t about putting receipts into a spreadsheet just because someone told you to.
It’s about understanding the economics of your work.
Every project has a story:
Customer → Estimate → Contract → Labor → Materials → Subcontractors → Change Orders → Invoice → Payment → Profit
Your bookkeeping should let you follow that story from beginning to end.
And if you’re paying subcontractors, there’s another layer:
Vendor → W-9 → Payments → Job Assignment → Year-End Review → 1099 Reporting
The IRS requires businesses to maintain records that support their income and expenses, and qualifying payments to independent contractors may trigger information-reporting requirements.
For 2026, the federal reporting threshold for qualifying 1099-NEC payments is generally $2,000, up from the $600 threshold used in earlier years.
But don’t let the 1099 itself become the focus of your bookkeeping.
The bigger goal is knowing whether your business is actually making money.
If you can look at a completed job and say:
“The customer paid us $20,000. We spent $7,000 on materials, $4,000 on labor, $3,000 on subcontractors, and $1,000 on other direct costs. That left us with $5,000 before overhead.”
—you’re no longer guessing.
You’re running the business based on numbers.
And for contractors and home-service business owners, that’s one of the most valuable things good bookkeeping can provide.
Leave a Reply