XML 39 R28.htm IDEA: XBRL DOCUMENT
v3.22.2

Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended
--- | --- | ---
Jun. 30, 2022 | Jun. 30, 2021 | Jun. 30, 2022 | Jun. 30, 2021
Disaggregation of Revenue |  |  |  |
Revenue | $ 1,017,948 | $ 713,895 | $ 1,903,164 | $ 1,383,656
Percentage of revenue from contract with customer (as a percent) | 100.00% | 100.00% | 100.00% | 100.00%
Industrial |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 470,491 | $ 311,075 | $ 880,675 | $ 580,658
Percentage of revenue from contract with customer (as a percent) | 46.20% | 43.60% | 46.30% | 42.00%
Education |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 119,248 | $ 92,381 | $ 208,694 | $ 184,838
Percentage of revenue from contract with customer (as a percent) | 11.70% | 12.90% | 11.00% | 13.40%
Office Buildings |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 85,917 | $ 73,014 | $ 161,032 | $ 152,010
Percentage of revenue from contract with customer (as a percent) | 8.40% | 10.20% | 8.50% | 11.00%
Healthcare |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 141,113 | $ 96,004 | $ 275,908 | $ 191,095
Percentage of revenue from contract with customer (as a percent) | 13.90% | 13.40% | 14.50% | 13.80%
Government |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 66,212 | $ 42,506 | $ 123,677 | $ 85,671
Percentage of revenue from contract with customer (as a percent) | 6.50% | 6.00% | 6.50% | 6.20%
Retail, Restaurants and Entertainment |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 80,434 | $ 48,933 | $ 146,016 | $ 93,509
Percentage of revenue from contract with customer (as a percent) | 7.90% | 6.90% | 7.70% | 6.70%
Multi-Family and Residential |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 30,172 | $ 28,341 | $ 54,614 | $ 53,001
Percentage of revenue from contract with customer (as a percent) | 3.00% | 4.00% | 2.80% | 3.80%
Other |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 24,361 | $ 21,641 | $ 52,548 | $ 42,874
Percentage of revenue from contract with customer (as a percent) | 2.40% | 3.00% | 2.70% | 3.10%
New Construction |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 484,913 | $ 329,890 | $ 914,331 | $ 631,951
Percentage of revenue from contract with customer (as a percent) | 47.70% | 46.20% | 48.10% | 45.70%
Existing Building Construction |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 304,316 | $ 215,317 | $ 563,601 | $ 431,918
Percentage of revenue from contract with customer (as a percent) | 29.90% | 30.20% | 29.60% | 31.20%
Service Projects |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 93,972 | $ 66,263 | $ 170,224 | $ 126,323
Percentage of revenue from contract with customer (as a percent) | 9.20% | 9.30% | 8.90% | 9.10%
Service Calls, Maintenance and Monitoring |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 134,747 | $ 102,425 | $ 255,008 | $ 193,464
Percentage of revenue from contract with customer (as a percent) | 13.20% | 14.30% | 13.40% | 14.00%
Mechanical Services |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 776,757 | $ 611,796 | $ 1,459,268 | $ 1,177,416
Percentage of revenue from contract with customer (as a percent) | 76.30% | 85.70% | 76.70% | 85.10%
Electrical Services |  |  |  |
Disaggregation of Revenue |  |  |  |
Revenue | $ 241,191 | $ 102,099 | $ 443,896 | $ 206,240
Percentage of revenue from contract with customer (as a percent) | 23.70% | 14.30% | 23.30% | 14.90%

X
- Definition The percentage of revenue from contract with customers. + References No definition available. + Details
Name: | fix_PercentageOfRevenueFromContractWithCustomer
Namespace Prefix: | fix_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss). + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 323 -SubTopic 10 -Section 50 -Paragraph 3 -Subparagraph (c) -URI https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 28 -Subparagraph (f) -URI https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 32 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 32 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iv)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iv)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(A)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 40 -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(i)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(i)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(5)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 41 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iii)(A)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756 Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(5)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 42 -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(ii)) -URI https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 235 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-05(b)(2)) -URI https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(B)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756 Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 10 -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(ii)) -URI https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756 Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(1)) -URI https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227 + Details
Name: | us-gaap_Revenues
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | srt_MajorCustomersAxis=fix_IndustrialPropertyCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=fix_EducationMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=fix_OfficeBuildingCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=fix_HealthcareSectorCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=fix_GovernmentCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=fix_RetailRestaurantsAndEntertainmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=fix_MultiFamilyAndResidentialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=us-gaap_OtherCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=fix_NewConstructionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=fix_ExistingBuildingConstructionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=fix_ServiceProjectsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=fix_ServiceCallsMaintenanceAndMonitoringMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=fix_MechanicalServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=fix_ElectricalServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |