XML 25 R11.htm IDEA: XBRL DOCUMENT
v3.25.4

Revenue from Contracts with Customers | 12 Months Ended
--- | ---
Dec. 31, 2025
Revenue from Contract with Customer [Abstract] |
Revenue from Contracts with Customers | Revenue from Contracts with Customers The Company’s revenue is primarily derived from construction-type and services contracts to deliver MEPC systems services to its customers. Such work is primarily performed under fixed-price, modified fixed-price, and time and materials contracts over periods of typically less than two years. Construction-type contract revenue is primarily derived from fixed-price and modified fixed-price contracts. For the majority of these contracts, the Company’s performance obligations are satisfied over time because the customer controls the asset as it is created or enhanced or because the Company’s performance does not create an asset with an alternative use and the Company has an enforceable right to payment for performance completed to date. For contracts satisfied over time, the Company recognizes revenue using an input method based on costs incurred relative to total estimated costs at completion (the cost-to-cost method), which management believes depicts the transfer of control of services to the customer. The Company believes its extensive experience with MEPC systems projects, together with its internal cost estimation and review processes, enables it to reasonably estimate contract costs and mitigate the risk of cost overruns. With respect to service contracts, the Company’s service arrangements generally include (i) fixed-price service contracts, typically for maintenance, repair and retrofit work over a period, commonly one year, and (ii) time and materials or similar service work performed on an as-needed basis. Revenue from fixed-price service contracts is generally recognized over time on a systematic basis that depicts performance over the contract term, which is typically on a straight-line basis when services are provided evenly over the contract period. Revenue derived from time and materials and other service work is recognized when the services are performed. The Company generally invoices customers on a monthly basis based on a schedule of values that breaks down the contract amount into discrete billing items. Costs and estimated earnings in excess of billings on uncompleted contracts are recorded as a contract asset until billable under the contract terms. Billings in excess of costs and estimated earnings on uncompleted contracts are recorded as a contract liability until the related revenue is recognizable. Contract Assets and Contract Liabilities Contract assets represent the Company’s conditional right to consideration for goods or services transferred to customers when that right is conditioned on something other than the passage of time. Contract liabilities represent the Company’s obligation to transfer goods or services to customers for which consideration has been received or is due. The Company’s contracts commonly include retainage provisions, pursuant to which a portion of billed consideration is contractually withheld by customers until achievement of specified contractual milestones, such as substantial completion, final acceptance, or satisfaction of defined performance criteria. Retainage does not represent an unconditional right to payment and is therefore not considered a trade receivable. Accordingly, retainage is reflected within contract balances based on the related net billing position. Contract assets include costs and estimated earnings in excess of billings on uncompleted contracts and retainage associated with contracts for which the Company has a conditional right to consideration. The components of the contract asset balances as of the respective dates were as follows:
(in thousands) | December 31, 2025 |  | December 31, 2024 |  | Change
Contract assets |  |  |  |  |
Costs and estimated earnings in excess of billings on uncompleted contracts | $ | 29,254 |  |  | $ | 27,304 |  |  | $ | 1,950 |
Retainage receivable, net | 16,213 |  |  | 20,245 |  |  | (4,032) |
Total contract assets, net | $ | 45,467 |  |  | $ | 47,549 |  |  | $ | (2,082) |
Contract liabilities Contract liabilities include billings in excess of contract costs and estimated earnings on uncompleted contracts, provisions for losses and amounts related to retainage associated with overbilled contracts, which reduce billings in excess of costs until such payment become payable under contract terms. The components of the contract liability balances as of the respective dates were as follows:
(in thousands) | December 31, 2025 |  | December 31, 2024 |  | Change
Contract liabilities |  |  |  |  |
Billings in excess of costs and estimated earnings on uncompleted contracts, net | $ | 20,889 |  |  | $ | 44,417 |  |  | $ | (23,528) |
Provisions for losses | 47 |  |  | 102 |  |  | (55) |
Total contract liabilities, net | $ | 20,936 |  |  | $ | 44,519 |  |  | $ | (23,583) |
Billings in excess of costs and estimated earnings on uncompleted contracts represent the excess of contract billings to date over the amount of contract costs and profits (or contract revenue) recognized to date. The balance may fluctuate depending on the timing of contract billings and the recognition of contract revenue. Provisions for losses are recognized in the consolidated statements of operations at the uncompleted performance obligation level for the amount of total estimated losses in the period that evidence indicates that the estimated total cost of a performance obligation exceeds its estimated total revenue. Claims and Unapproved Change Orders Contract assets may include amounts related to claims and unapproved change orders, which arise when there is a dispute regarding changes in scope or pricing or when additional work is performed prior to execution of a contractual amendment. The Company estimates recoveries related to claims and unapproved change orders as variable consideration using the most likely amount method, to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur. Such amounts are billable upon resolution and execution of contractual amendments. The estimated net realizable value of claims and unapproved change orders included within contract assets and contract liabilities was $13.6 million and $10.9 million as of December 31, 2025 and 2024, respectively. Net Contract Position The net underbilling (overbilling) position for contracts in process consisted of the following:
(in thousands) | December 31, 2025 |  | December 31, 2024
Revenue earned on uncompleted contracts | $ | 614,448 |  |  | $ | 618,153 |
Less: Billings to date | (606,083) |  |  | (635,266) |
Net underbilling (overbilling) | $ | 8,365 |  |  | $ | (17,113) |
(in thousands) | December 31, 2025 |  | December 31, 2024
Costs and estimated earnings in excess of billings on uncompleted contracts | $ | 29,254 |  |  | $ | 27,304 |
Billings in excess of costs and estimated earnings on uncompleted contracts, net | (20,889) |  |  | (44,417) |
Net underbilling (overbilling) | $ | 8,365 |  |  | $ | (17,113) |
Revisions in Contract Estimates The Company recorded revisions in its contract estimates for certain ODR and GCR projects. During the year ended December 31, 2025, the Company recorded material gross profit write-downs on two ODR segment projects for a total of $1.1 million that had a net gross profit impact of $0.5 million or more. During the year ended December 31, 2025, the Company recorded material gross profit write-ups on two GCR projects for a total of $2.2 million. During the year ended December 31, 2024, the Company recorded a material gross profit write-ups on four ODR segment projects for a total of $3.9 million that had a net gross profit impact of $0.5 million or more. During the year ended December 31, 2024, the Company recorded material gross profit write-ups of $3.3 million on three GCR projects and material gross profit write-downs on two GCR projects for a total of $1.4 million. Remaining Performance Obligations Remaining performance obligations represent the transaction price of firm orders for which work has not been performed and exclude unexercised contract options. The Company’s remaining performance obligations include projects that have a written award, a letter of intent, a notice to proceed or an agreed upon work order to perform work on mutually accepted terms and conditions. As of December 31, 2025, the aggregate amount of the transaction prices allocated to the remaining performance obligations of the Company's ODR and GCR segment contracts were $234.3 million and $141.8 million, respectively. The Company currently estimates that 82% and 77% of its ODR and GCR segment remaining performance obligations as of December 31, 2025, respectively, will be recognized as revenue during 2026, with the substantial majority of remaining performance obligations to be recognized within 24 months, although the timing of the Company’s performance is not always under its control. Additionally, the difference between remaining performance obligations and backlog is due to the exclusion of a portion of the Company’s ODR agreements under certain contract types from the Company’s remaining performance obligations as these contracts can be canceled for convenience at any time by the Company or the customer without considerable cost incurred by the customer.

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 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7 Reference 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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