XML 23 R11.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]  
Revenue from Contracts with Customers Revenue from Contracts with CustomersThe Company generates revenue principally from fixed-price construction contracts to deliver HVAC, plumbing, and electrical construction services to its customers. The duration of its contracts generally ranges from six months to two years. Revenue from fixed price contracts is recognized on the cost-to-cost method, measured by the relationship of total cost incurred to total estimated contract costs. Revenue from time and materials contracts is recognized as services are performed. The Company believes that its extensive experience in HVAC, plumbing, and electrical projects, and its internal cost review procedures during the bidding process, enable it to reasonably estimate costs and mitigate the risk of cost overruns on fixed price contracts.
The Company generally invoices customers on a monthly basis, based on a schedule of values that breaks down the contract amount into discrete billing items. Costs and estimated earnings in excess of billings on uncompleted contracts are recorded as a contract asset until billable under the contract terms. Billings in excess of costs and estimated earnings on uncompleted contracts are recorded as a contract liability until the related revenue is recognizable. The Company classifies contract assets and liabilities that may be settled beyond one year from the balance sheet date as current, consistent with the length of time of the Company’s project operating cycle.
Contract assets
Contract assets include amounts due under retainage provisions and costs and estimated earnings in excess of billings. 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 
Retainage receivable represents amounts invoiced to customers where payments have been partially withheld, typically 10%, pending the completion of certain milestones, satisfaction of other contractual conditions or the completion of the project. Retainage agreements vary from project to project and balances could be outstanding for several months or years depending on a number of circumstances such as contract-specific terms, project performance and other variables that may arise as the Company makes progress towards completion.
Contract assets represent the excess of contract costs and profits (or contract revenue) over the amount of contract billings to date and are classified as a current asset. Contract assets result when either: (1) the appropriate contract revenue amount has been recognized over time in accordance with ASC Topic 606, but a portion of the revenue recorded cannot be currently billed due to the billing terms defined in the contract, or (2) costs are incurred related to certain claims and unapproved change orders. Claims occur when there is a dispute regarding both a change in the scope of work and the price associated with that change. Unapproved change orders occur when a change in the scope of work results in additional work being performed before the parties have agreed on the corresponding change in the contract price. The Company routinely estimates recovery related to claims and unapproved change orders as a form of variable consideration at the most likely amount it expects to receive and to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. Claims and unapproved change orders are billable upon the agreement and resolution between the contractual parties and after the execution of contractual amendments. Increases in claims and unapproved change orders typically result from costs being incurred against existing or new positions; decreases normally result from resolutions and subsequent billings.
The current estimated net realizable value on such items as recorded in contract assets and contract liabilities in the consolidated balance sheets was $38.1 million and $33.6 million as of December 31, 2021 and 2020, respectively. The Company anticipates that the majority of such amounts will be approved or executed within one year. The resolution of those claims and unapproved change orders that may require litigation or other forms of dispute resolution proceedings may delay the timing of billing beyond one year. 
Contract liabilities include billings in excess of contract costs and provisions for losses. 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)
Billings in excess of costs represent the excess of contract billings to date over the amount of contract costs and profits (or contract revenue) recognized to date. The balance may fluctuate depending on the timing of contract billings and the recognition of contract revenue.
Provisions for losses are recognized in the consolidated statements of operations at the uncompleted performance obligation level for the amount of total estimated losses in the period that evidence indicates that the estimated total cost of a performance obligation exceeds its estimated total revenue. 
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)
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)
During the year ended December 31, 2021, the Company recorded total net gross profit write-ups, regardless of materiality, of $0.4 million compared to total net gross profit write-downs, regardless of materiality, of $7.9 million for the year ended December 31, 2020.
Remaining Performance Obligations
Remaining performance obligations represent the transaction price of firm orders for which work has not been performed and exclude unexercised contract options. The Company’s remaining performance obligations includes projects that have a written award, a letter of intent, a notice to proceed or an agreed upon work order to perform work on mutually accepted terms and conditions.
As of December 31, 2021, the aggregate amount of the transaction prices allocated to the remaining performance obligations of the Company's GCR and ODR segment contracts were $337.2 million and $81.2 million, respectively. The Company currently estimates that 65% and 52% of our GCR and ODR segment remaining performance obligations as of December 31, 2021, respectively, will be recognized as revenue during 2022, with the substantial majority of remaining performance obligations to be recognized within 24 months, although the timing of the Company’s performance is not always under its control.
Additionally, the difference between remaining performance obligations and backlog is due to the exclusion of a portion of the Company’s ODR agreements under certain contract types from the Company’s remaining performance obligations as these
contracts can be canceled for convenience at any time by the Company or the customer without considerable cost incurred by the customer.