XML 25 R12.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers
12 Months Ended
Dec. 31, 2020
Revenue from Contract with Customer [Abstract]  
Revenue from Contracts with Customers REVENUE FROM CONTRACTS WITH CUSTOMERS
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 
See Note 16 for our revenue disaggregated by geographical region.
For the years ended December 31, 2020, 2019 and 2018, approximately 94%, 92% and 93%, respectively, of revenue was recognized over time, and the remainder was for products and services transferred at a point in time.
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 
As of December 31, 2020 and 2019, we classified $6,631 and $5,560, respectively, as a non-current liability, included in other liabilities on the consolidated balance sheets, for those performance obligations expected to be completed beyond the next twelve months.
The decrease in contract assets for the year ended December 31, 2020 was primarily due to billings of $644,583, offset in part by revenue recognized of $618,839. The increase in contract liabilities was primarily driven by the receipt of advance payments from customers, and related billings, exceeding recognition of revenue as performance obligations were satisfied. For the year ended December 31, 2020, we recognized revenue of $132,622 and billed $140,275 to customers that had balances which were included in contract liabilities at December 31, 2019. Changes in contract liabilities are also driven by reclassifications to or from contract assets as a result of timing of customer payments.
The increase in contract assets for the year ended December 31, 2019 was primarily due to revenue recognized of $496,733, offset in part by billings of $387,815. The increase in contract liabilities was primarily driven by the receipt of advance payments from customers, and related billings, exceeding recognition of revenue as performance obligations were satisfied. For the year ended December 31, 2019, we recognized revenue of $113,357, and billed customers $117,577 that were previously included in the beginning balance of contract liabilities.
Backlog
Our remaining performance obligations (“backlog”) represent the unrecognized revenue value of our contract commitments. Our backlog may vary significantly each reporting period based on the timing of major new contract commitments and the backlog may fluctuate with currency movements. In addition, our customers have the right, under some circumstances, to terminate contracts or defer the timing of our services and their payments to us. At December 31, 2020, we had backlog of $2,026,770 and approximately 33% of our backlog 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 O&M services related to these projects. The long-term services have varying initial contract terms, up to 25 years.
We applied the practical expedient for certain revenue streams to exclude the value of remaining performance obligations for (i) contracts with an original expected term of one year or less or (ii) contracts for which we recognize revenue in proportion to the amount we have the right to invoice for services performed.
Contract Acquisition Costs
As of December 31, 2020 and 2019, we had capitalized commission costs of $1,735, related to contracts that were not completed, which were included in other assets in the accompanying consolidated balance sheets. For contracts that have a duration of less than one year, we follow a practical expedient and expense these costs when incurred. During the years ended December 31, 2020 and 2019, the amortization of commission costs related to contracts were not material and have been included in the accompanying consolidated statements of income.
We analyzed the impact of adoption of Topic 606 on our project development costs and determined no change in our accounting policy was required. During the years ended December 31, 2020, 2019, and 2018, $12,790, $35,172, and 15,672, respectively, of project development costs were recognized in the consolidated statements of income on projects that converted to customer contracts.
No impairment charges in connection with our commission costs or project development costs were recorded during the years ended December 31, 2020 and 2019.