XML 66 R51.htm IDEA: XBRL DOCUMENT v3.22.4
Revenue Recognition - Revenue by Source (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Disaggregation of Revenue [Line Items]      
Product revenue $ 1,135,346 $ 906,858 $ 731,224
Total revenue 1,199,125 972,176 794,247
Product      
Disaggregation of Revenue [Line Items]      
Product revenue 880,664 663,512 518,633
Total revenue 880,664 663,512 518,633
Installation      
Disaggregation of Revenue [Line Items]      
Product revenue 92,120 96,059 101,887
Total revenue 92,120 96,059 101,887
Service      
Disaggregation of Revenue [Line Items]      
Product revenue 150,954 144,184 109,633
Total revenue 150,954 144,184 109,633
Electricity      
Disaggregation of Revenue [Line Items]      
Product revenue 11,608 3,103 1,071
Electricity revenue 63,779 65,318 63,023
Total revenue $ 75,387 $ 68,421 $ 64,094