v3.26.1
Revenue - Performance obligation (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2026
USD ($)
Revenue from Contract with Customer [Abstract]  
Price allocated to remaining performance obligations $ 395,000
Revenue REVENUE
Revenue by Category

The following tables present revenue disaggregated by business segment, geographical region, and timing of transfer of goods or services:

Three Months EndedSix Months Ended
(in thousands)Jun 30, 2026Jun 30, 2025Jun 30, 2026Jun 30, 2025
Business Segment:
Energy
Subsea Robotics$232,016 $218,786 $446,289 $424,762 
Manufactured Products149,030 145,134 292,678 280,171 
Offshore Projects Group182,843 149,281 318,219 314,222 
Integrity Management & Digital Solutions70,844 75,367 138,728 146,785 
Total Energy634,733 588,568 1,195,914 1,165,940 
Aerospace and Defense Technologies133,451 109,593 264,699 206,744 
Total$768,184 $698,161 $1,460,613 $1,372,684 
Geographic Operating Areas:
Foreign:
Africa$102,896 $97,349 $197,819 $221,883 
United Kingdom108,367 74,273 187,088 136,150 
Norway83,729 65,996 153,710 120,744 
Brazil66,959 62,736 128,433 124,895 
Asia and Australia66,823 60,436 126,476 113,985 
Other37,365 23,660 70,275 45,889 
Total Foreign466,139 384,450 863,801 763,546 
United States302,045 313,711 596,812 609,138 
Total$768,184 $698,161 $1,460,613 $1,372,684 
Timing of Transfer of Goods or Services:
Revenue recognized over time$714,185 $646,346 $1,358,320 $1,272,822 
Revenue recognized at a point in time53,999 51,815 102,293 99,862 
Total$768,184 $698,161 $1,460,613 $1,372,684 

Contract Balances

Our contracts with milestone payments have, in the aggregate, a significant impact on the contract asset and the contract liability balances. Milestones are contractually agreed with customers and relate to significant events across the contract lives. Some milestones are achieved before revenue is recognized, resulting in a contract liability, while other milestones are achieved after revenue is recognized, resulting in a contract asset.
The following table provides information about contract assets and contract liabilities from contracts with customers.

Six months ended
(in thousands)Jun 30, 2026Jun 30, 2025
Total contract assets, beginning of period$216,808 $275,280 
Revenue accrued1,380,701 1,261,403 
Amounts billed(1,366,636)(1,285,875)
Total contract assets, end of period$230,873 $250,808 
Total contract liabilities, beginning of period$115,033 $140,697 
Deferrals of milestone payments85,260 65,827 
Recognition of revenue for goods and services(75,193)(114,559)
Total contract liabilities, end of period$125,100 $91,965 
   

Performance Obligations

As of June 30, 2026, the aggregate amount of the transaction price allocated to remaining performance obligations that were unsatisfied (or partially unsatisfied) was $395 million. In arriving at this value, we used two expedients available to us and are not disclosing amounts for performance obligations: (1) that are part of contracts with an original expected duration of one year or less; or (2) on contracts where we recognize revenue in line with the billing. Of this amount, we expect to recognize revenue of $352 million over the next 12 months, $42 million within the next 24 months, and we expect to recognize substantially all of the remaining balance of $0.7 million within the next 36 months.

In our Manufactured Products and ADTech segments, we have long-term contracts that extend beyond one year, and these make up the majority of the performance obligations balance reported as of June 30, 2026. We also have shorter-term product contracts with an expected original duration of one year or less that have been excluded.

Where appropriate, we have made estimates within the transaction price of elements of variable consideration within the contracts and constrained those amounts to a level where we consider it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. The amount of revenue recognized in the three months ended June 30, 2026 and 2025 that was associated with performance obligations completed or partially completed in prior periods was not significant.

As of June 30, 2026, there were no significant outstanding liability balances for refunds or returns due to the nature of our contracts and the services and products we provide. Our warranties are limited to assurance warranties that are of a standard length and are not considered to be material rights. The majority of our contracts consist of a single performance obligation. While our contracts predominantly only contain one performance obligation and a limited number have variable consideration, when there are multiple obligations, we look for observable evidence of stand-alone selling prices on which to base the allocation. This involves judgment as to the appropriateness of the observable evidence relating to the facts and circumstances of the contract. If we do not have observable evidence, we estimate stand-alone selling prices by taking a cost-plus-margin approach, using typical margins from the type of product or service, customer and regional geography involved.

Costs to Obtain or Fulfill a Contract

In line with the available practical expedient, we capitalize incremental costs to obtain a contract that would not have been incurred if the contract had not been obtained when those amounts are significant and the contract is expected at inception to exceed one year in duration. Our costs to obtain a contract primarily consist of bid and proposal costs, which are generally expensed in the period incurred. There were no balances or amortization of costs to obtain a contract in the current reporting periods.

Costs to fulfill a contract primarily consist of certain mobilization costs incurred to provide services or products to our customers. These costs are deferred and amortized over the period of contract performance. The closing balance of costs to fulfill a contract was $3.6 million and $2.1 million as of June 30, 2026 and December 31, 2025, respectively.
For the three- and six-month periods ended June 30, 2026, we recorded amortization expense of $1.0 million and $1.7 million, respectively. For the three- and six-month periods ended June 30, 2025, we recorded amortization expense of $0.6 million and $1.5 million, respectively. No impairment costs were recognized.