XML 32 R13.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Revenue from Contracts with Customers | 12 Months Ended
--- | ---
Dec. 31, 2023
Revenue from Contract with Customer [Abstract] |
Revenue from Contracts with Customers | REVENUE FROM CONTRACTS WITH CUSTOMERS Disaggregation of Revenue Our reportable segments for the year ended December 31, 2023 were U.S. Regions, U.S. Federal, Canada, Alternative Fuels, and Europe. The remaining amounts are included in “All Other”. Europe was formerly included in “All Other” but was disaggregated due to growth in the segment in 2023. 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 year ended December 31, 2023:
|  | U.S. Regions |  | U.S. Federal |  | Canada |  | Alternative Fuels |  | Europe |  | All Other |  | Total
Project revenue |  | $ | 465,342 |  |  | $ | 342,238 |  |  | $ | 53,737 |  |  | $ | — |  |  | $ | 138,730 |  |  | $ | 1,250 |  |  | $ | 1,001,297 |
O&M revenue |  | 26,210 |  |  | 53,496 |  |  | 100 |  |  | 10,697 |  |  | 1,980 |  |  | — |  |  | 92,483 |
Energy assets |  | 60,450 |  |  | 6,326 |  |  | 4,223 |  |  | 106,359 |  |  | 1,531 |  |  | — |  |  | 178,889 |
Integrated-PV |  | 4 |  |  | — |  |  | — |  |  | — |  |  | — |  |  | 45,739 |  |  | 45,743 |
Other |  | 5,116 |  |  | 824 |  |  | 12,050 |  |  | 19 |  |  | 10,601 |  |  | 27,611 |  |  | 56,221 |
Total revenues |  | $ | 557,122 |  |  | $ | 402,884 |  |  | $ | 70,110 |  |  | $ | 117,075 |  |  | $ | 152,842 |  |  | $ | 74,600 |  |  | $ | 1,374,633 |
The following table presents our revenue disaggregated by line of business and reportable segment for the year ended December 31, 2022:
|  | U.S. Regions |  | U.S. Federal |  | Canada |  | Alternative Fuels |  | Europe |  | 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 |  |  | 471 |  |  | 1 |  |  | 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 |  |  | — |  |  | 7,126 |  |  | 24,829 |  |  | 46,406 |
Total revenues |  | $ | 1,123,343 |  |  | $ | 391,891 |  |  | $ | 58,558 |  |  | $ | 114,459 |  |  | $ | 61,645 |  |  | $ | 74,526 |  |  | $ | 1,824,422 |
The following table presents our revenue disaggregated by line of business and reportable segment for the year ended December 31, 2021:
|  | U.S. Regions |  | U.S. Federal |  | Canada |  | Alternative Fuels |  | Europe |  | All Other |  | Total
Project revenue |  | $ | 488,507 |  |  | $ | 340,686 |  |  | $ | 36,776 |  |  | $ | — |  |  | $ | 37,970 |  |  | $ | 21 |  |  | $ | 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 |  |  | 7,001 |  |  | 23,538 |  |  | 40,671 |
Total revenues |  | $ | 551,118 |  |  | $ | 392,948 |  |  | $ | 49,483 |  |  | $ | 111,223 |  |  | $ | 46,164 |  |  | $ | 64,761 |  |  | $ | 1,215,697 |
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,
|  | 2023 |  | 2022 |  | 2021
Percentage of revenue recognized over time |  | 95 | % |  | 96 | % |  | 95 | %
The remainder of our revenue is for products and services transferred at a point in time, at which point revenue is recognized. Contract Balances The following table provides information about receivables, contract assets, and contract liabilities from contracts with customers:
| December 31, 2023 |  | December 31, 2022
Accounts receivable, net | $ | 153,362 |  |  | $ | 174,009 |
Accounts receivable retainage | 33,826 |  |  | 38,057 |
Contract Assets |  |  |
Costs and estimated earnings in excess of billings | 636,163 |  |  | 576,363 |
Contract Liabilities |  |  |
Billings in excess of cost and estimated earnings | 52,903 |  |  | 34,796 |
Billings in excess of cost and estimated earnings, non-current (1) | 18,393 |  |  | 7,617 |
Total contract liabilities | $ | 71,296 |  |  | $ | 42,413 |
(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.
The increase in contract assets for the year ended December 31, 2023 was primarily due to revenue recognized of $940,317, offset in part by billings of $886,788. Contract assets also increased due to reclassifications, primarily from contract liabilities as a result of timing of customer payments. The increase in contract liabilities was primarily driven by the receipt of advance payments from customers, and related billings, as well as reclassifications from contract assets as a result of timing of customer payments. The advance payments and reclassifications exceeded the recognition of revenue as performance obligations were satisfied. For the year ended December 31, 2023, we recognized revenue of $160,713 and billed $184,174 to customers that had balances which were included in contract liabilities at December 31, 2022. The increase in contract assets for the year ended December 31, 2022 was primarily due to revenue recognized of $1,371,455, offset in part by billings of $1,103,926. Contract assets also increased due to reclassifications, primarily from contract liabilities as a result of timing of customer payments. The increase in contract liabilities was primarily driven by the receipt of advance payments from customers, and related billings, as well as reclassifications from contract assets as a result of timing of customer payments. The advance payments and reclassifications exceeded the recognition of revenue as performance obligations were satisfied. For the year ended December 31, 2022, we recognized revenue of $135,506, and billed $129,749 to customers that had balances which were included in contract liabilities at December 31, 2021. Performance Obligations Our remaining performance obligations (“fully-contracted 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 fully-contracted 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, 2023, we had fully-contracted backlog of $2,545,403 and approximately 32% of our fully-contracted 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, 2023 and 2022, 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, 2023 and 2022, the amortization of commission costs related to contracts was not material and have been included in the accompanying consolidated statements of income. Project Development Costs 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,
| 2023 |  | 2022 |  | 2021
Project development costs recognized | $ | 13,051 |  |  | $ | 15,507 |  |  | $ | 12,737 |
No impairment charges in connection with our commission costs or project development costs were recorded during the years ended December 31, 2023, 2022 and 2021.

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

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org//606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration