What you're actually buying when you hire contractor bookkeeping services

A roofing company with six guys and $1.8 million in revenue calls in March. Books are five months behind, the bank feed has 900 uncategorized transactions, and the owner can't tell you which of last year's 47 jobs made money. He thinks he needs a tax return. What he needs is contractor bookkeeping services that treat every job as its own little P&L — because the tax return is just the last page of a story his books never told.

That's the gap most small trade shops are living in. Not fraud. Not incompetence. Just a bookkeeping setup built for a business that sells widgets, being used by a business that sells jobs.

Here's what the work involves, what it costs you to skip it, and how to tell whether the person doing your books actually understands construction.

General bookkeeping vs. construction bookkeeping

Regular bookkeeping answers one question: how much money came in and went out last month. That's fine for a dentist. For you, it's almost useless, because your money doesn't move on the same schedule as your work.

You bought $14,000 of copper in January for a job you'll invoice in March. You're holding 10% retainage on four jobs. A change order went out verbally and the GC's PM swears he never approved it. Standard bookkeeping records the copper as a January expense and calls it a day. Your January looks terrible, your March looks like a windfall, and neither number is real.

Construction bookkeeping fixes that by tracking:

  • Job costing — every dollar of labor, material, equipment and sub cost coded to the job it belongs to
  • WIP — what you've earned on open jobs versus what you've billed, so overbilling and underbilling show up before the job closes
  • Retainage — tracked as its own receivable, not buried in AR where it ages out of your attention
  • Change orders — recorded against contract value so the job's budget moves when the scope moves
  • Committed costs — the POs and sub contracts you've signed but haven't been billed for yet

The number that hides in a bad chart of accounts

Say you're a concrete sub running four jobs. Revenue for the quarter is $310,000. Direct costs — labor, ready-mix, pump rental, rebar — come to $224,000. Your P&L shows $86,000 gross profit, about 28%. Looks fine.

Break it out by job and the story changes. Suppose the four jobs are a $120,000 warehouse slab that cost $78,000, a $95,000 tilt-up footing that cost $61,000, a $60,000 driveway package that cost $44,000, and a $35,000 patio job that cost $41,000.

That last one lost $6,000. Costs total $224,000 and revenue totals $310,000, so the combined number is honest — but three profitable jobs are subsidizing a loser, and if you never see the split, you keep bidding patio work at the same rate. Two more of those a quarter and your 28% is 20%.

That is the entire argument for job costing. Not tidiness. Bid accuracy.

The 1099 problem nobody handles until January

Small trade shops run on subs, and subs mean information returns. For tax year 2026, the Form 1099-NEC nonemployee compensation reporting threshold is $2,000 — up from where it sat before, for tax years beginning after 2025. Form 1099-NEC has to be furnished to the payee by January 31 and filed with the IRS by January 31.

Here's where it goes wrong. You paid a framing sub $6,400 across nine checks, three of them from a personal account because the business card was maxed. Come January you have no W-9, no current address, and no clean record of what you paid. Now you're calling a guy who moved to Oklahoma.

The fix is boring and it works: no sub gets a first check until a W-9 is on file, and every sub payment is coded to a vendor record all year long. Do that and your 1099 run in January is a report, not an archaeology dig.

What a real monthly close looks like

Ask any bookkeeper what happens each month. If the answer is "I categorize transactions," keep looking. A construction close should include:

  1. All bank and credit card accounts reconciled to statement — not "matched" in the bank feed, reconciled
  2. Every job's costs verified against the job budget, with variances flagged
  3. Payroll, AP and AR reconciled into the books so labor burden lands on the right jobs
  4. WIP schedule updated — earned revenue versus billed revenue on every open contract
  5. A job profitability report you actually read

That last one is the deliverable. If nobody hands you a report you'd change a bid over, you're paying for data entry.

My position: get monthly bookkeeping current and stay current, even if it costs more than a once-a-year cleanup. Catching a bleeding job in month two is worth more than any fee difference. Contractors who close monthly find bad jobs while they can still renegotiate scope. Contractors who close annually find them in April, when the only option left is to eat it.

How to vet whoever's doing your books

Four questions. Ask them cold.

"Show me a WIP schedule you prepared." If they ask what that is, they do retail bookkeeping. Walk.

"How do you handle labor burden?" Correct answer names payroll taxes, workers' comp and any benefit costs loaded onto the job, not just the hourly wage. A $28/hour guy costs the job well north of $28.

"What happens to retainage in my books?" It should sit in its own account with an aging you can look at. Ask how much retainage you're owed right now. If your current bookkeeper can't answer in under a minute, that's your answer.

"Who does my tax return?" Books and tax prep in one place means the return is built from the same job data all year, instead of a stranger reconstructing your year from a QuickBooks file in March.

Submit a pricing request at the app.streamtaxes.com page — tell us your trade, your revenue range, and how many months behind your books are, and you'll get a real number for your situation.

Prefer to talk it through? Call and leave a message with the same details and we'll work from there.