Beancount.io LogoBeancount.io

Roofing Contractor Bookkeeping for Storm Restoration: ACV, RCV, Mortgage-Endorsed Checks, Supplements, and Warranty Reserves

20 min readMike ThriftMike Thrift
Roofing Contractor Bookkeeping for Storm Restoration: ACV, RCV, Mortgage-Endorsed Checks, Supplements, and Warranty Reserves

A hailstorm rolls through a county on a Thursday afternoon. By Friday morning, fifteen roofing trucks have parked in the affected neighborhood, and one of them will sign a hundred contracts before the weekend ends. Three months later, half those jobs will still be unpaid — not because the homeowners are deadbeats, but because the contractor's books cannot tell anyone what stage of the insurance payment cycle each job is in.

Storm restoration roofing is not the same business as retail roofing, even though the materials and the crews look identical. The cash flow shape is completely different. A retail roof is a single invoice paid in one or two checks. An insurance roof can produce four separate payments — initial Actual Cash Value, recoverable depreciation, supplement, and overhead-and-profit recovery — arriving across ninety to one hundred eighty days, each one routed through a mortgage company that may sit on it for two more weeks. Bookkeeping that treats every job as a single transaction will quietly bleed cash for an entire season before anyone notices.

This guide walks through how independent storm-restoration roofers separate insurance work from retail work in the chart of accounts, account for the ACV-then-RCV two-check sequence as receivables until depreciation is released, manage mortgage-endorsed checks without losing track of where they sit, file supplements without inflating revenue twice, comply with state laws on deductibles and solicitation, and reserve for workmanship warranty and manufacturer certification costs that will land on the income statement long after the customer has stopped thinking about you.

Why Storm Restoration Breaks Standard Contractor Bookkeeping

A normal contractor records revenue when a job is complete and bills the customer directly. The customer either pays cash or finances through a lender the contractor never sees. Receivables age in a predictable thirty-, sixty-, ninety-day pattern. Job costing is straightforward: materials and labor in, revenue out, gross margin obvious.

Insurance roofing breaks every one of those assumptions. The customer is not really the payer — the insurance carrier is. The contract amount is not negotiated by the contractor and the homeowner; it is set by an adjuster's scope of work that nobody at the roofing company controls. The payments arrive in fragments tied to physical milestones (work started, work complete, supplement approved) rather than billing cycles. And a third party — the homeowner's mortgage lender — has the legal right to sit on every check because the lender's lien is older than your invoice.

Run that business with the same QuickBooks file you use for retail jobs and three things go wrong. Revenue gets recognized too early when only the ACV check has arrived. Receivables look like they're paid when in reality they are sitting in escrow at a bank in another state waiting for mortgage endorsement. And supplements — additional work approved by the carrier mid-job — get booked as new revenue, double-counting against the original scope.

The fix is structural. Storm-restoration roofers need a chart of accounts that knows the difference between an insurance job and a retail job from the very first transaction, and a revenue recognition policy that follows the carrier's payment schedule rather than the contractor's billing wishes.

Build the Chart of Accounts Around the Payer, Not the Customer

The single most important design choice in storm-restoration bookkeeping is splitting revenue and receivables by payer type. The homeowner remains the customer of record on the contract, but the cash flow comes from somewhere else, and the books have to follow the cash.

A workable structure looks something like this:

  • Revenue — Insurance Jobs — Residential captures every job where an insurance carrier is funding the work. Sub-accounts can split by carrier if concentration risk matters to a lender, but at minimum keep insurance separate from retail at the parent level.
  • Revenue — Retail Jobs — Residential is for cash, credit, or financed jobs that have no insurance claim attached. The margin profile is usually thinner because the homeowner negotiates, but the cash arrives faster and the receivable risk is concentrated in one party.
  • Revenue — Commercial is its own category because commercial roofing is contractually different — usually progress-billed against AIA-style draws rather than insurance milestones.
  • Revenue — Supplements is a separate line under insurance revenue, not a new contract. Supplements adjust the original scope of work; tracking them in their own account makes it obvious how much of the season's revenue came from finding additional damage versus the original bid.

