XML 27 R10.htm IDEA: XBRL DOCUMENT v3.22.0.1
REVENUE
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]  
REVENUE REVENUE
In accordance with ASC Topic 606, Revenue from Contracts with Customers, (“ASC 606”), we follow a five-step process to recognize revenue: 1) identify the contract with the customer, 2) identify the performance obligations, 3) determine the transaction price, 4) allocate the transaction price to the performance obligations and 5) recognize revenue when the performance obligations are satisfied.
Most of our contracts with customers are short-term in nature and billed on a time and materials basis, while certain other contracts are at a fixed price. Certain contracts may contain a combination of fixed and variable elements. We act as a principal and have performance obligations to provide the service itself or oversee the services provided by any subcontractors. Revenue is measured based on consideration specified in a contract with a customer and excludes amounts collected on behalf of third parties, such as taxes assessed by governmental authorities. Generally, in contracts where the amount of consideration is variable, the amount is determinable each period based on our right to invoice (as discussed further below) the customer for services performed to date. As most of our contracts contain only one performance obligation, the allocation of a contracts transaction price to multiple performance obligations is generally not applicable. 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. Contracts generally include an assurance type warranty clause to guarantee that the services comply with agreed specifications. The warranty period typically is twelve months or less from the date of service.
Revenue is recognized as (or when) the performance obligations are satisfied by transferring control over a service or product to the customer. Revenue recognition guidance prescribes two recognition methods (over time or point in time). Most of our performance obligations qualify for recognition over time because we typically perform our services on customer facilities or assets and customers receive the benefits of our services as we perform. Where a performance obligation is satisfied over time, the related revenue is also recognized over time using the method deemed most appropriate to reflect the measure of progress and transfer of control. For our time and materials contracts, we are generally able to elect the right-to-invoice practical expedient, which permits us to recognize revenue in the amount to which we have a right to invoice the customer if that amount corresponds directly with the value to the customer of our performance completed to date. For our fixed price contracts, we typically recognize revenue using the cost-to-cost method, which measures the extent of progress towards completion based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Under this method, revenue is recognized proportionately as costs are incurred. For contracts where control is transferred at a point in time, revenue is recognized at the time control of the asset is transferred to the customer, which is typically upon delivery and acceptance by the customer.
Disaggregation of revenue. Essentially all of our revenues are associated with contracts with customers. A disaggregation of our revenue from contracts with customers by geographic region, by reportable operating segment and by service type is presented below (in thousands):
Twelve Months Ended December 31, 2021
United States and CanadaOther CountriesTotal
Revenue:
IHT$405,007 $10,364 $415,371 
MS256,806 122,020 378,826 
Quest Integrity47,511 32,845 80,356 
Total$709,324 $165,229 $874,553 
Twelve Months Ended December 31, 2020
United States and CanadaOther CountriesTotal
Revenue:
IHT$365,847 $8,893 $374,740 
MS278,882 113,602 392,484 
Quest Integrity49,117 36,198 85,315 
Total$693,846 $158,693 $852,539 
Twelve Months Ended December 31, 2021
Non-Destructive Evaluation and Testing ServicesRepair and Maintenance ServicesHeat TreatingOtherTotal
Revenue:
IHT$325,204 $467 $59,855 $29,845 $415,371 
MS— 374,885 806 3,135 378,826 
Quest Integrity80,356 — — — 80,356 
Total$405,560 $375,352 $60,661 $32,980 $874,553 
Twelve Months Ended December 31, 2020
Non-Destructive Evaluation and Testing ServicesRepair and Maintenance ServicesHeat TreatingOtherTotal
Revenue:
IHT$294,838 $206 $50,220 $29,476 $374,740 
MS— 388,313 1,088 3,083 392,484 
Quest Integrity85,315 — — — 85,315 
Total$380,153 $388,519 $51,308 $32,559 $852,539 
_________________
For additional information on our reportable operating segments and geographic information, refer to Note 15.
Contract balances. The timing of revenue recognition, billings, and cash collections results in trade accounts receivable, contract assets and contract liabilities on the consolidated balance sheets. Trade accounts receivable include billed and unbilled amounts currently due from customers and represent unconditional rights to receive consideration. The amounts due are stated at their net estimated realizable value. Refer to Notes 1 and 3 for additional information on our trade receivables and the allowance for credit losses. Contract assets include unbilled amounts typically resulting from sales under fixed-price contracts when the cost-to-cost method of revenue recognition is utilized, the revenue recognized exceeds the amount billed to the customer and the right to payment is conditional on something other than the passage of time. Amounts may not exceed their net realizable value. If we receive advances or deposits from our customers, a contract liability is recorded. Additionally, a contract liability arises if items of variable consideration result in less revenue being recorded than what is billed. Contract assets and contract liabilities are generally classified as current.
The following table provides information about trade accounts receivable, contract assets and contract liabilities as of December 31, 2021 and 2020 (in thousands):
December 31, 2021December 31, 2020
Trade accounts receivable, net1
$188,772 $194,066 
Contract assets2
$1,602 $5,242 
Contract liabilities3
$313 $930 
_________________
1    Includes billed and unbilled amounts, net of allowance for credit losses. See Note 3 for details.    
2    Included in the “Prepaid expenses and other current assets” line on the consolidated balance sheet.
3    Included in the “Other accrued liabilities” line of the consolidated balance sheet.

The $0.6 million decrease in contract liabilities is due to our completion of performance obligations during the year ended December 31, 2021 associated with contracts under which customers had paid for all or a portion of the consideration in advance of the work being performed. Due to the short-term nature of our contracts, contract liability balances as of the end of any period are generally recognized as revenue in the following quarter. Accordingly, essentially all of the contract liability balance at December 31, 2020 was recognized as revenue during the year ended December 31, 2021.
Contract costs. We recognize the incremental costs of obtaining contracts as selling, general and administrative expenses when incurred if the amortization period of the asset that otherwise would have been recognized is one year or less. Costs to fulfill a contract are recorded as assets if they relate directly to a contract or a specific anticipated contract, the costs to generate or enhance resources that will be used in satisfying performance obligations in the future and the costs are expected to be recovered. Costs to fulfill recognized as assets primarily consist of labor and materials costs and generally relate to engineering and set-up costs incurred prior to the satisfaction of performance obligations begins. Assets recognized for costs to fulfill a contract are included in the “Prepaid expenses and other current assets” line of the consolidated balance sheets and were not material as of December 31, 2021 and 2020. Such assets are recognized as expenses as we transfer the related goods or services to the customer. All other costs to fulfill a contract are expensed as incurred.
Remaining performance obligations. As of December 31, 2021 and 2020, there were no material amounts of remaining performance obligations that are required to be disclosed. As permitted by ASC 606, we have elected not to disclose information about remaining performance obligations where i) the performance obligation is part of a contract that has an original expected duration of one year or less or ii) when we recognize revenue from the satisfaction of the performance obligation in accordance with the right-to-invoice practical expedient.