XML 31 R20.htm IDEA: XBRL DOCUMENT v3.20.2
Contract Assets and Liabilities
9 Months Ended
Sep. 30, 2020
Revenue from Contract with Customer [Abstract]  
Contract Assets and Liabilities Revenue
We disaggregate our revenue from customers by type of service and by geographic region as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the tables below.
 Three Months EndedNine Months Ended
September 30,September 30,
 2020201920202019
Environmental Solutions
Product sales$22,940 $28,995 $66,101 $76,397 
Construction contracts21,590 16,841 51,784 63,048 
Services1,270 177 2,442 1,901 
Total Environmental Solutions45,800 46,013 120,327 141,346 
Maintenance and Technical Services
Services72,915 75,100 296,164 263,961 
Total Maintenance and Technical Services72,915 75,100 296,164 263,961 
Total revenue
$118,715 $121,113 $416,491 $405,307 
 Three Months EndedNine Months Ended
September 30,September 30,
 2020201920202019
Environmental Solutions
United States$45,729 $46,013 $119,410 $141,346 
Foreign71 — 917 — 
Total Environmental Solutions45,800 46,013 120,327 141,346 
Maintenance and Technical Services
United States72,915 75,100 296,164 263,961 
Total Maintenance and Technical Services72,915 75,100 296,164 263,961 
Total revenue
$118,715 $121,113 $416,491 $405,307 
As of September 30, 2020, the Company had remaining performance obligations with an aggregate transactions price of $138,796 on construction contracts for which we recognize revenue over time. We expect to recognize approximately 16% of our remaining performance obligations as revenue during the remainder of 2020, 32% in 2021, 17% in 2022, and 35% thereafter. Revenue associated with our remaining performance obligations includes performance obligations related to our construction contracts. The balance of remaining performance obligations does not include variable consideration that was determined to be constrained as of September 30, 2020. As of September 30, 2020, we included unapproved change orders associated with project scope changes of $2,459 in determining the profit or loss on certain construction contracts. Change orders of $909 were approved subsequent to quarter-end.
Contract Assets and Liabilities
The timing of revenue recognition, billings and cash collections results in accounts receivable, contract assets, and contract liabilities on the unaudited condensed consolidated balance sheets.
Our contract assets are as follows:
September 30, 2020December 31, 2019
Costs and estimated earnings in excess of billings$12,828 $19,256 
Retainage4,388 1,385 
Total contract assets
$17,216 $20,641 
    
Our contract liabilities are as follows:
September 30, 2020December 31, 2019
Deferred revenue$826 $505 
Billings in excess of costs and estimated earnings11,235 77 
Total contract liabilities
$12,061 $582 
We recognized revenue of $159 and $582 for the three and nine months ended September 30, 2020, respectively, that was previously included in contract liabilities at December 31, 2019. The increase in contract liabilities was primarily due to an increase in billings in excess of costs and estimated earnings associated with billings during the three and nine months ended September 30, 2020 for a specific remediation and compliance project.
Costs and estimated earnings on uncompleted contracts are as follows:
September 30, 2020December 31, 2019
Costs incurred on uncompleted contracts$110,624 $65,343 
Estimated earnings15,221 9,618 
Total costs and estimated earnings125,845 74,961 
Less billings to date(124,252)(55,782)
Costs and estimated earnings in excess of billings$1,593 $19,179 
    The net balance in process classified on the unaudited condensed consolidated balance sheets is as follows: 
September 30, 2020December 31, 2019
Costs and estimated earnings in excess of billings$12,828 $19,256 
Billings in excess of costs and estimated earnings(11,235)(77)
Net balance in process$1,593 $19,179 
Anticipated losses on long-term contracts are recognized when such losses become evident. As of September 30, 2020 and December 31, 2019, accruals for anticipated losses on long-term contracts were $189 and $322, respectively.