Cornerstone numbers guide

Water-Restoration Job Costing: A Field-to-Office System That Finds the Leak

Build a per-job costing loop for water-restoration work: cost codes, committed vs. actual cost, labor capture, change events, and a 15-minute closeout review.

The crew rolled off a basement water job on a Friday. The invoice went out at $14,200. Six weeks later the owner pulled the file, added up the supplier statements, the dump tickets, and the payroll hours, and came up with a number that felt wrong — but he couldn't say which part of the job ate the margin. Was it the demo? The rental dehumidifier that sat on site four extra days? The rebuild materials that "grew" by two trips to the lumberyard? Without a per-job record, the answer is a shrug, and the shrug repeats on the next loss.

Job costing is a per-job accounting loop that assigns every dollar of labor, equipment, materials, subcontractor work, and disposal to a specific job file, then compares what you committed to spend against what you actually spent and what you actually collected. It is not a software purchase and it is not your tax accounting. It is a one-page habit that tells you, while the job is still open, whether the numbers are drifting — and tells you at closeout exactly where they drifted.

This guide walks through the whole loop for a small owner-operated restoration shop: the cost codes, the labor capture, the equipment and disposal treatment, change events, an explicit overhead policy, a full worked example, and a closeout review you can run in fifteen minutes. The numbers throughout are examples for illustration, not benchmarks for what your jobs should earn.

What job costing is

Three numbers sit at the center of the system:

  • Committed cost — everything you have promised to spend so far: signed purchase orders, booked rentals, the labor hours you budgeted at your loaded crew rate, and approved change orders. This is the number most shops never write down, and it is the one that gives you early warning.
  • Actual cost — what invoices, timesheets, and receipts say you have spent to date.
  • Collected revenue — not the invoice amount, the money that cleared. On restoration work, especially jobs involving insurance payments or financed customers, the invoice and the deposit are different events.

The loop is simply: estimate, commit, capture, compare, adjust, close. When the comparison runs weekly on open jobs, a leak in the margin shows up as a variance line, not as a year-end surprise.

The loop from estimate to closeout

Each job gets a file — a shared spreadsheet tab, a folder, a job number in whatever tool you run. The file opens when the estimate is approved and closes when the final payment clears and the closeout review is done. Between those two points, five handoffs happen:

  1. Estimate approved. The office breaks the estimate into the same cost codes the field will use. If the estimate says "drying: $2,400," the office splits it into drying labor and drying equipment before the job starts, because the field cannot code to a blended line.
  2. Committed cost recorded. Before demo day, the office writes the planned spend per code. This takes ten minutes and it is the baseline for every variance later.
  3. Field captures daily. Timesheet hours and receipts get coded to the job and the code every day. Not weekly. A Friday memory dump of a five-day job is where labor accuracy goes to die.
  4. Weekly comparison. Actual versus committed, per code. Anything outside the review tolerance your company has chosen gets a note in the file.
  5. Closeout. Final actuals, final revenue, margin calculation, and the fifteen-minute review described near the end of this guide.

The dispatch side of this handoff — who codes what, and when the crew confirms hours — pairs naturally with the routines in the water-damage dispatch playbook. Costing discipline starts at the truck, not at the desk.

Build your cost code list

Keep the list short enough that the field can use it consistently, but detailed enough to show where the money went. Begin with the costs that materially change from job to job, then split a code only when the added detail will change an estimating or operating decision. One workable starter set:

Example cost code list for a small water-restoration shop
CodeNameWhat goes in itWho codes it
1100Demo laborCrew hours on tear-out, hauling within the structureField, daily
2100Drying laborSetup, monitoring visits, pack-out laborField, daily
2200Drying equipmentRental invoices, internal equipment chargesOffice + field log
3100Rebuild laborCarpentry, finish hoursField, daily
3200Rebuild materialsSupplier invoices coded to the job numberOffice
4100SubcontractorsSub invoices against the job numberOffice
5100DisposalLandfill tickets, dumpster rental, haul-off feesField ticket + office
6100Job direct misc.Permits, parking, small job-specific suppliesOffice

Two rules keep the list honest. First, every dollar on a job lands in exactly one code — no "miscellaneous" catch-all that grows all year. Second, the codes on the estimate match the codes in the field. If the estimate line says "demo & disposal," split it before the job opens, or you will spend the whole job guessing which one is over.

Capture labor without guessing

Labor is easy to misstate when hours are reconstructed after the fact. The fix is a company-defined loaded rate plus a daily timesheet with a few fixed fields.

