XML 40 R26.htm IDEA: XBRL DOCUMENT
v3.20.4

Revenue from Contracts with Customers (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2020
Revenue from Contract with Customers |
Schedule of contracts in progress | Contracts in progress are as follows (in thousands):
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31, |
​ |  | 2020 |  | 2019 |
Costs incurred on contracts in progress | ​ | $ | 3,103,580 | ​ | $ | 2,518,581 | ​
Estimated earnings, net of losses | ​ |  | 548,435 | ​ |  | 405,891 | ​
Less—Billings to date | ​ |  | (3,813,171) | ​ |  | (3,033,112) | ​
Less—Unbilled accounts receivable | ​ | ​ | (45,596) | ​ | ​ | (55,542) | ​
Less—Unbilled accounts receivable credit allowance | ​ | ​ | (784) | ​ | ​ | — | ​
​ | ​ | $ | (207,536) | ​ | $ | (164,182) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Costs and estimated earnings in excess of billings | ​ | $ | 18,622 | ​ | $ | 2,736 | ​
Plus—Costs and estimated earnings in excess of billings credit allowance | ​ | ​ | 79 | ​ | ​ | — | ​
Billings in excess of costs and estimated earnings | ​ |  | (226,237) | ​ |  | (166,918) | ​
​ | ​ | $ | (207,536) | ​ | $ | (164,182) | ​
Schedule of disaggregation of revenue | Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 16 “Segment Information” for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and service provided, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the following tables (dollars in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Year Ended December 31, | ​
Revenue by Service Provided |  |  | 2020 | ​ |  | 2019 | ​ | ​ | 2018 | ​
Mechanical Services | ​ | ​ | $ | 2,413,016 |  | 84.5 | % | ​ | $ | 2,251,560 |  | 86.1 | % | ​ | $ | 2,176,223 | ​ | 99.7 | %
Electrical Services | ​ | ​ | ​ | 443,643 | ​ | 15.5 | % | ​ | ​ | 363,717 | ​ | 13.9 | % | ​ | ​ | 6,656 | ​ | 0.3 | %
Total | ​ | ​ | $ | 2,856,659 | ​ | 100.0 | % | ​ | $ | 2,615,277 | ​ | 100.0 | % | ​ | $ | 2,182,879 | ​ | 100.0 | %
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Year Ended December 31, | ​
Revenue by Type of Customer | ​ | ​ | 2020 | ​ | ​ | 2019 |  | ​ | 2018 |
Industrial | ​ | ​ | $ | 1,112,075 | ​ | 38.9 | % | ​ | $ | 886,668 | ​ | 33.9 | % | ​ | $ | 596,557 | ​ | 27.3 | %
Education | ​ | ​ | ​ | 487,922 | ​ | 17.1 | % | ​ | ​ | 412,318 | ​ | 15.8 | % | ​ | ​ | 391,937 | ​ | 18.0 | %
Office Buildings | ​ | ​ | ​ | 319,426 | ​ | 11.2 | % | ​ | ​ | 348,640 | ​ | 13.3 | % | ​ | ​ | 288,090 | ​ | 13.2 | %
Healthcare | ​ | ​ | ​ | 371,105 | ​ | 13.0 | % | ​ | ​ | 358,155 | ​ | 13.7 | % | ​ | ​ | 319,958 | ​ | 14.7 | %
Government | ​ | ​ | ​ | 163,717 | ​ | 5.7 | % | ​ | ​ | 162,507 | ​ | 6.2 | % | ​ | ​ | 143,958 | ​ | 6.6 | %
Retail, Restaurants and Entertainment | ​ | ​ | ​ | 239,541 | ​ | 8.4 | % | ​ | ​ | 248,083 | ​ | 9.5 | % | ​ | ​ | 225,348 | ​ | 10.3 | %
Multi-Family and Residential | ​ | ​ | ​ | 86,799 | ​ | 3.0 | % | ​ | ​ | 104,693 | ​ | 4.0 | % | ​ | ​ | 136,075 | ​ | 6.2 | %
Other | ​ | ​ | ​ | 76,074 | ​ | 2.7 | % | ​ | ​ | 94,213 | ​ | 3.6 | % | ​ | ​ | 80,956 | ​ | 3.7 | %
Total | ​ | ​ | $ | 2,856,659 | ​ | 100.0 | % | ​ | $ | 2,615,277 | ​ | 100.0 | % | ​ | $ | 2,182,879 | ​ | 100.0 | %
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Year Ended December 31, | ​
Revenue by Activity Type | ​ | ​ | 2020 | ​ | ​ | 2019 |  | ​ | 2018 | ​
New Construction | ​ | ​ | $ | 1,333,739 | ​ | 46.7 | % | ​ | $ | 1,201,122 | ​ | 45.9 | % | ​ | $ | 829,978 | ​ | 38.0 | %
Existing Building Construction | ​ | ​ | ​ | 910,807 | ​ | 31.9 | % | ​ | ​ | 793,159 | ​ | 30.3 | % | ​ | ​ | 796,946 | ​ | 36.5 | %
Service Projects | ​ | ​ | ​ | 241,402 | ​ | 8.4 | % | ​ | ​ | 231,228 | ​ | 8.9 | % | ​ | ​ | 206,506 | ​ | 9.5 | %
Service Calls, Maintenance and Monitoring | ​ | ​ | ​ | 370,711 | ​ | 13.0 | % | ​ | ​ | 389,768 | ​ | 14.9 | % | ​ | ​ | 349,449 | ​ | 16.0 | %
Total | ​ | ​ | $ | 2,856,659 | ​ | 100.0 | % | ​ | $ | 2,615,277 | ​ | 100.0 | % | ​ | $ | 2,182,879 | ​ | 100.0 | %
Schedule of contract assets and liabilities | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | Year Ended December 31, | ​ | ​ | Year Ended December 31,
​ | 2020 | ​ | 2019
​ | Contract |  | Contract | ​ | Contract |  | Contract
​ | Assets | ​ | Liabilities | ​ | Assets | ​ | Liabilities
Balance at beginning of period | $ | 2,736 | ​ | $ | 166,918 | ​ | $ | 10,213 | ​ | $ | 130,986
Change due to acquisitions / disposals | ​ | 9,509 | ​ | ​ | 39,885 | ​ | ​ | 6,573 | ​ | ​ | 31,556
Change related to credit allowance | ​ | (79) | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Other changes in the period | ​ | 6,456 | ​ | ​ | 19,434 | ​ | ​ | (14,050) | ​ | ​ | 4,376
Balance at end of period | $ | 18,622 | ​ | $ | 226,237 | ​ | $ | 2,736 |  | $ | 166,918

X
- Definition Tabular disclosure of contracts in progress. + References No definition available. + Details
Name: | fix_ScheduleOfContractsInProgressTableTextBlock
Namespace Prefix: | fix_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

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=121604090&loc=SL49130551-203045 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum: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=121604090&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum: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