Skip to main content
JOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORECFOSJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORECFOSJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFO
THE CONSTRUCTION CFO BOOK A FREE CALL

WATERPROOFING JOBS PRICED BY SF BUT TRACKED BY GUESS

QUICK ANSWER

Waterproofing contractors bid by the square foot. Hot-applied rubberized asphalt at $X/SF. Sheet membrane at $Y/SF. Liquid-applied at $Z/SF. But when the job runs, costs get tracked at the job level, not the SF level. You finish the project and you don’t know your real cost per SF by membrane type. The next bid uses last year’s gut number. SF unit cost tracking fixes this — labor hours per SF, material per SF, equipment per SF, by membrane category, so the next bid is built on real numbers.

You sell by the square foot. You should know your cost by the square foot. Most waterproofing subs we walk into don’t.

PUBLISHED JUNE 12, 2026 BY JOSH LUEBKER UPDATED JUNE 12, 2026
THE PROBLEM

BID UNIT ≠ COST UNIT

Waterproofing pricing is unit-based. You quote a GC on 24,000 SF of hot-applied membrane at $4.85/SF. The bid math is clean — SF times rate equals bid. The cost math is messy. Labor, material, equipment, and crew time get charged to the job number. Nobody breaks it back out into cost per SF by membrane type. So when the next RFP comes in for 18,000 SF of similar work, the estimator uses a gut-number bid rate based on what felt right last time.

The result: some membrane types are getting bid too high (you’re losing bids you’d win at the real rate) and some are getting bid too low (you’re winning bids that lose money). You don’t know which is which because cost-per-SF by membrane type is invisible in the books.

You can’t price what you don’t measure. Bid units must match cost units.

WHY IT KEEPS HAPPENING

THREE STRUCTURAL BREAKDOWNS

BREAKDOWN 1

COST CODES DON’T SPLIT BY MEMBRANE TYPE

Most waterproofing job cost structures have one labor line, one material line, one equipment line per project. A job with both hot-applied below-grade and sheet membrane on the deck gets coded to the same labor bucket. By the time costs hit the books, you can’t separate what hot-applied labor cost from what sheet membrane labor cost. The data is gone. The fix is splitting cost codes by membrane category from day one of the job.

BREAKDOWN 2

LABOR HOURS AREN’T LOGGED BY SF COMPLETED

Crews report hours to a job number. They don’t report SF completed by the day. So even with split cost codes, you have hours by membrane type but no production rate. You can’t answer “how many SF of hot-applied per labor hour did we hit on the bank job” because the daily SF wasn’t tracked. Production rates are the bridge between labor cost and SF unit cost. Without them, the math doesn’t close.

BREAKDOWN 3

MATERIAL WASTE FACTORS ARE GUESSED

Sheet membrane has waste. Hot-applied has waste. Detail work around penetrations has waste. The waste factor differs by membrane, by detail count, by crew, by weather. Most estimators use a flat 8% or 10% across the board. Real waste runs 5% on simple flat slabs and 18% on penetration-heavy decks. Bidding 10% on a 18%-waste job loses the difference. Tracking actual waste by job type fixes the next bid.

THE FIX

BUILD SF UNIT COST TRACKING

SPLIT COST CODES BY MEMBRANE CATEGORY

One labor code per membrane type. Hot-applied labor separate from sheet membrane labor separate from liquid-applied labor separate from detail work. Same on material. Same on equipment if equipment differs (hot-applied needs a kettle; sheet membrane doesn’t). The code structure is the foundation — do it once, use it on every job.

LOG DAILY SF COMPLETED BY MEMBRANE TYPE

Foreman reports daily SF completed per membrane category at end of shift. Five minutes of data entry. The phone or tablet works. This is the production rate signal — SF completed divided by labor hours equals SF per hour. Track it by membrane, by crew, by job complexity. After three to four jobs you have real production rates the estimator can use.

SEPARATE DETAIL WORK FROM FIELD AREA

Penetrations, terminations, transitions, and patches run 4–6x the labor per linear foot vs. flat field area. If detail and field get coded together, the average rate hides both signals. Tracking detail labor in its own line lets you price detail-heavy decks at the actual cost — instead of subsidizing them with flat-field margin.

MEASURE ACTUAL WASTE FACTOR BY JOB TYPE

Material delivered minus material installed equals waste. Track it. Compare it to the bid assumption. If you bid 10% waste and the actual was 16%, the next similar job needs 16% in the bid (or a tighter detail plan). Waste is one of the most repeatable cost categories across jobs of similar geometry, which makes it one of the most fixable bid errors.

BUILD A BID-BACK RATE LIBRARY

After every job closes, the actual SF unit cost by membrane type goes into a rate library. Hot-applied labor: $X.XX/SF. Sheet membrane labor: $Y.YY/SF. Material with waste: $Z.ZZ/SF. The next bid uses the library, not a gut number. Within 6–12 months the library is dense enough to bid with confidence on any project type you’ve done before.

