You know what is in your bank account today. What you probably cannot answer is the question that actually runs a construction business: did that job make money? Most contractor books track cash in and cash out, which works fine for a coffee shop but falls apart the moment your work spans months and your costs show up long before the customer pays.
This guide walks through the bookkeeping that construction really needs. We will follow one Mesa kitchen remodel from first receipt to true profit, then cover progress billing, retainage, subcontractor paperwork, and when it makes sense to hand the whole thing off.
Why Contractor Books Break the Normal Rules
A regular small business buys something, sells it, and gets paid, all in the same week. Construction does not work that way. A job can run three months. Money arrives in chunks, a deposit up front, a draw in the middle, a final payment weeks after the crew leaves. And your costs land early. You are buying lumber and paying framers in week one, long before the customer sends a dime.
That timing gap is why generic bookkeeping lies to a contractor. In a plain profit and loss statement (a report that shows income minus expenses over a period, also called a P&L), a big material buy makes a great month look like a loss, and a final payment makes a slow month look like a windfall. Neither is true. If you want a refresher on the report itself, we break it down in how to read your P&L line by line.
Meet our example. Maria runs a remodeling shop in Mesa. She just landed a $45,000 kitchen remodel. Her bank balance looks healthy because the customer paid a deposit, but that number tells her nothing about whether this job will pay her. We will fix that.
Job Costing: Know Your Profit on Every Job
Job costing means tagging every dollar of cost to the specific job that caused it. In QuickBooks Online you do this by setting up each project as a customer or a sub-customer, then attaching every bill, material receipt, labor hour, permit, and equipment charge to that job. Do it as the money moves, not in a pile at year end.
Here is Maria's kitchen, line by line.
- Cabinets and countertops: $14,000
- Other materials (tile, fixtures, drywall, paint): $6,500
- Labor, 220 hours at a burdened cost of $38 an hour: $8,360
- Subcontractors (electrician and plumber): $7,200
- Permits: $650
- Equipment rental and dumpster: $900
Total job cost is $37,610. Against the $45,000 contract, Maria's true job profit is $7,390, a margin of about 16 percent. That is the number no bank balance could ever show her, and it is the number that tells her whether to keep bidding kitchens this way.
Labor burden is bigger than the wage
Notice that labor line used $38 an hour, not the $27 wage Maria actually pays her lead carpenter. The difference is labor burden (the real cost of an employee once you add everything on top of the paycheck). Add the employer share of payroll taxes, workers comp insurance, general liability, and paid downtime like drive time and slow days. For most East Valley trades that turns a $27 wage into $36 to $40 of real cost per hour. If you job-cost at the raw wage, every job looks more profitable than it is.
Progress Billing and Deposits Done Right
On a long job you bill in stages, not all at the end. That is progress billing, invoicing by milestone (foundation done, rough-in done, final) or by percent complete. It keeps cash flowing while the work runs.
The trap is the deposit. When Maria collects a $10,000 deposit before she buys a single cabinet, that money is not income yet. She has not earned it. Booked correctly, a deposit sits as a liability (money you owe as work, not money you have made) and turns into income only as you complete the work. Record it as instant revenue and your P&L throws a party in month one, then crashes in month three when the costs hit and no new income comes in.
This is also where overbilled and underbilled amounts come in. If you have billed the customer more than the work you have finished, you are overbilled, and that extra is not profit. If you have done more work than you have billed, you are underbilled, and real earnings are hiding off the report. Tracking both is what keeps the P&L honest in the middle of a job instead of swinging wildly from month to month.
Retainage: The Money You Earned but Cannot Touch
On bigger jobs, especially commercial and general-contractor work, the customer holds back a slice of every payment until the whole job is signed off. That holdback is retainage, usually 5 to 10 percent. You earned it, but you cannot touch it yet.
The fix is simple: track retainage as its own receivable (money owed to you), separate from your regular invoices. If it just blends into normal accounts receivable, it quietly gets forgotten, and forgotten retainage is money you never collect.
Watch how fast it adds up. Say Maria is running three jobs and the customers hold 8 percent on each.
- Job A, $120,000 contract, 8 percent held: $9,600
- Job B, $60,000 contract, 8 percent held: $4,800
- Job C, $45,000 contract, 8 percent held: $3,600
That is $18,000 of money she has earned sitting just out of reach. If she does not track it and chase it, she can be fully booked and still short on cash, which is exactly the trap we describe in profitable but no cash.
Subcontractors, 1099s, and Staying Compliant
If you pay subs, the paperwork matters as much as the payment. Two habits keep you out of trouble.
Collect the W-9 before the first check
A W-9 is the form that gives you a sub's legal name and tax ID. Get it signed before you pay them the first time, not scrambling in January. A sub who has already been paid and moved on is a lot harder to chase for a form.
Know which payments need a 1099-NEC
Generally, if you pay an unincorporated subcontractor $600 or more in a year for services, you owe them and the IRS a 1099-NEC (a form reporting what you paid a non-employee). Payments made by credit card or a payment app are usually reported by the processor instead, so those come off your list. The forms are due at the end of January, and that deadline sneaks up every single year.
Cash vs Accrual, and When to Hand It Off
Two ways to keep books. Cash basis records income when the money lands and expenses when you pay them. Accrual basis records income when you earn it and expenses when you incur them, even if no cash has moved. For a contractor, accrual is what makes job costing, progress billing, and retainage actually tell the truth, which is why most growing construction businesses drift toward it. If those terms are new, how to categorize transactions in QuickBooks is a good next read.
Here is the honest part. Doing all of this every month, tagging every cost to the right job, booking deposits as liabilities, tracking overbilling and retainage, keeping W-9s current, and closing the books so the numbers are real, is a genuine job on top of running crews and landing work. Most owners can learn it. Few have the hours to do it well month after month.
That is what GGS does. We run job-costed books for East Valley contractors every month, so you open your P&L and see true profit per job, not a guess. If you want proof before you commit, get a Free Profit Review on your last three jobs. We will job-cost them and show you what each one really made.
The short version
- Generic bookkeeping tracks cash in and out, which cannot tell a contractor whether a specific job made money once work spans months.
- Job costing tags every material, labor, sub, permit, and equipment cost to one job. Maria's $45,000 kitchen cost $37,610, for a true profit of $7,390.
- A deposit is a liability, not income, until you earn it. Booking it as instant revenue inflates one month and craters the next.
- Retainage is money you earned but cannot touch yet. At 8 percent across three jobs it can quietly tie up $18,000 in cash.
- Collect W-9s before the first check and send 1099-NEC forms to unincorporated subs paid $600 or more, due end of January.
- Growing contractors drift toward accrual because it makes job costing and progress billing tell the truth.
Questions owners ask us
What is the difference between job costing and regular bookkeeping?
Is a customer deposit income when I receive it?
Which subcontractor payments need a 1099-NEC?
Should my construction business use cash or accrual accounting?
See What Your Last Three Jobs Really Made
GGS runs job-costed books for East Valley contractors every month, so get a Free Profit Review and we will show you the true profit hiding in your last three jobs.