XML 23 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition
9 Months Ended
Sep. 30, 2021
Revenue from Contract with Customer [Abstract]  
Revenue Recognition REVENUE RECOGNITION
Our revenues are derived primarily through contracts with customers whereby we install insulation and other complementary building products and are recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services. We account for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance and collectability of consideration is probable. An insignificant portion of our sales, primarily retail sales, is accounted for on a point-in-time basis when the sale occurs, adjusted accordingly for any return provisions. We do offer assurance-type warranties on certain of our installed products and services that do not represent a separate performance obligation and, as such, do not impact the timing or extent of revenue recognition.

For contracts that are not complete at the reporting date, we recognize revenue over time utilizing a cost-to-cost input method as we believe this represents the best measure of when goods and services are transferred to the customer. When this method is used, we estimate the costs to complete individual contracts and record as revenue that portion of the total contract price that is considered complete based on the relationship of costs incurred to date to total anticipated costs. Under the cost-to-cost method, the use of estimated costs to complete each contract is a significant variable in the process of determining recognized revenue, requires judgment and can change throughout the duration of a contract due to contract modifications and other factors impacting job completion. The costs of earned revenue include all direct material and labor costs and those indirect costs related to contract performance, such as indirect labor, supplies, tools and repairs. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined.

Our long-term contracts can be subject to modification to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new, or changes the existing, enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing contract due to the significant integration service provided in the context of the contract and are accounted for as if they were part of that existing contract. The effect of a contract modification on the transaction price and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.

Payment terms typically do not exceed 30 days for short-term contracts and typically do not exceed 60 days for long-term contracts with customers. All contracts are billed either contractually or as work is performed. Billing on our long-term contracts occurs primarily on a monthly basis throughout the contract period whereby we submit invoices for customer payment based on actual or estimated costs incurred during the billing period. On certain of our long-term contracts the customer may withhold payment on an invoice equal to a percentage of the invoice amount, which will be subsequently paid after satisfactory completion of each installation project. This amount is referred to as retainage and is common practice in the construction industry, as it allows for customers to ensure the quality of the service performed prior to full payment. Retainage receivables are classified as current or long-term assets based on the expected time to project completion.
We disaggregate our revenue from contracts with customers by end market and product, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. The following tables present our revenues disaggregated by end market and product (in thousands):

Three months ended September 30,Nine months ended September 30,
2021202020212020
Residential new construction$386,346 76 %$315,434 75 %$1,091,414 76 %$912,095 75 %
Repair and remodel34,506 %28,625 %94,142 %75,702 %
Commercial88,911 17 %76,427 18 %249,371 17 %223,959 19 %
Net revenue$509,763 100 %$420,486 100 %$1,434,927 100 %$1,211,756 100 %

 Three months ended September 30,Nine months ended September 30,
 2021202020212020
Insulation$324,360 64 %$268,292 64 %$921,181 64 %$779,045 64 %
Waterproofing34,514 %33,272 %98,727 %89,855 %
Shower doors, shelving and mirrors35,411 %29,282 %101,830 %85,199 %
Garage doors26,951 %24,001 %77,434 %68,655 %
Rain gutters21,807 %17,295 %62,270 %41,942 %
Fireproofing/firestopping(1)
17,684 %11,047 %43,156 %36,325 %
Window blinds13,197 %12,166 %37,398 %34,651 %
Other building products35,839 %25,131 %92,931 %76,084 %
Net revenue$509,763 100 %$420,486 100 %$1,434,927 100 %$1,211,756 100 %

(1)Combined with "Other building products" in previous years.

Contract Assets and Liabilities

Our contract assets consist of unbilled amounts typically resulting from sales under contracts when the cost-to-cost method of revenue recognition is utilized and revenue recognized, based on costs incurred, exceeds the amount billed to the customer. Our contract assets are recorded in other current assets in our Condensed Consolidated Balance Sheets. Our contract liabilities consist of customer deposits and billings in excess of revenue recognized, based on costs incurred and are included in other current liabilities in our Condensed Consolidated Balance Sheets.

Contract assets and liabilities related to our uncompleted contracts and customer deposits were as follows (in thousands):
 September 30, 2021December 31, 2020
Contract assets$32,265 $24,334 
Contract liabilities(10,611)(8,965)

Uncompleted contracts were as follows (in thousands):
 September 30, 2021December 31, 2020
Costs incurred on uncompleted contracts$216,929 $169,544 
Estimated earnings112,854 90,737 
Total329,783 260,281 
Less: Billings to date301,626 240,665 
Net under billings$28,157 $19,616 
Net under billings were as follows (in thousands):
 September 30, 2021December 31, 2020
Costs and estimated earnings in excess of billings on uncompleted contracts (contract assets)$32,265 $24,334 
Billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities)(4,108)(4,718)
Net under billings$28,157 $19,616 

The difference between contract assets and contract liabilities as of September 30, 2021 compared to December 31, 2020 is primarily the result of timing differences between our performance of obligations under contracts and customer payments. During the three and nine months ended September 30, 2021, we recognized $0.1 million and $8.6 million of revenue that was included in the contract liability balance at December 31, 2020. We did not recognize any impairment losses on our receivables and contract assets during the three and nine months ended September 30, 2021 or 2020.

Remaining performance obligations represent the transaction price of contracts for which work has not been performed and excludes unexercised contract options and potential modifications. As of September 30, 2021, the aggregate amount of the transaction price allocated to remaining uncompleted contracts was $94.9 million. We expect to satisfy remaining performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.

Practical Expedients and Exemptions

We generally expense sales commissions and other incremental costs of obtaining a contract when incurred because the amortization period is usually one year or less. Sales commissions are recorded within selling expenses on the Condensed Consolidated Statements of Operations and Comprehensive Income.

We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less.