WHAT IT LOOKS LIKE LIVE

THE FINANCIAL CONTROL LAYER

SF unit cost tracking is operationally simple but financially structural. The PM and the estimator have to be reading the same data, in the same units, on the same cadence. If the books are tracking labor by job total and the estimator is bidding by SF, the two systems never converge. The estimator stays on gut, the books stay on job total, and the gap stays invisible.

The CFOS Job Profitability module ties production rates and SF unit costs back to the financial system. When labor hits the books, it’s already coded to membrane type and SF. The system computes cost-per-SF automatically and updates the rate library. The estimator pulls from a live data source instead of a stale spreadsheet. Same business, completely different bidding accuracy.

You don’t need more bids. You need bids built on numbers you can defend.

FREQUENTLY ASKED

Three to six months of real-time tracking, plus the closeout data from any active jobs at the start. You need actual production rates across at least 3–4 jobs per membrane type before the rates are reliable. The library compounds — every new job adds to it, and after 12 months you have density across job types, crew compositions, and seasonal variations. The estimator stops guessing on month 3 and stops needing to verify on month 12.
Tool-agnostic. The cost code split works in QuickBooks, Sage 100 Contractor, Foundation, Acumatica, Procore, ControlQore — any system that lets you create custom cost codes and tag labor by code. The daily SF reporting can run in a spreadsheet, a Google Form, or a job-tracking app. What matters is the data structure and the discipline, not the platform. Most subs we work with run it in ControlQore because it ties cost coding to job costing natively.
Two things make it stick. First: the entry has to take 90 seconds or less — phone-based, no laptop, no end-of-week catchup. Second: the foreman has to see the data feed back into their next bid prep. If the SF they report becomes a number that helps them win the next project, they’ll report it. If it disappears into accounting, they won’t. The financial system has to close the loop visibly.
Gross margin tells you whether the job made money overall. SF unit cost tells you why — which membrane type performed against bid and which one didn’t. A job at 18% gross margin might have hot-applied at 28% and sheet membrane at 4%. Without the SF unit cost split, you’d keep bidding both at the same rate next time. With the split, you’d adjust the sheet membrane bid and protect the next job’s margin.
Yes — the unit just changes. For tanks and below-grade structures, the unit might be linear foot of seam or gallon of liquid applied. For specialty work like elevator pit waterproofing, the unit might be each pit. The structural principle is the same: bid in the unit you sell in, track cost in the same unit, build the rate library from actuals. Trades that don’t sell in SF still need unit-based cost tracking — they just track in their actual unit.
Josh Luebker, The Construction CFO
JOSH LUEBKER
THE CONSTRUCTION CFO · SULPHUR PRAIRIE MANAGEMENT

PM and master electrician turned CFO. Managed 150+ projects, $300M+ in volume — Google data centers, military bases, hospitals — before building the financial control system that saves subcontractors from running out of cash. SPM runs the financial function for $1M–$12M commercial subs across 24 trade specializations. Read the methodology at runoncfos.com.

RELATED SYSTEM PAGES
TRADE OS
Waterproofing Operating System
The full CFOS architecture for waterproofing contractors — cost code structure, bid library, margin protection
CFOS MODULE
Job Profitability System
How CFOS makes job-level margin visible while the job is running — not three months after close
CFO SERVICE
CFO for Waterproofing Contractors
The fractional CFO engagement for waterproofing subs — what changes in the first 60 days

PRICE BY THE NUMBERS, NOT THE GUT.

30 minutes. We’ll review your last 3 waterproofing jobs and show you the SF unit cost the books are hiding.

BOOK A FREE CALL OR RUN YOUR FREE CEO REPORT FIRST
SYSTEM CONNECTIONS
CFOS SPINE + MODULES
Run on CFOS — Full System Index Job Profitability System Cash Control System Cash Flow Cycle System
RELATED SYSTEMS
Waterproofing OS Job Profitability System Trade Benchmarking System
SERVICE LAYER
Fractional CFO for Construction Construction Bookkeeping Construction Controllership
THE CONSTRUCTION CFO
Run on CFOS Fractional CFO Cash Control Book a Call CONTROL Book → Josh@ConstructionCFO.net
© 2026 SULPHUR PRAIRIE MANAGEMENT · SULPHUR ROCK, AR
0
Josh Luebker, The Construction CFO
JOSH LUEBKER
FOUNDER & CFO

Master electrician and former project manager, 150+ projects and $2.1B+ in commercial work. Now runs the numbers for subcontractors instead of standing on the job site.

LinkedIn About
Stewart Bohrer, The Construction CFO
STEWART BOHRER
VP OF OPERATIONS

Keeps the system running day to day: job costing, WIP, monthly financial reviews, and the follow-through between calls. Josh handles onboarding.

LinkedIn About
LinkedIn YouTube About Run on CFOS