XML 45 R32.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers (Tables)
12 Months Ended
Dec. 31, 2020
Revenue from Contract with Customer [Abstract]  
Summary of Disaggregation of Revenue
The following table presents our revenue disaggregated by line of business and reportable segment for the year ended December 31, 2020:
US RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$347,138 $327,626 $36,708 $21,883 $31,252 $764,607 
O&M revenue18,209 45,423 169 8,261 299 72,361 
Energy assets33,810 4,358 4,075 75,150 804 118,197 
Integrated-PV— — — — 39,112 39,112 
Other1,369 475 6,845 1,124 28,185 37,998 
Total revenues$400,526 $377,882 $47,797 $106,418 $99,652 $1,032,275 
The following table presents our revenue disaggregated by line of business and reportable segment for the year ended December 31, 2019:
US RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$321,973 $240,656 $27,995 $9,221 $11,219 $611,064 
O&M revenue15,753 41,599 9,183 169 66,709 
Energy assets24,897 3,652 3,306 65,365 822 98,042 
Integrated-PV— — — — 47,953 47,953 
Other2,437 1,519 6,604 914 31,691 43,165 
Total revenues$365,060 $287,426 $37,910 $84,683 $91,854 $866,933 
The following table presents our revenue disaggregated by line of business and reportable segment for the year ended December 31, 2018:
US RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$296,226 $202,286 $29,571 $4,550 $12,420 $545,053 
O&M revenue17,814 39,250 37 8,135 — 65,236 
Energy assets18,442 4,062 2,604 69,599 1,069 95,776 
Integrated-PV— — — — 41,349 41,349 
Other1,862 711 6,770 371 30,010 39,724 
Total revenues$334,344 $246,309 $38,982 $82,655 $84,848 $787,138 
Summary of Contract Balances
The following table provides information about receivables, contract assets and contract liabilities from contracts with customers:
 December 31, 2020December 31, 2019
Accounts receivable, net$125,010 $95,863 
Accounts receivable retainage, net30,189 16,976 
Contract Assets
Costs and estimated earnings in excess of billings185,960  202,243 
Contract Liabilities
Billings in excess of cost and estimated earnings40,615 32,178