A closeout review only works if actual costs sit under the same headings as the estimate. Many roofing books do not. Fuel, a second dumpster, a Saturday supply run and a box of fasteners all land in one account called Job Expenses, or Miscellaneous. The job total looks fine. The signal that disposal ran long, or that waste ran high, is buried in a lump nobody opens.

What a Catch-All Account Hides

All figures below are illustrative. A $14,800 reroof was estimated at $11,100 of direct cost (25% gross margin). At closeout, the books show this:

Cost code Estimate Books as coded After recoding
Materials$5,300$5,420$5,790
Labor$3,300$3,310$3,310
Disposal$800$640$1,420
Equipment$450$420$420
Permits$185$185$185
Job Expenses$1,065$1,150$0
Total$11,100$11,125$11,125

Margin lands at 24.8%, so nothing looks wrong. But the $1,150 held a $780 second dumpster haul and $370 of fasteners and sealant. Recoded, disposal is $1,420 against an $800 estimate: 77% over. Materials ran $490 over, not $120. Two lines drifted, and the books could not show it.

The Seven Codes

  1. Materials. Shingles, underlayment, flashing, fasteners, sealant, and delivery fees from the supplier.
  2. Labor. Crew wages plus the burden you assign. See labor burden.
  3. Subcontractors. Paid 1099 crews and specialty trades.
  4. Disposal. Dumpsters, dump fees and haul-off. See tear-off disposal costs.
  5. Equipment. Truck, trailer and tool cost charged to jobs. See equipment cost per job.
  6. Permits and fees. Permit, inspection and lien filing costs. See permit and inspection fees.
  7. Other job cost. A narrow bucket for anything that fits nowhere else.

Your estimate template should use these same headings, in the same order. That is what makes the closeout review a 15-minute task.

Three Coding Rules

  • Code at entry, not at month end. Whoever enters the bill picks the job and the code. A receipt coded three weeks later is coded from memory.
  • Cap Other at 2% of job cost. On the $11,125 job above, that is about $222. Anything above it gets reviewed and moved.
  • Keep the chart stable. Add a code only when the same cost shows up on several jobs in a quarter. Renaming accounts mid-year breaks comparisons.

How to Roll It Out in One Afternoon

  1. List your current accounts. Most roofing files carry 15 to 30 expense accounts that touch jobs. Map each one to a single code from the list above.
  2. Merge, do not delete. Merging duplicate accounts keeps history intact. Ask your bookkeeper or CPA to confirm the merge before you run it.
  3. Brief the people who enter bills. Give the office manager and each crew lead a one-page card showing the seven codes with two examples each. Coding errors almost always come from the card, not the person.
  4. Review the first three closed jobs. Pull the Other account on each, recode what does not belong and note which receipts caused the misses. Those patterns tell you what to add to the card.

After one quarter, compare estimate to actual by code across every closed job. If disposal runs 20% over on most of them, the problem is your estimate, not one crew. That is a pricing fix worth far more than the hour you spent on setup.

Common Mistakes

  • Coding to what the bank statement says. A card charge from a building supply store may be fasteners, a dumpster or tools. Code it from the receipt.
  • Splitting materials by brand or product. Twenty material codes mean nobody uses them. Keep detail in the supplier invoice.
  • Running the check once a year. Pull the Other account each month and list anything over $100. It takes 10 minutes.
💡 Confirm with your CPA. Job cost codes are a management tool. Ask your CPA before restructuring your chart of accounts so year-end tax reporting stays consistent.