XML 21 R9.htm IDEA: XBRL DOCUMENT v3.21.2
REVENUE
6 Months Ended
Jun. 30, 2021
Revenue from Contract with Customer [Abstract]  
REVENUE REVENUE
In accordance with ASC 606, Revenue from Contracts with Customers, 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.
The majority 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. In contracts where the amount of consideration is variable, we consider our experience with similar contracts in estimating the amount to which we will be entitled and recognize revenues accordingly. As most of our contracts contain only one performance obligation, the allocation of a contract’s 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 12 months or less from the date of service. Warranty expenses were not material for the three and six months ended June 30, 2021 and 2020.
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):
Three Months Ended June 30, 2021Three Months Ended June 30, 2020
(unaudited)(unaudited)
United States and CanadaOther CountriesTotalUnited States and CanadaOther CountriesTotal
Revenue:
IHT$114,834 $2,628 $117,462 $78,234 $2,240 $80,474 
MS65,303 31,864 97,167 67,403 25,417 92,820 
Quest Integrity16,480 7,764 24,244 10,748 5,262 16,010 
Total$196,617 $42,256 $238,873 $156,385 $32,919 $189,304 

Six Months Ended June 30, 2021Six Months Ended June 30, 2020
(unaudited)(unaudited)
United States and CanadaOther CountriesTotalUnited States and CanadaOther CountriesTotal
Revenue:
IHT$204,059 $4,542 $208,601 $183,536 $4,819 $188,355 
MS125,349 59,214 184,563 143,985 53,354 197,339 
Quest Integrity25,535 14,792 40,327 23,582 16,867 40,449 
Total$354,943 $78,548 $433,491 $351,103 $75,040 $426,143 

Three Months Ended June 30, 2021
(unaudited)
Non-Destructive Evaluation and Testing ServicesRepair and Maintenance ServicesHeat TreatingOtherTotal
Revenue:
IHT$92,291 $207 $17,267 $7,697 $117,462 
MS— 97,149 10 97,167 
Quest Integrity24,244 — — — 24,244 
Total$116,535 $97,356 $17,275 $7,707 $238,873 
Three Months Ended June 30, 2020
(unaudited)
Non-Destructive Evaluation and Testing ServicesRepair and Maintenance ServicesHeat TreatingOtherTotal
Revenue:
IHT$62,963 $62 $10,770 $6,679 $80,474 
MS— 92,094 196 530 92,820 
Quest Integrity16,010 — — — 16,010 
Total$78,973 $92,156 $10,966 $7,209 $189,304 

Six Months Ended June 30, 2021
(unaudited)
Non-Destructive Evaluation and Testing ServicesRepair and Maintenance ServicesHeat TreatingOtherTotal
Revenue:
IHT$163,820 $288 $30,722 $13,771 $208,601 
MS— 183,125 697 741 184,563 
Quest Integrity40,327 — — — 40,327 
Total$204,147 $183,413 $31,419 $14,512 $433,491 

Six Months Ended June 30, 2020
(unaudited)
Non-Destructive Evaluation and Testing ServicesRepair and Maintenance ServicesHeat TreatingOtherTotal
Revenue:
IHT$149,370 $163 $24,916 $13,906 $188,355 
MS— 194,709 675 1,955 197,339 
Quest Integrity40,449 — — — 40,449 
Total$189,819 $194,872 $25,591 $15,861 $426,143 

For additional information on our reportable operating segments and geographic information, refer to Note 16.
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 Note 3 for additional information on the allowance for credit losses and our trade receivables. 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.
Trade accounts receivable, contract assets and contract liabilities consisted of the following (in thousands):
June 30, 2021December 31, 2020
(unaudited)
Trade accounts receivable, net1
$217,461 $194,066 
Contract assets2
$1,453 $5,242 
Contract liabilities3
$893 $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 condensed consolidated balance sheets.
3    Included in the “Other accrued liabilities” line of the condensed consolidated balance sheets.
The $3.8 million decrease in our contract assets from December 31, 2020 to June 30, 2021 is due to less fixed price contracts in progress at June 30, 2021 as compared to December 31, 2020. Contract liabilities as of June 30, 2021 are 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.
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. Assets recognized for costs to obtain a contract were not material as of June 30, 2021. Costs to fulfill a contract are recorded as assets if they relate directly to a contract or a specific anticipated contract, the costs 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 a contract 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. Assets recognized for costs to fulfill a contract are included in the “Prepaid expenses and other current assets” line of the condensed consolidated balance sheets and were not material as of June 30, 2021. 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 June 30, 2021, 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.