On the receivable side, mirror the same split:

  • Accounts Receivable — ACV Pending holds the first scheduled payment from the carrier while it is in transit to the mortgage company or in the carrier's processing queue.
  • Accounts Receivable — Recoverable Depreciation Held by Carrier is the amount the carrier has agreed to release once work is documented as complete. This is not a billed receivable in the traditional sense — it is contractually owed but contingent on completion proof — and treating it as a separate aging bucket prevents misreading the AR aging report.
  • Accounts Receivable — Supplement Pending Approval captures supplement requests submitted to the carrier but not yet approved. These should not be recognized as revenue until approved, but tracking them as a memo balance helps the office staff chase carriers that go silent.
  • Accounts Receivable — Mortgage-Endorsement Float is for any check that has been issued by the carrier but is sitting at the homeowner's mortgage servicer awaiting endorsement. This bucket exists because checks named jointly to the homeowner and the lender can take ten to thirty business days to come back, and the contractor has no influence on that timeline.

Once these buckets exist, an AR aging report stops being a misleading mess. The owner can see at a glance how much money is theoretically earned but stranded in the mortgage endorsement pipeline versus how much is sitting in supplement limbo at a carrier's desk versus how much is genuinely past due from a homeowner who owes the deductible.

The ACV-then-RCV Two-Check Sequence as a Receivable, Not as Two Sales

Replacement Cost Value policies — the kind most homeowners carry today — pay in two scheduled steps. The first check is the Actual Cash Value: replacement cost minus depreciation for the age and condition of the roof, minus the homeowner's deductible. This is the carrier's commitment to the loss they've already accepted. The second check is the recoverable depreciation, released only after the homeowner provides invoices, photographs, and proof of completion within the policy's deadline (often twelve months from the loss).

The wrong way to book this is to treat each check as a separate sale. The right way is to record the full Replacement Cost Value of the contract as revenue under the percentage-of-completion or completed-contract method, with the ACV portion sitting as cash received and the depreciation portion sitting as a receivable owed by the carrier.

