XML 53 R34.htm IDEA: XBRL DOCUMENT
v3.22.4

Revenue from Contracts with Customers (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2022
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, 2022:
|  | US Regions |  | U.S. Federal |  | Canada |  | Alternative Fuels |  | All Other |  | Total
Project revenue |  | $ | 1,049,465 |  |  | $ | 333,846 |  |  | $ | 44,273 |  |  | $ | — |  |  | $ | 53,680 |  |  | $ | 1,481,264 |
O&M revenue |  | 22,217 |  |  | 51,857 |  |  | 42 |  |  | 10,377 |  |  | 472 |  |  | 84,965 |
Energy assets |  | 47,372 |  |  | 5,822 |  |  | 4,447 |  |  | 104,082 |  |  | 368 |  |  | 162,091 |
Integrated-PV |  | — |  |  | — |  |  | — |  |  | — |  |  | 49,696 |  |  | 49,696 |
Other |  | 4,289 |  |  | 366 |  |  | 9,796 |  |  | — |  |  | 31,955 |  |  | 46,406 |
Total revenues |  | $ | 1,123,343 |  |  | $ | 391,891 |  |  | $ | 58,558 |  |  | $ | 114,459 |  |  | $ | 136,171 |  |  | $ | 1,824,422 |
The following table presents our revenue disaggregated by line of business and reportable segment for the year ended December 31, 2021:
|  | US Regions |  | U.S. Federal |  | Canada |  | Alternative Fuels |  | All Other |  | Total
Project revenue |  | $ | 488,507 |  |  | $ | 340,686 |  |  | $ | 36,776 |  |  | $ | — |  |  | $ | 37,991 |  |  | $ | 903,960 |
O&M revenue |  | 21,551 |  |  | 47,072 |  |  | 71 |  |  | 9,288 |  |  | 631 |  |  | 78,613 |
Energy assets |  | 39,433 |  |  | 4,913 |  |  | 4,532 |  |  | 101,811 |  |  | 562 |  |  | 151,251 |
Integrated-PV |  | — |  |  | — |  |  | — |  |  | — |  |  | 41,202 |  |  | 41,202 |
Other |  | 1,627 |  |  | 277 |  |  | 8,104 |  |  | 124 |  |  | 30,539 |  |  | 40,671 |
Total revenues |  | $ | 551,118 |  |  | $ | 392,948 |  |  | $ | 49,483 |  |  | $ | 111,223 |  |  | $ | 110,925 |  |  | $ | 1,215,697 |
The following table presents our revenue disaggregated by line of business and reportable segment for the year ended December 31, 2020:
|  | US Regions |  | U.S. Federal |  | Canada |  | Alternative Fuels |  | All Other |  | Total
Project revenue |  | $ | 369,341 |  |  | $ | 327,626 |  |  | $ | 36,689 |  |  | $ | — |  |  | $ | 30,950 |  |  | $ | 764,606 |
O&M revenue |  | 18,633 |  |  | 45,423 |  |  | 169 |  |  | 7,848 |  |  | 289 |  |  | 72,362 |
Energy assets |  | 33,792 |  |  | 4,358 |  |  | 4,069 |  |  | 75,168 |  |  | 810 |  |  | 118,197 |
Integrated-PV |  | — |  |  | — |  |  | — |  |  | — |  |  | 39,112 |  |  | 39,112 |
Other |  | 1,888 |  |  | 475 |  |  | 6,830 |  |  | 612 |  |  | 28,193 |  |  | 37,998 |
Total revenues |  | $ | 423,654 |  |  | $ | 377,882 |  |  | $ | 47,757 |  |  | $ | 83,628 |  |  | $ | 99,354 |  |  | $ | 1,032,275 |
See Note 16 for our revenue disaggregated by geographical region. The following table presents information related to our revenue recognized over time:
|  | Year Ended December 31,
|  | 2022 |  | 2021 |  | 2020
Percentage of revenue recognized over time |  | 96 | % |  | 95 | % |  | 94 | %
Summary of Contract Balances | The following table provides information about receivables, contract assets, and contract liabilities from contracts with customers:
| December 31, 2022 |  | December 31, 2021
Accounts receivable, net | $ | 174,009 |  |  | $ | 161,970 |
Accounts receivable retainage | 38,057 |  |  | 43,067 |
Contract Assets |  |  |
Costs and estimated earnings in excess of billings | 576,363 |  |  | 306,172 |
Contract Liabilities |  |  |
Billings in excess of cost and estimated earnings | 34,796 |  |  | 35,918 |
Billings in excess of cost and estimated earnings, non-current (1) | 7,617 |  |  | 6,481 |
Total contract liabilities | $ | 42,413 |  |  | $ | 42,399 |
(1) Performance obligations that are expected to be completed beyond the next twelve months and are included in other liabilities in the consolidated balance sheets.
Summary of Project Development Costs on Projects Converted to Customer Contracts | The following table presents information related to our project development costs recognized in the consolidated statements of income on projects that converted to customer contracts:
| Year Ended December 31,
| 2022 |  | 2021 |  | 2020
Project development costs recognized | $ | 15,507 |  |  | $ | 12,737 |  |  | $ | 12,790 |

X
- Definition Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -URI https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 10 -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration