XML 22 R10.htm IDEA: XBRL DOCUMENT
v3.22.1

Revenue from Contracts with Customers | 3 Months Ended
--- | ---
Mar. 31, 2022
Revenue from Contract with Customer [Abstract] |
Revenue from Contracts with Customers | Revenue from Contracts with Customers The 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) | March 31, 2022 |  | December 31, 2021 |  | Change
Contract assets |  |  |  |  |
Costs in excess of billings and estimated earnings | $ | 41,949 |  |  | $ | 47,447 |  |  | $ | (5,498) |
Retainage receivable | 33,594 |  |  | 36,416 |  |  | (2,822) |
Total contract assets | $ | 75,543 |  |  | $ | 83,863 |  |  | $ | (8,320) |
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 condensed consolidated balance sheets was $39.9 million and $38.1 million as of March 31, 2022 and December 31, 2021, respectively. The Company currently 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 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) | March 31, 2022 |  | December 31, 2021 |  | Change
Contract liabilities |  |  |  |  |
Billings in excess of costs and estimated earnings | $ | 34,053 |  |  | $ | 26,293 |  |  | $ | 7,760 |
Provisions for losses | 391 |  |  | 419 |  |  | (28) |
Total contract liabilities | $ | 34,444 |  |  | $ | 26,712 |  |  | $ | 7,732 |
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 condensed 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 position for contracts in process consisted of the following:
(in thousands) | March 31, 2022 |  | December 31, 2021
Revenue earned on uncompleted contracts | $ | 679,170 |  |  | $ | 758,450 |
Less: Billings to date | (671,274) |  |  | (737,296) |
Net underbilling | $ | 7,896 |  |  | $ | 21,154 |
(in thousands) | March 31, 2022 |  | December 31, 2021
Costs in excess of billings and estimated earnings | $ | 41,949 |  |  | $ | 47,447 |
Billings in excess of costs and estimated earnings | (34,053) |  |  | (26,293) |
Net underbilling | $ | 7,896 |  |  | $ | 21,154 |
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 three months ended March 31, 2022 and 2021 (includes material gross profit changes of $0.25 million or more).
| For the Three Months Ended March 31,
| 2022 |  | 2021
(in thousands except number of projects ) |  |  | Number of Projects |  |  |  | Number of Projects
Gross profit write-ups: |  |  |  |  |  |  |
GCR | $ | 533 |  |  | 2 |  |  | $ | 743 |  |  | 2 |
ODR | — |  |  | — |  |  | — |  |  | — |
Total gross profit write-ups | $ | 533 |  |  | 2 |  |  | $ | 743 |  |  | 2 |
Gross profit write-downs: |  |  |  |  |  |  |
GCR | $ | (604) |  |  | 2 |  |  | $ | (768) |  |  | 2 |
ODR | — |  |  | — |  |  | — |  |  | — |
Total gross profit write-downs | $ | (604) |  |  | 2 |  |  | $ | (768) |  |  | 2 |
Total gross profit write-downs, net | $ | (71) |  |  |  |  | $ | (25) |  |  |
During the three months ended March 31, 2022, the Company recorded total net gross profit write-downs, regardless of materiality, of $1.4 million compared to total net gross profit write-downs of $0.5 million for the three months ended March 31, 2021. 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 include 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 March 31, 2022, the aggregate amount of the transaction prices allocated to the remaining performance obligations of the Company's GCR and ODR segment contracts were $340.7 million and $90.4 million, respectively. The Company currently estimates that 60% and 73% of its GCR and ODR remaining performance obligations as of March 31, 2022, respectively, will be recognized as revenue during the remainder of 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.

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