XML 68 R51.htm IDEA: XBRL DOCUMENT v3.22.0.1
REVENUE - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Disaggregation of Revenue [Line Items]      
Revenue, performance obligation, description of timing Customers are generally billed as we satisfy our performance obligations and payment terms typically range from 30 to 90 days from the invoice date. Billings under certain fixed-price contracts may be based upon the achievement of specified milestones, while some arrangements may require advance customer payment. Our contracts do not include significant financing components since the contracts typically span less than one year.    
Warranty term 12 months    
Revenues [1] $ 874,553 $ 852,539 $ 1,163,314
United States and Canada      
Disaggregation of Revenue [Line Items]      
Revenues 709,324 693,846  
Other Countries      
Disaggregation of Revenue [Line Items]      
Revenues 165,229 158,693  
Asset Integrity Management      
Disaggregation of Revenue [Line Items]      
Revenues 405,560 380,153  
Repair and Maintenance Services      
Disaggregation of Revenue [Line Items]      
Revenues 375,352 388,519  
Heat Treating      
Disaggregation of Revenue [Line Items]      
Revenues 60,661 51,308  
Other Services      
Disaggregation of Revenue [Line Items]      
Revenues 32,980 32,559  
IHT      
Disaggregation of Revenue [Line Items]      
Revenues 415,371 374,740  
IHT | United States and Canada      
Disaggregation of Revenue [Line Items]      
Revenues 405,007 365,847  
IHT | Other Countries      
Disaggregation of Revenue [Line Items]      
Revenues 10,364 8,893  
IHT | Asset Integrity Management      
Disaggregation of Revenue [Line Items]      
Revenues 325,204 294,838  
IHT | Repair and Maintenance Services      
Disaggregation of Revenue [Line Items]      
Revenues 467 206  
IHT | Heat Treating      
Disaggregation of Revenue [Line Items]      
Revenues 59,855 50,220  
IHT | Other Services      
Disaggregation of Revenue [Line Items]      
Revenues 29,845 29,476  
MS      
Disaggregation of Revenue [Line Items]      
Revenues 378,826 392,484  
MS | United States and Canada      
Disaggregation of Revenue [Line Items]      
Revenues 256,806 278,882  
MS | Other Countries      
Disaggregation of Revenue [Line Items]      
Revenues 122,020 113,602  
MS | Asset Integrity Management      
Disaggregation of Revenue [Line Items]      
Revenues 0 0  
MS | Repair and Maintenance Services      
Disaggregation of Revenue [Line Items]      
Revenues 374,885 388,313  
MS | Heat Treating      
Disaggregation of Revenue [Line Items]      
Revenues 806 1,088  
MS | Other Services      
Disaggregation of Revenue [Line Items]      
Revenues 3,135 3,083  
Quest Integrity      
Disaggregation of Revenue [Line Items]      
Revenues 80,356 85,315  
Quest Integrity | United States and Canada      
Disaggregation of Revenue [Line Items]      
Revenues 47,511 49,117  
Quest Integrity | Other Countries      
Disaggregation of Revenue [Line Items]      
Revenues 32,845 36,198  
Quest Integrity | Asset Integrity Management      
Disaggregation of Revenue [Line Items]      
Revenues 80,356 85,315  
Quest Integrity | Repair and Maintenance Services      
Disaggregation of Revenue [Line Items]      
Revenues 0 0  
Quest Integrity | Heat Treating      
Disaggregation of Revenue [Line Items]      
Revenues 0 0  
Quest Integrity | Other Services      
Disaggregation of Revenue [Line Items]      
Revenues $ 0 $ 0  
[1] Revenues attributable to individual countries/geographic areas are based on the country of domicile of the legal entity that performs the work.