XML 31 R21.htm IDEA: XBRL DOCUMENT
v3.22.1

Revenue from Contracts with Customers (Tables) | 3 Months Ended
--- | ---
Mar. 31, 2022
Revenue from Contracts with Customers |
Schedule of disaggregation of revenue | See details in the following tables (dollars in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Three Months Ended March 31,
Revenue by Service Provided |  |  | 2022 | ​ |  | 2021 | ​
Mechanical Services | ​ | ​ | $ | 682,511 |  | 77.1 | % | ​ | $ | 565,620 |  | 84.5 | %
Electrical Services | ​ | ​ | ​ | 202,705 | ​ | 22.9 | % | ​ | ​ | 104,141 | ​ | 15.5 | %
Total | ​ | ​ | $ | 885,216 | ​ | 100.0 | % | ​ | $ | 669,761 | ​ | 100.0 | %
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Three Months Ended March 31,
Revenue by Type of Customer | ​ | ​ | 2022 | ​ | ​ | 2021 |
Industrial | ​ | ​ | $ | 410,184 | ​ | 46.3 | % | ​ | $ | 269,583 | ​ | 40.3 | %
Education | ​ | ​ | ​ | 89,446 | ​ | 10.1 | % | ​ | ​ | 92,457 | ​ | 13.8 | %
Office Buildings | ​ | ​ | ​ | 75,115 | ​ | 8.5 | % | ​ | ​ | 78,996 | ​ | 11.8 | %
Healthcare | ​ | ​ | ​ | 134,795 | ​ | 15.2 | % | ​ | ​ | 95,091 | ​ | 14.2 | %
Government | ​ | ​ | ​ | 57,465 | ​ | 6.5 | % | ​ | ​ | 43,165 | ​ | 6.4 | %
Retail, Restaurants and Entertainment | ​ | ​ | ​ | 65,582 | ​ | 7.4 | % | ​ | ​ | 44,576 | ​ | 6.7 | %
Multi-Family and Residential | ​ | ​ | ​ | 24,442 | ​ | 2.8 | % | ​ | ​ | 24,660 | ​ | 3.7 | %
Other | ​ | ​ | ​ | 28,187 | ​ | 3.2 | % | ​ | ​ | 21,233 | ​ | 3.1 | %
Total | ​ | ​ | $ | 885,216 | ​ | 100.0 | % | ​ | $ | 669,761 | ​ | 100.0 | %
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Three Months Ended March 31,
Revenue by Activity Type | ​ | ​ | 2022 | ​ | ​ | 2021 |
New Construction | ​ | ​ | $ | 429,418 | ​ | 48.5 | % | ​ | $ | 302,061 | ​ | 45.1 | %
Existing Building Construction | ​ | ​ | ​ | 259,285 | ​ | 29.3 | % | ​ | ​ | 216,601 | ​ | 32.3 | %
Service Projects | ​ | ​ | ​ | 76,252 | ​ | 8.6 | % | ​ | ​ | 60,060 | ​ | 9.0 | %
Service Calls, Maintenance and Monitoring | ​ | ​ | ​ | 120,261 | ​ | 13.6 | % | ​ | ​ | 91,039 | ​ | 13.6 | %
Total | ​ | ​ | $ | 885,216 | ​ | 100.0 | % | ​ | $ | 669,761 | ​ | 100.0 | %
​
Schedule of contract assets and liabilities | The following table presents the changes in contract assets and contract liabilities (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | Three Months Ended March 31, | ​ | ​ | Year Ended December 31,
​ | 2022 | ​ | 2021
​ | Contract |  | Contract | ​ | Contract |  | Contract
​ | Assets | ​ | Liabilities | ​ | Assets | ​ | Liabilities
Balance at beginning of period | $ | 29,900 | ​ | $ | 307,380 | ​ | $ | 18,622 | ​ | $ | 226,237
Change due to acquisitions / disposals | ​ | (10) | ​ | ​ | 52 | ​ | ​ | 10,356 | ​ | ​ | 36,523
Change related to credit allowance | ​ | 31 | ​ | ​ | — | ​ | ​ | (5) | ​ | ​ | —
Other changes in the period | ​ | (11,608) | ​ | ​ | 21,135 | ​ | ​ | 927 | ​ | ​ | 44,620
Balance at end of period | $ | 18,313 | ​ | $ | 328,567 | ​ | $ | 29,900 |  | $ | 307,380

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -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 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

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