XML 23 R9.htm IDEA: XBRL DOCUMENT
v3.21.2

REVENUE | 9 Months Ended
--- | ---
Sep. 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 nine months ended September 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): Geographic area:
| Three Months Ended September 30, 2021 |  | Three Months Ended September 30, 2020
| (unaudited) |  | (unaudited)
| United States and Canada |  | Other Countries |  | Total |  | United States and Canada |  | Other Countries |  | Total
Revenue: |  |  |  |  |  |  |  |  |  |  |
IHT | $ | 98,812 |  |  | $ | 2,664 |  |  | $ | 101,476 |  |  | $ | 94,414 |  |  | $ | 2,223 |  |  | $ | 96,637 |
MS | 63,885 |  |  | 32,518 |  |  | 96,403 |  |  | 73,204 |  |  | 28,534 |  |  | 101,738 |
Quest Integrity | 11,421 |  |  | 8,110 |  |  | 19,531 |  |  | 12,382 |  |  | 8,336 |  |  | 20,718 |
Total | $ | 174,118 |  |  | $ | 43,292 |  |  | $ | 217,410 |  |  | $ | 180,000 |  |  | $ | 39,093 |  |  | $ | 219,093 |
| Nine Months Ended September 30, 2021 |  | Nine Months Ended September 30, 2020
| (unaudited) |  | (unaudited)
| United States and Canada |  | Other Countries |  | Total |  | United States and Canada |  | Other Countries |  | Total
Revenue: |  |  |  |  |  |  |  |  |  |  |
IHT | $ | 302,871 |  |  | $ | 7,206 |  |  | $ | 310,077 |  |  | $ | 277,947 |  |  | $ | 7,045 |  |  | $ | 284,992 |
MS | 189,234 |  |  | 91,732 |  |  | 280,966 |  |  | 217,189 |  |  | 81,888 |  |  | 299,077 |
Quest Integrity | 36,956 |  |  | 22,902 |  |  | 59,858 |  |  | 35,967 |  |  | 25,200 |  |  | 61,167 |
Total | $ | 529,061 |  |  | $ | 121,840 |  |  | $ | 650,901 |  |  | $ | 531,103 |  |  | $ | 114,133 |  |  | $ | 645,236 |
Operating segment and service type:
| Three Months Ended September 30, 2021
| (unaudited)
| Non-Destructive Evaluation and Testing Services |  | Repair and Maintenance Services |  | Heat Treating |  |  |  | Other |  | Total
Revenue: |  |  |  |  |  |  |  |  |  |  |
IHT | $ | 80,553 |  |  | $ | 56 |  |  | $ | 11,928 |  |  |  |  | $ | 8,939 |  |  | $ | 101,476 |
MS | — |  |  | 95,560 |  |  | 71 |  |  |  |  | 772 |  |  | 96,403 |
Quest Integrity | 19,531 |  |  | — |  |  | — |  |  |  |  | — |  |  | 19,531 |
Total | $ | 100,084 |  |  | $ | 95,616 |  |  | $ | 11,999 |  |  |  |  | $ | 9,711 |  |  | $ | 217,410 |
| Three Months Ended September 30, 2020
| (unaudited)
| Non-Destructive Evaluation and Testing Services |  | Repair and Maintenance Services |  | Heat Treating |  |  |  | Other |  | Total
Revenue: |  |  |  |  |  |  |  |  |  |  |
IHT | $ | 77,323 |  |  | $ | — |  |  | $ | 12,667 |  |  |  |  | $ | 6,647 |  |  | $ | 96,637 |
MS | — |  |  | 101,032 |  |  | 221 |  |  |  |  | 485 |  |  | 101,738 |
Quest Integrity | 20,718 |  |  | — |  |  | — |  |  |  |  | — |  |  | 20,718 |
Total | $ | 98,041 |  |  | $ | 101,032 |  |  | $ | 12,888 |  |  |  |  | $ | 7,132 |  |  | $ | 219,093 |
| Nine Months Ended September 30, 2021
| (unaudited)
| Non-Destructive Evaluation and Testing Services |  | Repair and Maintenance Services |  | Heat Treating |  |  |  | Other |  | Total
Revenue: |  |  |  |  |  |  |  |  |  |  |
IHT | $ | 244,374 |  |  | $ | 344 |  |  | $ | 42,650 |  |  |  |  | $ | 22,709 |  |  | $ | 310,077 |
MS | — |  |  | 278,685 |  |  | 768 |  |  |  |  | 1,513 |  |  | 280,966 |
Quest Integrity | 59,858 |  |  | — |  |  | — |  |  |  |  | — |  |  | 59,858 |
Total | $ | 304,232 |  |  | $ | 279,029 |  |  | $ | 43,418 |  |  |  |  | $ | 24,222 |  |  | $ | 650,901 |
| Nine Months Ended September 30, 2020
| (unaudited)
| Non-Destructive Evaluation and Testing Services |  | Repair and Maintenance Services |  | Heat Treating |  |  |  | Other |  | Total
Revenue: |  |  |  |  |  |  |  |  |  |  |
IHT | $ | 226,693 |  |  | $ | 121 |  |  | $ | 37,583 |  |  |  |  | $ | 20,595 |  |  | $ | 284,992 |
MS | — |  |  | 295,741 |  |  | 896 |  |  |  |  | 2,440 |  |  | 299,077 |
Quest Integrity | 61,167 |  |  | — |  |  | — |  |  |  |  | — |  |  | 61,167 |
Total | $ | 287,860 |  |  | $ | 295,862 |  |  | $ | 38,479 |  |  |  |  | $ | 23,035 |  |  | $ | 645,236 |
For additional information on our reportable operating segments and geographic information, refer to Note 17. 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):
| September 30, 2021 |  | December 31, 2020
| (unaudited) |  |
Trade accounts receivable, net 1 | $ | 204,294 |  |  | $ | 194,066 |
Contract assets 2 | $ | 1,475 |  |  | $ | 5,242 |
Contract liabilities 3 | $ | 1,083 |  |  | $ | 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 September 30, 2021 is due to less fixed price contracts in progress at September 30, 2021 as compared to December 31, 2020. Contract liabilities as of September 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 September 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 September 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 September 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.

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -URI http://asc.fasb.org/topic&trid=49130388 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 10 -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(2) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 9 -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 15 -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration