XML 40 R30.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue from Contracts with Customers (Tables)
9 Months Ended
Sep. 30, 2021
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 three months ended September 30, 2021:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$86,094 $82,966 $8,317 $5,316 $11,323 $194,016 
O&M revenue5,830 11,787 — 2,298 90 20,005 
Energy assets9,870 1,804 1,406 26,070 85 39,235 
Integrated-PV— — — — 10,438 10,438 
Other1,242 97 1,908 127 6,614 9,988 
Total revenues$103,036 $96,654 $11,631 $33,811 $28,550 $273,682 
The following table presents our revenue disaggregated by line of business and reportable segment for the three months ended September 30, 2020:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$79,201 $105,444 $9,311 $7,506 $13,941 $215,403 
O&M revenue4,492 11,384 — 2,009 36 17,921 
Energy assets9,134 1,325 1,227 18,535 87 30,308 
Integrated-PV— — — — 9,421 9,421 
Other897 150 1,725 201 6,481 9,454 
Total revenues$93,724 $118,303 $12,263 $28,251 $29,966 $282,507 
The following table presents our revenue disaggregated by line of business and reportable segment for the nine months ended September 30, 2021:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$249,853 $250,130 $24,625 $19,211 $27,145 $570,964 
O&M revenue15,443 34,969 26 7,397 250 58,085 
Energy assets28,726 3,839 3,724 72,853 321 109,463 
Integrated-PV— — — — 30,313 30,313 
Other3,757 130 5,773 289 21,030 30,979 
Total revenues$297,779 $289,068 $34,148 $99,750 $79,059 $799,804 
The following table presents our revenue disaggregated by line of business and reportable segment for the nine months ended September 30, 2020:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$226,734 $233,778 $24,342 $12,881 $22,027 $519,762 
O&M revenue13,127 33,765 26 6,144 229 53,291 
Energy assets26,068 3,549 3,234 54,341 87 87,279 
Integrated-PV— — — — 29,420 29,420 
Other3,209 447 5,088 738 18,722 28,204 
Total revenues$269,138 $271,539 $32,690 $74,104 $70,485 $717,956 
The following table presents information related to our revenue recognized over time:
Three Months Ended September 30,Nine Months Ended September 30,
2021202020212020
Percentage of revenue recognized over time93%95%94%94%
The remainder of our revenue is for products and services transferred at a point in time, at which point revenue is recognized.
We attribute revenues to customers based on the location of the customer. The following table presents information related to our revenues by geographic area:
Three Months Ended September 30,Nine Months Ended September 30,
2021202020212020
United States$250,441 $256,326 $736,986 $663,483 
Canada10,832 11,630 31,658 30,641 
Other12,409 14,551 31,160 23,832 
Total revenues$273,682 $282,507 $799,804 $717,956 
Summary of Contract with Customer, Asset and Liability
The following tables provide information about receivables, contract assets and contract liabilities from contracts with customers:
 September 30, 2021December 31, 2020
Accounts receivable, net$112,893 $125,010 
Accounts receivable retainage, net$39,404 $30,189 
Contract Assets:
Costs and estimated earnings in excess of billings $213,468 $185,960 
Contract Liabilities:
Billings in excess of cost and estimated earnings$28,018 $33,984 
Billings in excess of cost and estimated earnings, non-current (1)
6,795 6,631 
Total contract liabilities$34,813 $40,615 
September 30, 2020December 31, 2019
Accounts receivable, net$121,672 $95,863 
Accounts receivable retainage, net$24,359 $16,976 
Contract Assets:
Costs and estimated earnings in excess of billings$179,909 $202,243 
Contract Liabilities:
Billings in excess of cost and estimated earnings$35,320 $26,618 
Billings in excess of cost and estimated earnings, non-current (1)
4,982 5,560 
Total contract liabilities$40,302 $32,178 
(1) Performance obligations that are expected to be completed beyond the next twelve months and are included in other liabilities in the condensed consolidated balance sheets.