XML 22 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue from Contracts with Customers
6 Months Ended
Jun. 30, 2021
Revenue from Contract with Customer [Abstract]  
Revenue from Contracts with Customers REVENUE FROM CONTRACTS WITH CUSTOMERS
Disaggregation of Revenue
Our reportable segments for the three and six months ended June 30, 2021 were U.S. Regions, U.S. Federal, Canada and Non-Solar Distributed Generation (“Non-Solar DG”). On January 1, 2021, we changed the structure of our internal organization and our U.S. Regions segment now includes our U.S.-based enterprise energy management services previously included in our “All Other” segment. As a result, previously reported amounts have been reclassified for comparative purposes.
The following table presents our revenue disaggregated by line of business and reportable segment for the three months ended June 30, 2021:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$92,601 $77,075 $7,307 $9,241 $10,031 $196,255 
O&M revenue5,303 11,742 — 2,462 89 19,596 
Energy assets10,046 1,371 1,571 23,852 101 36,941 
Integrated-PV— — — — 10,721 10,721 
Other1,520 12 1,996 16 6,863 10,407 
Total revenues$109,470 $90,200 $10,874 $35,571 $27,805 $273,920 
The following table presents our revenue disaggregated by line of business and reportable segment for the three months ended June 30, 2020:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$76,040 $72,220 $6,167 $3,004 $2,499 $159,930 
O&M revenue4,283 10,755 17 2,120 133 17,308 
Energy assets8,080 1,505 1,344 17,820 — 28,749 
Integrated-PV— — — — 8,530 8,530 
Other1,171 11 1,507 185 5,645 8,519 
Total revenues$89,574 $84,491 $9,035 $23,129 $16,807 $223,036 
The following table presents our revenue disaggregated by line of business and reportable segment for the six months ended June 30, 2021:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$163,759 $167,164 $16,308 $13,895 $15,822 $376,948 
O&M revenue9,613 23,182 26 5,099 160 38,080 
Energy assets18,856 2,035 2,318 46,783 236 70,228 
Integrated-PV— — — — 19,875 19,875 
Other2,515 33 3,865 162 14,416 20,991 
Total revenues$194,743 $192,414 $22,517 $65,939 $50,509 $526,122 
The following table presents our revenue disaggregated by line of business and reportable segment for the six months ended June 30, 2020:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$147,533 $128,334 $15,031 $5,375 $8,086 $304,359 
O&M revenue8,635 22,381 26 4,135 193 35,370 
Energy assets16,934 2,224 2,007 35,806 — 56,971 
Integrated-PV— — — — 19,999 19,999 
Other2,312 297 3,363 537 12,241 18,750 
Total revenues$175,414 $153,236 $20,427 $45,853 $40,519 $435,449 
The following table presents information related to our revenue recognized over time:
Three Months EndedSix Months Ended
June 30, 2021June 30, 2020June 30, 2021June 30, 2020
Percentage of revenue recognized over time94%94%94%93%
The remainder 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 June 30,Six Months Ended June 30,
2021202020212020
United States$252,536 $211,218 $486,545 $407,157 
Canada9,973 8,458 20,826 19,011 
Other11,411 3,360 18,751 9,281 
Total revenues$273,920 $223,036 $526,122 $435,449 
Contract Balances
The following tables provide information about receivables, contract assets and contract liabilities from contracts with customers:
 June 30, 2021December 31, 2020
Accounts receivable, net$115,462 $125,010 
Accounts receivable retainage, net$36,485 $30,189 
Contract Assets:
Costs and estimated earnings in excess of billings $195,027 $185,960 
Contract Liabilities:
Billings in excess of cost and estimated earnings$26,561 $33,984 
Billings in excess of cost and estimated earnings, non-current (1)
6,082 6,631 
Total contract liabilities$32,643 $40,615 
June 30, 2020December 31, 2019
Accounts receivable, net$86,017 $95,863 
Accounts receivable retainage, net$19,119 $16,976 
Contract Assets:
Costs and estimated earnings in excess of billings$195,391 $202,243 
Contract Liabilities:
Billings in excess of cost and estimated earnings$34,896 $26,618 
Billings in excess of cost and estimated earnings, non-current (1)
5,035 5,560 
Total contract liabilities$39,931 $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.
The increase in contract assets for the six months ended June 30, 2021 was primarily due to revenue recognized of $277,960 offset by billings of $288,012. Contract assets also increased due to reclassifications from contract liabilities as a result of timing of customer payments. The decrease in contract liabilities was primarily driven by recognition of revenue as performance obligations were satisfied exceeding increases from the receipt of advance payment from customers, and related billings. For the six months ended June 30, 2021, we recognized revenue of $98,570 that was previously included in the beginning balance of contract liabilities and billed customers $70,884. Changes in contract liabilities are also driven by reclassifications to or from contract assets as a result of timing of customer payments.
The decrease in contract assets for the six months ended June 30, 2020 was primarily due to billings of approximately $285,036, partially offset by revenue recognized of $276,492. The increase in contract liabilities was primarily driven by the receipt of advance payment from customers, and related billings, exceeding increases from the recognition of revenue as performance obligations were satisfied. For the six months ended June 30, 2020, we billed customers $50,697 and recognized revenue of $44,446 that was previously included in the beginning balance of contract liabilities. Changes in contract liabilities are also driven by reclassifications to or from contract assets as a result of timing of customer payments.

Performance Obligations
Our remaining performance obligations (“backlog”) represent the unrecognized revenue value of our contract commitments. At June 30, 2021, we had backlog of $1,902,420 of which approximately 35% is anticipated to be recognized as revenue in the next twelve months. The remaining performance obligations primarily relate to the energy efficiency and renewable energy construction projects, including long-term operations and maintenance (“O&M”) services related to these projects. The long-term services have varying initial contract terms, up to 25 years.
Project Development Costs
Project development costs of $2,128 and $1,543 were included in other long-term assets in the accompanying condensed consolidated balance sheets as of June 30, 2021 and December 31, 2020, respectively. Project development costs of $3,109 and $4,258 were recognized in the condensed consolidated statements of income on projects that converted to customer contracts during the three months ended June 30, 2021 and 2020, respectively. Project development costs of $5,094 and $5,865 were recognized in the condensed consolidated statements of income on projects that converted to customer contracts during the six months ended June 30, 2021 and 2020, respectively.
No impairment charges in connection with our capitalized commission costs or project development costs were recorded during the six months ended June 30, 2021 and 2020.