Consider a $30,000 insurance roof on a fifteen-year-old home with a $1,000 deductible. The carrier's scope sets ACV at $19,000 ($30,000 RCV minus $10,000 depreciation minus the $1,000 deductible). The first check arrives jointly to the homeowner and the mortgage lender for $19,000. The contractor's books should reflect:

  • Contract revenue of $30,000 (recognized either at completion or as costs are incurred, depending on the contractor's policy)
  • Cash collected of $19,000 when the endorsed check is deposited
  • Accounts Receivable — Deductible from Homeowner of $1,000
  • Accounts Receivable — Recoverable Depreciation Held by Carrier of $10,000

When the work finishes and the certificate of completion goes to the carrier with invoices, the carrier releases the $10,000 depreciation check (again routed through the mortgage company), which clears the depreciation receivable. If the homeowner pays the deductible at scheduling — which Texas, Florida, Colorado, and a growing list of states now legally require the contractor to collect — that piece clears separately.

The reason this matters: a contractor who books only the ACV check as revenue will systematically understate revenue and gross margin during the early stages of every job, and will overstate them later when the depreciation finally arrives. The income statement will swing month to month for reasons that have nothing to do with operations.

Mortgage-Endorsed Checks: The Hidden Bottleneck Nobody Models

When a homeowner has a mortgage, the insurance carrier almost always makes the loss-payment checks payable jointly to the homeowner and the mortgage lender. The lender's interest in the property is older and senior to the contractor's, so the carrier protects that lien by requiring the lender to endorse the check before funds can be disbursed for repairs.

Mortgage endorsement is not a single process. Small local banks may endorse and forward the check within five business days on receipt of a simple repair contract. Large national servicers — the kind that hold most mortgages today — frequently require the homeowner to mail in the original check, sign affidavits, provide a contractor's W-9, submit photos of completed work for partial releases, and wait through an inspection by a third-party draw inspector before any funds are released. On large losses, lenders sometimes release funds in three tranches: an initial draw at start, a mid-job draw at 50% completion, and a final draw at completion, each requiring its own inspection.

The bookkeeping implication is that a $50,000 loss payment can sit in mortgage-endorsement limbo for sixty days while the contractor has already paid for materials and labor. If your books show the receivable aging from the date of the carrier's check rather than the date of the lender's expected release, the AR aging report tells you nothing useful.

Practical fix: when a carrier check is issued, post it to Accounts Receivable — Mortgage-Endorsement Float with two memo fields — the date the carrier issued the check and the lender currently holding it. Each week, the office runs a "mortgage chase" report that lists every check sitting at a lender for more than ten business days, with the homeowner's name, lender contact, and current status. This becomes a daily phone call for someone in the office during storm season. Without that report, jobs go dormant for months because nobody knows whose lender is the bottleneck.

Supplements: A Revenue Adjustment, Not a New Job

A supplement is an after-the-fact request to the carrier for payment of work that was missed in the original scope. Common examples include rotted decking discovered after tear-off, drip edge that the adjuster left off the scope, code-required ice and water shield in northern climates, and overhead-and-profit on a job that escalated to three or more trades.

Supplements are submitted with documentation — photos, code citations, manufacturer specs — and approved (or denied) by the carrier. The total contract amount changes when a supplement is approved.

The bookkeeping risk is double-counting. If the supplement is treated as a new sales transaction with its own revenue entry, the company can appear to have a 30% higher revenue line for the year while in reality the supplement is just topping up jobs that were already booked at the original scope. Lenders, buyers, and tax preparers will all read this wrong.

The cleaner approach is to record supplements as adjustments to the original contract value. When a $4,200 supplement is approved on the $30,000 roof from the example above:

  • Contract value increases from $30,000 to $34,200
  • Revenue recognition catches up if the job is already complete
  • Accounts Receivable — Supplement Pending Approval was a memo; now the approved portion shifts to Accounts Receivable — Recoverable Depreciation Held by Carrier (or directly to cash if the supplement check is issued separately and arrives endorsed)

For internal reporting, the Revenue — Supplements sub-account exists precisely so management can see how much of the season's revenue is original scope versus supplemental work. That ratio is a leading indicator of how aggressively your estimators are scoping (or how badly the adjusters in your market are underscoping) and is one of the metrics private equity buyers explicitly ask about when they evaluate a roofing platform.

Job-Costing Tear-Off, Decking, Underlayment, and Shingles With Waste Factors

A roof is fundamentally a manufactured product assembled on the customer's property, and it should be costed like a small manufacturing job. Each completed roof carries direct material, direct labor, equipment time, and an allocated share of overhead. A storm-chasing operator who books labor and materials only at the company level — without job-costing each roof — has no idea which crews, which neighborhoods, or which carriers are actually profitable.

A workable job-cost structure tracks:

  • Materials by category: shingles, underlayment, decking replacement, drip edge, ridge vent, flashing, fasteners, ice and water shield. Each category gets a waste factor — typically 10 to 15 percent for straightforward roofs and 15 to 20 percent for complex roofs with multiple hips, valleys, and dormers. Waste is real cost; it has to live in the job, not in a generic "supplies" expense bucket.
  • Direct labor by crew: tear-off, decking carpentry, install, cleanup. Production crews paid by the square should be costed at the actual square count and rate; hourly crews should be timed against the job.
  • Subcontracted labor: if a 1099 crew performed the install, the subcontractor invoice ties to the job. State licensing rules in some markets restrict the use of unlicensed subs for roofing work — those costs need to be visible to compliance review.
  • Equipment and dumpster: dumpster rental, equipment trailer, fuel allocation, magnetic nail sweep rental. These are direct job costs, not period overhead.
  • Permits and inspections: permit fees, third-party inspection fees if the lender required one. Tying permits to the job also creates the audit trail that proves the project was permitted, which carriers increasingly use to confirm whether to release recoverable depreciation at RCV or downgrade to ACV.

The output of all this is a per-job gross margin number. Most healthy storm-restoration roofers run 40 to 50 percent gross margin on insurance work after deductible collection and supplement approval. If a job comes in below that range, the postmortem usually identifies one of three problems: an under-scoped estimate that should have been supplemented, a crew that took longer than the square rate assumed, or material waste that exceeded the planned percentage.

Workmanship Warranty and Manufacturer Certification Reserves

Most reputable roofers offer a workmanship warranty of ten years or more, and many install at the certified-contractor tier of a major manufacturer (GAF Master Elite, CertainTeed SELECT ShingleMaster, Owens Corning Platinum Preferred) to unlock extended manufacturer warranties on materials. Both of these have real accounting consequences that get ignored on smaller books.

A workmanship warranty is a stand-ready performance obligation: the contractor has promised future labor at no charge if defects appear in the workmanship within the warranty period. Under ASC 606, an "assurance-type" warranty — a promise that the work meets agreed specifications — is accrued as a cost reserve at the time of sale, not as a separate performance obligation. A "service-type" warranty that offers additional services beyond the assurance baseline is treated as a separate performance obligation with revenue deferred.

For practical purposes, a basic ten-year workmanship warranty on a residential roof is generally an assurance-type warranty. The accounting move is to estimate the expected callback cost as a percentage of contract revenue — historically 1 to 3 percent for well-run roofers — and accrue it monthly as a cost of revenue with a corresponding liability on the balance sheet (Workmanship Warranty Reserve). When a callback occurs, the actual labor and materials get charged against the reserve rather than hitting the current period as a fresh expense.

Without that reserve, the income statement looks unrealistically strong during high-volume months and gets brutalized two years later when callbacks pile up from a bad batch of installs. Lenders performing diligence on a roofing platform almost always probe the warranty reserve methodology because its absence is a red flag for earnings quality.

Manufacturer certification costs — annual fees, training, lead-installer credentials, sample-roof inspections — are operating expenses but should be tracked in a dedicated account (Certifications & Training) because they trend with quality investments rather than volume. They are also Section 179 eligible if a manufacturer requires the purchase of specific equipment to maintain certification.

State Public-Adjuster, Rebating, and Solicitation Laws

The legal landscape around storm-restoration roofing has tightened sharply since 2019, and the bookkeeping has to reflect compliance, not just revenue.

Deductible rebating is now a misdemeanor in Texas under House Bill 2102, illegal in Florida under Section 489.147, and explicitly prohibited in Colorado, Minnesota, Iowa, and a growing list of other states. A contractor who "absorbs" the homeowner's deductible — either by quietly building it into the contract or by writing it off after the work — is committing insurance fraud in those jurisdictions. The accounting consequence is that the deductible must be recorded as a genuine receivable from the homeowner and either collected or written off through a documented bad-debt process, not silently buried.

Public-adjuster activity by contractors is restricted in most states. A roofer who negotiates loss amounts directly with a carrier on behalf of a homeowner can be cited for practicing public adjusting without a license, and the contract can be voided. The accounting impact is operational — companies that provide adjusting-adjacent services need a licensed public adjuster on retainer (treated as a contracted professional service) rather than having estimators do the work informally.

Solicitation restrictions vary by state but generally prohibit door hangers, business cards, and flyers that "encourage, instruct, or induce" a homeowner to file an insurance claim. Marketing spend on these materials becomes a compliance risk in restricted states, and the marketing budget categorization should distinguish lead-generation costs in permissive markets from compliant-only marketing in restricted markets.

Florida's Assignment of Benefits (AOB) reforms and similar legislation in other states have changed the legal mechanism by which a contractor can be paid directly by a carrier without the homeowner endorsing the check. Where AOBs are still permitted, they convert what would otherwise be a mortgage-endorsement bottleneck into a direct contractor receivable, dramatically improving cash flow. Where AOBs have been restricted, the contractor is back to chasing endorsements one mortgage company at a time.

A clean books practice in a multi-state storm chase: tag every contract with the state of loss, and let the chart of accounts flag the deductible-collection workflow, the AOB eligibility, and the supplement-submission rules accordingly.

Form 8300, Cash Down Payments, and Wire Fraud Exposure

Insurance roofs sometimes involve large cash transactions — a homeowner paying a $5,000 to $15,000 deductible in cash, a supplement check cashed and the proceeds handed to the contractor, or a settlement transferred via wire from the carrier directly to the contractor under an AOB.

Form 8300 reporting kicks in whenever a business receives more than $10,000 in cash or cash equivalents from a single transaction or a series of related transactions within a twelve-month period. Roofers who allow homeowners to pay deductibles in stacks of bills need a Form 8300 protocol. The cleaner practice is to require all deductibles to be paid by personal check, credit card, or financed through a third-party lender, and to write that requirement into the contract.

Wire fraud is a separate but related risk. Storm-restoration companies are routinely targeted by business-email-compromise attacks where a scammer impersonates a homeowner and redirects the carrier's wire to a fraudulent account. The accounting controls that prevent this are basic but rarely followed: dual approval on wire-disbursement changes, voice confirmation through a known phone number for any new payee instructions, and a documented incoming-wire reconciliation process that flags unexpected payment sources within twenty-four hours.

The Storm-Season Cash Flow Curve

Storm-restoration roofing has a cash flow shape no retail business would recognize. After a major event — hail, hurricane, derecho — contracts can sign at three to ten times normal volume in seventy-two hours. Material orders and crew mobilization eat cash immediately. Carrier payments lag by ninety days on the ACV check and one hundred eighty days on the recoverable depreciation. Mortgage endorsement adds another two to six weeks on top.

The numerical effect is that a roofer can be the most profitable he has ever been on paper while running out of cash. Material credit lines have payment terms of net-30 to net-60. Crew payroll is weekly. Equipment leases are monthly. The carrier money does not arrive until the cycle is half over.

The accounting practice that prevents this from blowing up the company is a thirteen-week cash flow forecast updated weekly during storm season, with discrete buckets for ACV-collected, depreciation-pending, supplement-pending, and deductible-pending. The forecast pairs with a real-time AR aging report broken out by the receivable type defined earlier in this guide. Without those two reports, a successful storm chase ends in a bank covenant default.

Section 179 and Bonus Depreciation on Trucks, Trailers, and Tear-Off Equipment

The capital equipment side of storm-restoration roofing is meaningful. A typical operation runs multiple service trucks, dump trailers, magnetic sweepers, drone equipment for inspections, ladder-lift conveyors, and crew safety harness systems. These are all Section 179 or bonus depreciation eligible, and the tax treatment can swing a profitable year from a heavy tax bill to a manageable one.

Section 179 allows immediate expensing up to the annual cap (adjusted for inflation each year) for qualifying property. Bonus depreciation under Section 168(k) phased down to 60% in 2024 and continues stepping down, though pending legislation has periodically reset the schedule. Vehicles over 6,000 pounds GVWR are partially Section 179 eligible with their own cap; lighter trucks fall under the smaller listed-property limits.

The bookkeeping discipline is simple: every capital purchase needs to be tagged at the time of purchase as Section 179 eligible, eligible for bonus only, or standard MACRS, and the tax preparer needs that classification at year-end. Inventory waste, repair-versus-improvement decisions on used equipment, and the de minimis safe harbor election for items under $2,500 per invoice are all judgment calls that need a written capitalization policy on file.

Keep Your Roofing Books Storm-Ready From Day One

Storm restoration rewards operators who can scale crews and contracts fast, but it punishes operators whose books cannot keep up. The difference between a company that survives its first major event and one that collapses three months later usually has nothing to do with the quality of the install — it has to do with whether the chart of accounts knew the difference between an ACV receivable and a depreciation receivable, whether the AR aging report excluded mortgage-endorsement float from the past-due column, and whether the warranty reserve was being funded each month so callbacks did not blow up next year's margins.

Beancount.io offers plain-text accounting that gives roofing operators complete transparency and version control over every job's revenue recognition, receivable bucket, and warranty reserve — no black boxes, no vendor lock-in, no surprises when a carrier audit lands. Get started for free and see why operators in construction trades are moving to plain-text accounting that scales with the next storm.