XML 90 R18.htm IDEA: XBRL DOCUMENT v3.19.3.a.u2
Revenue
12 Months Ended
Dec. 31, 2019
Revenue from Contract with Customer [Abstract]  
Revenue Revenue

Disaggregation of revenue
The following table reflects the Company’s estimate of net sales by each customer type for the years ended December 31, 2019, 2018 and 2017.
 
 
Year Ended December 31,
(in thousands)
 
2019
 
2018
 
2017
Single-family homebuilders
 
$
2,713,857

 
$
2,814,100

 
$
2,526,837

Remodeling contractors
 
419,533

 
427,346

 
380,460

Multi-family, commercial & other contractors
 
493,203

 
441,002

 
458,671

Total net sales
 
$
3,626,593

 
$
3,682,448

 
$
3,365,968


Net sales for the Company's building products contracts was $2,727.7 million, $2,856.7 million and $2,561.5 million for the years ended December 31, 2019, 2018 and 2017, respectively. Net sales for the Company's construction services contracts, which includes both products and installation services, was $898.9 million, $825.8 million and $804.5 million for the years ended December 31, 2019, 2018 and 2017, respectively. Net sales from installation services was less than 10% of the Company's net sales for each period presented. See Note 16 for a disaggregation of the Company’s net sales by main product lines.

Contract balances
The following table reflects the Company’s contract balances as of December 31, 2019 and 2018:
(in thousands)
December 31, 2019
 
December 31, 2018
 
Change
Receivables, including unbilled receivables presented in prepaid expenses and other current assets
$
333,044

 
$
306,370

 
$
26,674

Contract assets
32,125

 
32,348

 
(223
)
Contract liabilities
$
31,094

 
$
34,888

 
$
(3,794
)


During the year ended December 31, 2019, the Company’s contract assets decreased by $0.2 million and the Company’s contract liabilities decreased by $3.8 million. The change in contract assets and liabilities was primarily due to the timing of revenue recognition, as the balances were not materially impacted by any other factors. For the year ended December 31, 2019, the Company recognized revenue of $32.3 million, that was included in contract liabilities as of December 31, 2018. Revenue recognized related to performance obligations that were satisfied or partially satisfied in previous periods was not material for the year ended December 31, 2019.

Practical expedients
As permitted by ASC 606, the Company has elected to expense any incremental costs of obtaining a contract as incurred as the amortization period would have been one year or less. Additionally, as permitted by ASC 606, the Company has elected not to adjust the promised amount of consideration for a significant financing component as the Company expects that the period of time between the Company’s satisfaction of the performance obligation and the customer’s payment would have been one year or less. Finally, as permitted by ASC 606, the Company has elected not to disclose the value of unsatisfied performance obligations, as the Company’s contracts generally have an original expected length of one year or less.