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, 2025December 31, 2024Change
Contract assets
Costs and estimated earnings in excess of billings on uncompleted contracts$29,254 $27,304 $1,950 
Retainage receivable, net16,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, 2025December 31, 2024Change
Contract liabilities
Billings in excess of costs and estimated earnings on uncompleted contracts, net$20,889 $44,417 $(23,528)
Provisions for losses47 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, 2025December 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, 2025December 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.

Historical Timeline

Fiscal YearFiled
2025Mar 2, 2026Showing above
2024Mar 10, 2025
2023Mar 13, 2024
2022Mar 8, 2023
2021Mar 16, 2022

About Revenue Disclosures

Revenue disclosures under ASC 606 explain how a company identifies performance obligations, allocates transaction prices, and determines when revenue is recognized. This section is essential for understanding whether reported revenue reflects genuine economic activity or aggressive accounting choices. Analysts examine the mix of point-in-time versus over-time recognition, which directly affects revenue timing and comparability.

Key signals: rising contract liabilities (deferred revenue) suggest strong future revenue visibility, while declining contract assets may indicate slowing project milestones. Watch for variable consideration estimates — rebates, returns, and performance bonuses that require management judgment. Significant changes in disaggregated revenue by geography or product line can reveal shifting business mix before it appears in headline numbers. Compare revenue growth against contract liability growth to assess sustainability, and scrutinize any changes in the timing of recognition that coincide with earnings pressure.