| 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. |  |