XML 40 R28.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers (Tables)
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]  
Schedule of Components of Contract Asset and Liability Balances The components of the contract asset balances as of the respective dates were as follows:
(in thousands)December 31, 2021December 31, 2020Change
Contract assets
   Costs in excess of billings and estimated earnings$47,447 $31,894 $15,553 
   Retainage receivable36,416 35,204 1,212 
      Total contract assets$83,863 $67,098 $16,765 
The components of the contract liability balances as of the respective dates were as follows:
(in thousands)December 31, 2021December 31, 2020Change
Contract liabilities
   Billings in excess of costs and estimated earnings$26,293 $46,020 $(19,727)
   Provisions for losses419 628 (209)
      Total contract liabilities$26,712 $46,648 $(19,936)
Schedule of Contracts in Progress
The net underbilling (overbilling) position for contracts in process consisted of the following:
(in thousands)December 31, 2021December 31, 2020
Revenue earned on uncompleted contracts$758,450 $752,564 
Less: Billings to date(737,296)(766,690)
   Net underbilling (overbilling)$21,154 $(14,126)
(in thousands)December 31, 2021December 31, 2020
Costs in excess of billings and estimated earnings$47,447 $31,894 
Billings in excess of costs and estimated earnings(26,293)(46,020)
   Net underbilling (overbilling)$21,154 $(14,126)
Schedule of Revisions in Contract Estimates
The following table summarizes the Company’s recorded revisions in its contract estimates for certain GCR and ODR projects for the years ended December 31, 2021 and 2020 (includes material gross profit changes of $0.25 million or more).
 For the Years Ended December 31,
 20212020
(in thousands except project count )Project countProject count
Gross profit write-ups:
GCR$5,663 12 $1,654 
ODR— — — — 
Total gross profit write-ups$5,663 12 $1,654 
Gross profit write-downs:
GCR$(5,958)$(10,379)15 
ODR(332)— — 
Total gross profit write-downs$(6,290)$(10,379)15 
Total gross profit write-downs, net$(627)$(8,725)