The month your P&L says you made money and the bank says you didn't

Suppose a Fort Worth HVAC shop closes a $42,000 rooftop change-out, deposits the final check, and still scrambles to cover payroll on the 15th. The profit and loss statement says the month was fine. The bank balance disagrees. That's usually the night a contractor searches construction accounting Fort Worth from the truck and gets a page of firms that all sound identical.

Here's the plain version of what that work actually is, what it isn't, and how to tell whether yours is doing anything for you.

What construction accounting in Fort Worth actually covers — and what it doesn't

For a small trade shop, four things matter and the rest is noise:

Bookkeeping. Every transaction categorized, bank and card accounts reconciled, and payroll and vendor activity accounted for correctly in the books — you run payroll and buy the material, the books reflect it accurately.

Job costing. Labor, material, subs, and equipment coded to the job that consumed them. A cost code is just a bucket — "demo," "rough-in," "trim" — so you can see which phase ate the money.

WIP tracking. WIP is work in progress: the report that compares what a job has cost so far against what you've billed, so an unfinished job doesn't lie to you about profit.

Tax preparation. The return itself — Form 1040 with a Schedule C, Form 1065, or Form 1120 depending on how you're set up.

What's not in that list: tax planning engagements, payroll processing, running your AP and AR, sales tax filings, audits, reviews, and advisory retainers. Stream doesn't do those. If a firm quotes you "full-service accounting," ask which of those four things they'll actually deliver each month, and get it in writing.

Before the job: a burdened labor rate and cost codes you'll actually use

Most Tarrant County contractors bid labor at the wage they pay. That number is wrong before the truck leaves the yard. Your burdened rate is the wage plus everything riding on top of it — employer payroll taxes, workers' comp, general liability, vehicle and phone cost, paid time off.

Take that $42,000 rooftop job. Equipment $18,500, materials $3,200, crane sub $1,800. Crew time: 160 hours at $30 an hour base is $4,800. Add burden at 32% — $1,536 — and burdened labor is $6,336, or $39.60 an hour.

Total job cost: equipment, materials, and the crane sub come to $18,500 + $3,200 + $1,800 = $23,500. Add burdened labor of $6,336 and the job costs $29,836. On a $42,000 contract that leaves gross profit of $42,000 − $29,836 = $12,164, or about 29%. Now bid the same job at the bare $30 wage. The labor line reads $4,800 instead of $6,336, so total cost is $23,500 + $4,800 = $28,300, and the job appears to make $42,000 − $28,300 = $13,700. The difference — $13,700 − $12,164 = $1,536 — is profit that never existed. That's one job. Run forty of them a year and you've reported $61,440 you never earned.

Set your cost codes before the season, not during it. Five to eight per trade is plenty. A roofer needs tear-off, dry-in, install, sheet metal, and cleanup — not forty codes nobody uses by June.

During the job: WIP, retainage, and the change orders nobody billed

Retainage is the slice of every draw the GC holds back until the job closes — commonly 10% on Fort Worth commercial work. It's revenue you earned and cash you don't have. If it's sitting in your income and nowhere in your receivables, your books are telling you a story.

Overbilling is the other trap. Say a remodeler signs a $180,000 contract with estimated costs of $144,000. Costs to date are $72,000, which is 50% of the estimate, so the job is 50% complete and has earned $90,000 in revenue. Billed to date: $108,000.

That's $108,000 − $90,000 = $18,000 overbilled. The bank account looks healthy. It isn't — that's $18,000 of work you still owe, funded by someone else's draw. WIP catches it monthly. Nothing else does.

Change orders are where most Fort Worth crews leak margin. A verbal "yeah, just add the two extra circuits" turns into unbilled labor coded to a job that then looks unprofitable. Rule: no change order gets worked until it's written and priced in the job file.

After the job: closeout, subcontractor 1099s, and the return

Closeout means final costs coded, retainage invoiced, and the job's actual margin compared against the bid. If you never do that comparison, you'll bid the next one exactly as wrong.

Then there are your subs. For tax year 2026, nonemployee compensation is reportable on Form 1099-NEC at $2,000 or more, and the form must be furnished to the sub and filed with the IRS by January 31. That deadline is unforgiving, and it's only doable if you collected a W-9 the day the sub first showed up — not in January when he's on another job and not answering.

If the return needs more time, Form 7004 covers many business returns; for individuals, the extended federal due date is October 15, 2026 for tax year 2026. An extension moves the paperwork, not the money.

In-house bookkeeper or outsourced: which one to pick

In-house part-timer. Cheaper per hour, sits in your office, knows your customers. But most general bookkeepers have never built a WIP schedule or allocated burden, and you're one resignation from a nine-month backlog.

Outsourced construction bookkeeping. Costs more per hour, doesn't answer your phones, but comes with job costing and WIP built in and doesn't quit.

My verdict: under roughly $3 million in revenue, outsource it. You don't have enough work to keep a construction-fluent bookkeeper busy, and a general one will hand you a tidy P&L that hides every problem above. Above that, hire in-house — and still have someone independent reviewing the job cost detail.

If you want to see what a proper monthly close looks like for a trade shop, that's covered under monthly bookkeeping.

What it costs to find out

Pricing depends on transaction volume, how many jobs you run at once, and how far behind the books are. Tell us your trade, your rough annual revenue, and the last month that was reconciled, and submit a pricing request — or call and leave a message with the same three details.