XML 25 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue Recognition
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Recognition REVENUE RECOGNITION
We disaggregate our revenue from contracts with customers for our Installation segment 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. Revenues for the Other category are presented net of intercompany sales in the tables below. The following tables present our net revenues disaggregated by end market and product (in thousands):
Three months ended June 30,Six months ended June 30,
2023202220232022
Installation:
Residential new construction$495,699 71 %$505,513 75 %$970,795 72 %$947,916 75 %
Repair and remodel38,939 %37,965 %76,613 %70,606 %
Commercial117,227 17 %94,520 14 %227,200 17 %181,107 14 %
Net revenue, Installation$651,865 94 %$637,998 94 %$1,274,608 94 %$1,199,629 95 %
Other
40,235 %38,751 %76,801 %64,612 %
Net revenue, as reported$692,100 100 %$676,749 100 %$1,351,409 100 %$1,264,241 100 %
 Three months ended June 30,Six months ended June 30,
2023202220232022
Installation:
Insulation$416,847 60 %$409,602 61 %$810,892 60 %$774,546 62 %
Shower doors, shelving and mirrors47,839 %41,264 %93,352 %77,604 %
Garage doors40,862 %42,512 %84,174 %78,491 %
Waterproofing32,988 %35,197 %62,927 %64,218 %
Rain gutters29,566 %28,723 %57,366 %52,269 %
Fireproofing/firestopping19,865 %16,166 %35,040 %32,088 %
Window Blinds16,319 %15,414 %32,200 %28,472 %
Other building products47,579 %49,120 %98,657 %91,941 %
Net revenue, Installation$651,865 94 %$637,998 94 %$1,274,608 94 %$1,199,629 95 %
Other 40,235 %38,751 %76,801 %64,612 %
Net revenue, as reported$692,100 100 %$676,749 100 %$1,351,409 100 %$1,264,241 100 %
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):
 June 30, 2023December 31, 2022
Contract assets$33,648 $29,431 
Contract liabilities(17,492)(18,884)
Uncompleted contracts were as follows (in thousands):
 June 30, 2023December 31, 2022
Costs incurred on uncompleted contracts$250,313 $273,788 
Estimated earnings104,934 114,781 
Total355,247 388,569 
Less: Billings to date331,514 368,009 
Net under billings$23,733 $20,560 
Net under billings were as follows (in thousands):
 June 30, 2023December 31, 2022
Costs and estimated earnings in excess of billings on uncompleted contracts (contract assets)$33,648 $29,431 
Billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities)(9,915)(8,871)
Net under billings$23,733 $20,560 
The difference between contract assets and contract liabilities as of June 30, 2023 compared to December 31, 2022 is primarily the result of timing differences between our performance of obligations under contracts and customer payments and billings. During the three and six months ended June 30, 2023, we recognized $1.6 million and $17.4 million of revenue that was included in the contract liability balance at December 31, 2022. We did not recognize any impairment losses on our receivables and contract assets during the three and six months ended June 30, 2023 or 2022.
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 June 30, 2023, the aggregate amount of the transaction price allocated to remaining uncompleted contracts was $135.5 million. We expect to satisfy remaining performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.