The loaded rate. Take a crew member's wage and multiply it by the burden factor your company has calculated with its accountant for payroll taxes, workers' compensation, and applicable benefits. The factor is a policy decision because burden treatment has accounting and tax dimensions this guide does not prescribe. In words: loaded rate = hourly wage × company burden factor. Example only: if a shop has established a 1.35 factor, a $22/hour technician carries a loaded rate of $29.70, which that shop might round to $30 for internal job costing.

The timesheet fields. Date. Job number. Cost code. Hours. Crew initials. That is the whole record. Captured on paper, a whiteboard photo, or a phone form — the medium matters far less than the daily habit. At the end of each week the office multiplies hours by the loaded rate and posts the result to the job file.

One field worth adding for drying work: equipment on/off dates, logged by the technician at each monitoring visit. That log is what lets you bill and cost equipment accurately instead of estimating "about four days."

Equipment, rentals, and disposal

These three cost families get mishandled in predictable ways, so give each one an explicit rule in writing.

Owned equipment

If you own your air movers and dehumidifiers, they still cost you money — maintenance, replacement, and storage. One possible internal policy is to assign each job a daily planning rate per unit, set from your own records, so jobs that tie up the fleet carry an equipment cost in the job review. That rate is an internal policy decision, not a tax figure. Log unit counts and dates on the same monitoring visits that capture labor.

Rentals

Code rental invoices to the job at invoice value, plus delivery, fuel, and pickup fees. The failure mode is a rental that runs past the planned window because nobody closed it out — which is why the equipment log from the monitoring visits matters. When the log says the space hit its drying goal on Tuesday and the rental ran through Friday, that variance belongs in the closeout review, and possibly in a conversation with the vendor.

Disposal

Keep the scale tickets or dumpster receipts and code them to the job. Hauling in your own truck still has a cost — dump fees at minimum. A job-specific disposal line also gives you a defensible number when a customer or adjuster questions the line item later.

Subcontractors and change events

Subcontractors. Every sub on a job works against a written scope and a quoted price, recorded as committed cost the day the agreement is made. Their invoice then posts as actual against that commitment. If a sub's invoice arrives without a job number, it does not get paid until it gets one — a single missing job number is how sub costs end up smeared across the whole year's overhead.

Change events. Restoration jobs change: the tech pulls baseboard and finds wet insulation in the wall cavity, or the homeowner asks for the crawlspace to be included. The loop for a change event has four steps, and skipping any of them is how margin quietly drains:

  1. Document. The technician records what was found, with photos, before additional work proceeds. Technical judgments about moisture conditions and drying belong to trained professionals following documented procedures — the ANSI/IICRC S500 standard exists for that purpose, and its overview from the IICRC is the right reference for that side of the work. Job costing's role is narrower: record the event and its cost.
  2. Price. The office prices the added scope using the same cost codes as the base job.
  3. Record authorization. Follow your contract, applicable requirements, and written emergency procedures to document who authorized the changed scope and when. This article does not define when work may proceed.
  4. Update committed cost. The same day the change order is approved, add the added cost to the job's committed lines. A change order that adds revenue without adding committed cost will flatter your margin until the invoices land.

Overhead allocation as a written policy

Job costing captures direct costs: the labor, equipment, materials, subs, and disposal tied to that specific loss. It does not capture your office rent, your software, your insurance, or your own unpaid hours. To see whether a job truly carries its weight, many shops layer an explicit overhead allocation on top — a written policy, applied the same way to every job.

A simple version: allocated overhead = overhead rate × job revenue, where the rate is a percentage you set annually from your own books. Example only: a shop that runs $400,000 of annual overhead against $2,000,000 of expected revenue might set a 20% rate; a smaller shop might use 12% or 15%. The specific percentage is yours to choose with your accountant — this guide does not prescribe an accounting or tax treatment, and the allocation line is for internal job review, not for your books unless your accountant says otherwise.

What the policy buys you is honesty at the job level. A job that clears 40% gross margin but only 18% after allocation is a different animal from one that clears 35% and 28%, and you cannot tell them apart without the line. If you want a worksheet structure for this, the Growth Pack margin worksheet lays out the gross-to-net progression in a form you can copy into your job file.

A full worked example

Here is the whole loop on one job. The numbers are invented for illustration — they show the arithmetic, not a target.

Job 24-118: an example finished-basement water job with an approved estimate of $14,200. The office records committed cost before demo day, using the $30/hour loaded rate from earlier (an example figure, not a benchmark).

Change event: on day two, the technician finds wet insulation in an adjacent crawlspace. Change order priced at $1,850, signed by the homeowner, with added committed cost of $690 (drying labor, equipment days, disposal). Total approved revenue becomes $16,050.

