A $92,000 pool that penciled at 19.6% and finished at 15.4%

Say you sign a gunite pool at $92,000 with $74,000 budgeted in hard costs — about 19.6% gross margin. Then you hit rock at four feet, the excavator bills an extra $3,800, and nobody writes the change order. Now you're at $77,800 in cost and $14,200 in profit, or 15.4%. That's the most common leak in pool builder bookkeeping, and it won't show up in your bank balance until three jobs later, because the deposit on the next pool is covering it.

Pools are brutal on books for one reason: you collect a lot of money early and spend most of it late. Plaster, decking, and equipment all land in the back half. A pool company can be cash-rich and losing money at the same time for four straight months.

What pool builder bookkeeping has to handle that generic bookkeeping misses

A bookkeeper who does restaurants records deposits as income and calls it a day. For a builder running six pools at once, that produces a P&L that's pure fiction.

Here's what has to be in place instead:

  • Every pool is a job. Not a customer — a job, with its own contract value, budget, and cost history.
  • Deposits and draws sit in a liability account until the work is earned.
  • Costs get coded by construction phase, not by vendor.
  • Subcontractor payments track to a W-9 you collected before the first check.
  • A monthly work-in-progress schedule reconciles what you've billed against what you've actually built.

Miss the last one and you'll never know whether the $180,000 in your operating account is profit or somebody else's plaster job.

Deposits are a liability until you dig

You sign the $92,000 pool and collect 10% — $9,200 — at contract. That is not revenue. It's money you owe back in work.

I'd book it to a customer deposits liability account and release it as costs go in the ground. Contractors who book deposits straight to income get a spring P&L that looks fantastic and an August P&L that looks like a fire. Same jobs. Just misplaced timing.

The tax consequence is real too. Sign eight pools in November, collect $9,200 each, and if those deposits are all sitting in income you've handed yourself $73,600 of phantom December profit on work you haven't started.

Cost codes that match how a pool gets built

Nine or ten codes is plenty. Thirty is a system your foreman will ignore by the third job. Structure them the way the crews show up:

  • Permits and engineering
  • Excavation
  • Steel
  • Plumbing rough
  • Gunite / shotcrete
  • Tile and coping
  • Decking
  • Plaster and startup
  • Equipment set — pump, filter, heater
  • Electrical and bonding

Using the budget above, gunite at $14,000 and decking at $11,000 are your two biggest single line items after labor. Those are the codes you check weekly, not quarterly.

One rule I'd enforce hard: pool equipment bought for a specific job goes to that job's equipment code, never to a general "supplies" account. A heater sitting in overhead makes every pool look more profitable than it is and makes your overhead look bloated. Both numbers are wrong at once.

Change orders: rock, upgrades, and the money you never billed

Rock. Deeper deep end. Salt system upgrade. A raised bond beam the homeowner asked about while you were pouring. Every one of those is cost you already ate.

The decision rule is simple and unpopular: no cost gets coded to a job until someone answers whether it's billable. If the excavator's $3,800 rock charge hits the job with no matching change order, that job needs a flag on it, not a shrug. Catching it that week is a signed change order. Catching it at year end is a $3,800 donation.

Subs, 1099s, and the January paperwork that bites

Most pool builders run heavy on subs — gunite crews, tile setters, deck guys, plaster crews. That's a smart way to run the business and a fast way to create a filing problem.

For tax year 2026, the nonemployee compensation reporting threshold on Form 1099-NEC is $2,000, and both the payee statement and the IRS filing are due January 31. Pay a gunite crew $14,000 across four pools and you're well past it. Pay a tile setter $2,400 on one job and you still are.

Collect the W-9 before the first check clears — not in January when the sub has moved to another state and stopped answering. If your vendor records are clean all year, 1099 season is an afternoon. If they're not, it's two weeks of phone calls.

Reading WIP so you know whose money you're spending

Take that same $92,000 pool. Costs to date are $37,000 against a $74,000 estimated total, so you're 50% complete and you've earned $46,000 of revenue. You've billed $55,200 — the $9,200 deposit plus two $23,000 draws.

You're overbilled by $9,200. That's cash in your account that belongs to work you haven't done. Multiply that across six active pools and you can be sitting on $50,000+ of borrowed-from-yourself money while thinking business is great.

Run this every month. The month you go from overbilled to underbilled on several jobs at once is the month cash gets tight — and you'd rather see it on a schedule than in a bounced material order.

Keep the service route out of the build P&L

A lot of builders also run weekly maintenance and repair work. Say 40 accounts at $165 a month — that's $6,600 of recurring revenue with a completely different cost structure than construction.

Blend them and neither number means anything. Segment revenue and direct cost so you can see build gross margin and service gross margin separately. Service margin is what carries you through a slow permitting stretch; you should know it to the point.

If you want the full picture of how we handle this trade, see our page on bookkeeping and taxes for pool construction contractors.

Get a real number on your books

If your last three pools closed and you couldn't say which one made the most money, the books aren't doing their job. We set up job costing, keep the WIP current, reconcile payroll and vendor activity into books you can actually use, and handle the tax return off those same numbers.

Submit a pricing request at app.streamtaxes.com/get-pricing and we'll come back with what it costs for a shop your size. Or call and leave a message and we'll get to it.

Prefer to read a while first? Subscribe to the newsletter for ongoing contractor accounting updates.