XML 20 R10.htm IDEA: XBRL DOCUMENT
v3.24.1.u1

Revenue from Contracts with Customers | 3 Months Ended
--- | ---
Mar. 31, 2024
Revenue from Contract with Customer [Abstract] |
REVENUE FROM CONTRACTS WITH CUSTOMER | REVENUE FROM CONTRACTS WITH CUSTOMERS Disaggregation of Revenue Our reportable segments for the three months ended March 31, 2024 were North America Regions, U.S. Federal, Europe, Alternative Fuels and All Other. On January 1, 2024, we changed the structure of our internal organization, and our U.S. Regions and Canada are now included in North America Regions. Additionally, our Asset Sustainability Group was formerly included in Canada, but is now included in “All Other”. 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 March 31, 2024:
| North America Regions |  | U.S. Federal |  | Europe |  | Alternative Fuels |  | All Other |  | Total
Project revenue | $ | 116,211 |  |  | $ | 43,479 |  |  | $ | 41,424 |  |  | $ | 3,163 |  |  | $ | 7 |  |  | $ | 204,284 |
O&M revenue | 6,933 |  |  | 15,278 |  |  | 747 |  |  | 2,377 |  |  | — |  |  | 25,335 |
Energy assets | 13,754 |  |  | 1,929 |  |  | 171 |  |  | 27,300 |  |  | — |  |  | 43,154 |
Other | 1,387 |  |  | 204 |  |  | 1,780 |  |  | 19 |  |  | 22,243 |  |  | 25,633 |
Total revenues | $ | 138,285 |  |  | $ | 60,890 |  |  | $ | 44,122 |  |  | $ | 32,859 |  |  | $ | 22,250 |  |  | $ | 298,406 |
The following table presents our revenue disaggregated by line of business and reportable segment for the three months ended March 31, 2023:
| North America Regions |  | U.S. Federal |  | Europe |  | Alternative Fuels |  | All Other |  | Total
Project revenue | $ | 119,231 |  |  | $ | 45,549 |  |  | $ | 17,200 |  |  | $ | — |  |  | $ | 1,250 |  |  | $ | 183,230 |
O&M revenue | 5,539 |  |  | 12,700 |  |  | 333 |  |  | 3,686 |  |  | — |  |  | 22,258 |
Energy assets | 14,407 |  |  | 1,076 |  |  | 519 |  |  | 24,653 |  |  | 117 |  |  | 40,772 |
Other | 1,365 |  |  | 231 |  |  | 1,044 |  |  | — |  |  | 22,142 |  |  | 24,782 |
Total revenues | $ | 140,542 |  |  | $ | 59,556 |  |  | $ | 19,096 |  |  | $ | 28,339 |  |  | $ | 23,509 |  |  | $ | 271,042 |
The following table presents information related to our revenue recognized over time:
| Three Months Ended March 31, |  |
| 2024 |  | 2023 |  |  |  |
Percentage of revenue recognized over time | 94% |  | 93% |  |  |  |
The remainder of our revenue 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 March 31, |  |
| 2024 |  | 2023 |  |  |  |
United States | $ | 239,099 |  |  | $ | 233,084 |  |  |  |  |
Canada | 15,180 |  |  | 17,234 |  |  |  |  |
Europe | 44,127 |  |  | 20,724 |  |  |  |  |
Total revenues | $ | 298,406 |  |  | $ | 271,042 |  |  |  |  |
Contract Balances The following tables provide information about receivables, contract assets and contract liabilities from contracts with customers:
|  | March 31, 2024 |  | December 31, 2023
Accounts receivable, net |  | $ | 146,836 |  |  | $ | 153,362 |
Accounts receivable retainage, net |  | 32,158 |  |  | 33,826 |
Contract Assets: |  |  |  |
Costs and estimated earnings in excess of billings |  | $ | 652,428 |  |  | $ | 636,163 |
Contract Liabilities: |  |  |  |
Billings in excess of cost and estimated earnings |  | $ | 61,267 |  |  | $ | 52,903 |
Billings in excess of cost and estimated earnings, non-current (1) |  | 19,883 |  |  | 18,688 |
Total contract liabilities |  | $ | 81,150 |  |  | $ | 71,591 |
| March 31, 2023 |  | December 31, 2022
Accounts receivable, net | $ | 130,940 |  |  | $ | 174,009 |
Accounts receivable retainage, net | 35,625 |  |  | 38,057 |
Contract Assets: |  |  |
Costs and estimated earnings in excess of billings | $ | 497,762 |  |  | $ | 576,363 |
Contract Liabilities: |  |  |
Billings in excess of cost and estimated earnings | $ | 39,326 |  |  | $ | 34,796 |
Billings in excess of cost and estimated earnings, non-current (1) | 12,510 |  |  | 7,617 |
Total contract liabilities | $ | 51,836 |  |  | $ | 42,413 |
(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 three months ended March 31, 2024 was primarily due to billings of $210,475 offset by revenue recognized of $203,216. Contract assets are also affected by 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 three months ended March 31, 2024, we recognized revenue of $60,748 and billed $46,306 to customers that had balances which were included in contract liabilities at December 31, 2023. The decrease in contract assets for the three months ended March 31, 2023 was primarily due to billings of $286,203 offset by revenue recognized of $190,415. Contract assets also decreased 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 three months ended March 31, 2023, we recognized revenue of $34,715 and billed $39,082 to customers that had balances which were included in the beginning balance of contract liabilities. Performance Obligations Our remaining performance obligations (“backlog”) represent the unrecognized revenue value of our contract commitments. At March 31, 2024, we had contracted backlog of $2,658,592 of which approximately 32% 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 $3,120 and $2,612 were recognized in our condensed consolidated statements of (loss) income on projects that converted to customer contracts during the three months ended March 31, 2024 and 2023, respectively. No impairment charges in connection with our project development costs were recorded during the three or three months ended March 31, 2024 and 2023.

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