Job 24-118 — committed vs. actual at closeout (example figures)
CodeCommitted (base)Committed (change)Total committedActualVariance
1100 Demo labor$1,200$0$1,200$1,380−$180
2100 Drying labor$720$360$1,080$660+$420
2200 Drying equipment$640$180$820$655+$165
3100 Rebuild labor$1,800$0$1,800$1,740+$60
3200 Rebuild materials$3,100$0$3,100$3,265−$165
4100 Subcontractors$800$0$800$800$0
5100 Disposal$450$150$600$515+$85
Total$8,710$690$9,400$9,015+$385

Reading the variance column: positive means the job came in under committed, negative means over. In words, variance = total committed − actual. Two lines stand out. Demo labor ran $180 over — 46 actual hours against a 40-hour budget, which the closeout review traces to a half-day of double handling on the debris. Rebuild materials ran $165 over from two unplanned supplier runs. Drying labor came in well under because the crawlspace dried faster than budgeted.

The margin math, explained step by step:

  • Collected revenue: $14,200 base + $1,850 change order = $16,050 (assume final payment cleared — see collections below).
  • Job margin in dollars: revenue − actual cost = $16,050 − $9,015 = $7,035.
  • Job margin percent: margin ÷ revenue = $7,035 ÷ $16,050 ≈ 43.8%.
  • Overhead allocation (example policy of 12%): 0.12 × $16,050 = $1,926. Margin after allocation = $7,035 − $1,926 = $5,109, or about 31.8% of revenue.

You can enter final collected revenue and actual cost totals in the Water Job Margin Calculator to check the gross-to-net arithmetic. Keep the line-by-line committed-versus-actual detail in the job file. The percentages themselves mean nothing in isolation — a job at 31.8% after overhead is only good or bad compared with your other jobs and your own overhead policy.

The 15-minute closeout review

Every closed job gets fifteen minutes with the file, within a week of final payment. The review has two halves: money and follow-through.

Money (about 8 minutes)

  • Confirm every cost line has an actual posted — no open commitments left dangling.
  • Compute margin dollars and margin percent; record both on the job summary.
  • Apply the overhead allocation per your written policy and record margin after overhead.
  • Flag any code that missed your variance tolerance and write one sentence on why.
  • Confirm the change orders: every added-cost event has a signed approval on file.

Collections and follow-up (about 7 minutes)

  • Confirm final payment cleared. If the invoice and the deposits don't reconcile to collected revenue, the margin number isn't real yet — keep the job open until it is.
  • If a balance remains, set the next follow-up date and the responsible person before you close the file. An uncollected balance with no follow-up date is how write-offs happen.
  • Note anything the next estimate should account for — the demo double-handling, the materials runs — so the learning lands in the next bid instead of the next apology.

Which numbers deserve a standing slot on your weekly dashboard — margin percent, days-to-payment, change-order frequency — is covered in the small-shop restoration KPI guide. The closeout review feeds it; the KPIs tell you whether the pattern repeats.

Questions owners ask

Do I need job-costing software to start?

No. A spreadsheet with one tab per job, the cost codes as columns, and three rows per code (committed, actual, variance) runs the entire loop. Move to software when version control, permissions, or the volume of open jobs makes the spreadsheet harder to trust than the system replacing it.

My crew won't fill out timesheets. What then?

Shrink the ask. Four fields, thirty seconds, at the same moment they already report status — the end-of-day check-in. The owner or office manager codes the sheet if handwriting is the obstacle. The alternative is estimating labor after the fact, which means your largest cost line is a guess.

Is overhead allocation the same as markup?

No. Markup is what you add when pricing a job. Allocation is what you charge against a finished job internally to see whether it carried its share of the business's fixed costs. You can mark up 50% and still allocate 15% for review purposes — the two numbers answer different questions.

When do I stop tracking a job?

When final payment has cleared and the closeout review is written. A job with an open balance stays open, because its true margin isn't known until the money lands.

Sources and operating boundaries

Two primary sources inform the boundaries of this guide:

  • IRS small-business recordkeeping guidance — supports the general need to keep records that back up income and expenses. Which records to keep, in what form, and for how long is a question for your accountant or tax professional; this guide does not prescribe accounting or tax treatment for any cost, allocation, or retention practice described here.
  • ANSI/IICRC S500 overview (IICRC) — context that moisture assessment, drying decisions, and restoration procedures belong to trained professionals working from documented standards. Nothing in this costing system substitutes for those technical judgments.

More broadly, this article does not replace qualified professionals on safety clearance, structural or microbial assessments, accounting policy, tax positions, contracts, or legal disputes. It is an operating framework for tracking job economics — the numbers you record, the comparisons you run, and the review you hold — so that when you do sit down with your accountant, your insurer, or your attorney, the records are already in order.