XML 32 R20.htm IDEA: XBRL DOCUMENT
v3.23.1

Revenue from Contracts with Customers (Tables) | 3 Months Ended
--- | ---
Mar. 31, 2023
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 |  | 2023 | ​ |  | 2022 | ​ |
Mechanical Services | ​ | $ | 918,615 |  | 78.2 | % | ​ | $ | 682,511 |  | 77.1 | % | ​
Electrical Services | ​ | ​ | 256,025 | ​ | 21.8 | % | ​ | ​ | 202,705 | ​ | 22.9 | % | ​
Total | ​ | $ | 1,174,640 | ​ | 100.0 | % | ​ | $ | 885,216 | ​ | 100.0 | % | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended March 31, | ​ | ​
Revenue by Type of Customer | ​ | 2023 | ​ | ​ | 2022 |  | ​
Manufacturing | ​ | $ | 366,356 | ​ | 31.2 | % | ​ | $ | 314,729 | ​ | 35.5 | % | ​
Technology | ​ | ​ | 226,249 | ​ | 19.3 | % | ​ | ​ | 95,455 | ​ | 10.8 | % | ​
Healthcare | ​ | ​ | 159,815 | ​ | 13.5 | % | ​ | ​ | 134,795 | ​ | 15.2 | % | ​
Education | ​ | ​ | 110,253 | ​ | 9.4 | % | ​ | ​ | 89,446 | ​ | 10.1 | % | ​
Office Buildings | ​ | ​ | 98,195 | ​ | 8.4 | % | ​ | ​ | 75,115 | ​ | 8.5 | % | ​
Retail, Restaurants and Entertainment | ​ | ​ | 76,194 | ​ | 6.5 | % | ​ | ​ | 65,582 | ​ | 7.4 | % | ​
Government | ​ | ​ | 64,415 | ​ | 5.5 | % | ​ | ​ | 57,465 | ​ | 6.5 | % | ​
Multi-Family and Residential | ​ | ​ | 45,007 | ​ | 3.8 | % | ​ | ​ | 24,442 | ​ | 2.8 | % | ​
Other | ​ | ​ | 28,156 | ​ | 2.4 | % | ​ | ​ | 28,187 | ​ | 3.2 | % | ​
Total | ​ | $ | 1,174,640 | ​ | 100.0 | % | ​ | $ | 885,216 | ​ | 100.0 | % | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended March 31, | ​ | ​
Revenue by Activity Type | ​ | 2023 | ​ | ​ | 2022 |  | ​
New Construction | ​ | $ | 627,952 | ​ | 53.5 | % | ​ | $ | 429,418 | ​ | 48.5 | % | ​
Existing Building Construction | ​ | ​ | 309,483 | ​ | 26.3 | % | ​ | ​ | 259,285 | ​ | 29.3 | % | ​
Service Projects | ​ | ​ | 103,105 | ​ | 8.8 | % | ​ | ​ | 76,252 | ​ | 8.6 | % | ​
Service Calls, Maintenance and Monitoring | ​ | ​ | 134,100 | ​ | 11.4 | % | ​ | ​ | 120,261 | ​ | 13.6 | % | ​
Total | ​ | $ | 1,174,640 | ​ | 100.0 | % | ​ | $ | 885,216 | ​ | 100.0 | % | ​
​
Schedule of contract assets and liabilities | Contract assets and liabilities in the Consolidated Balance Sheet consisted of the following amounts as of March 31, 2023 and December 31, 2022 (in thousands):
​ | ​ | ​ | ​ | ​ | ​
​ | March 31, 2023 | ​ | December 31, 2022
Contract assets: | ​ | ​ | ​ | ​ | ​
Costs and estimated earnings in excess of billings, less allowance for credit losses | $ | 26,820 | ​ | $ | 27,211
Contract liabilities: | ​ | ​ | ​ | ​ | ​
Billings in excess of costs and estimated earnings and deferred revenue | $ | 717,294 | ​ | $ | 548,293
​

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 https://asc.fasb.org/extlink&oid=126920106&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 https://asc.fasb.org/extlink&oid=126920106&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