XML 28 R17.htm IDEA: XBRL DOCUMENT
v3.20.2

Summary of Significant Accounting Policies (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2020
Summary of Significant Accounting Policies |
Schedule of disaggregation of revenue | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended June 30, | ​ | ​ | Six Months Ended June 30,
Revenue by Service Provided |  | 2020 | ​ |  | 2019 | ​ |  | 2020 | ​ |  | 2019 | ​
Mechanical Services | ​ | $ | 622,700 |  | 83.8 | % | ​ | $ | 553,031 |  | 85.0 | % | ​ | $ | 1,188,164 |  | 82.3 | % | ​ | $ | 1,087,616 |  | 91.5 | %
Electrical Services | ​ | ​ | 120,768 | ​ | 16.2 | % | ​ | ​ | 97,271 | ​ | 15.0 | % | ​ | ​ | 255,435 | ​ | 17.7 | % | ​ | ​ | 101,159 | ​ | 8.5 | %
Total | ​ | $ | 743,468 | ​ | 100.0 | % | ​ | $ | 650,302 | ​ | 100.0 | % | ​ | $ | 1,443,599 | ​ | 100.0 | % | ​ | $ | 1,188,775 | ​ | 100.0 | %
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended June 30, | ​ | ​ | Six Months Ended June 30,
Revenue by Type of Customer | ​ | 2020 | ​ | ​ | 2019 |  | ​ | 2020 | ​ | ​ | 2019 |
Industrial | ​ | $ | 300,870 | ​ | 40.5 | % | ​ | $ | 198,002 | ​ | 30.5 | % | ​ | $ | 576,068 | ​ | 39.9 | % | ​ | $ | 366,662 | ​ | 30.8 | %
Education | ​ | ​ | 130,004 | ​ | 17.5 | % | ​ | ​ | 100,220 | ​ | 15.4 | % | ​ | ​ | 239,588 | ​ | 16.6 | % | ​ | ​ | 166,963 | ​ | 14.1 | %
Office Buildings | ​ | ​ | 75,594 | ​ | 10.2 | % | ​ | ​ | 105,483 | ​ | 16.2 | % | ​ | ​ | 151,166 | ​ | 10.5 | % | ​ | ​ | 171,695 | ​ | 14.4 | %
Healthcare | ​ | ​ | 96,050 | ​ | 12.9 | % | ​ | ​ | 87,878 | ​ | 13.5 | % | ​ | ​ | 195,309 | ​ | 13.5 | % | ​ | ​ | 179,901 | ​ | 15.1 | %
Government | ​ | ​ | 39,832 | ​ | 5.4 | % | ​ | ​ | 44,443 | ​ | 6.8 | % | ​ | ​ | 78,813 | ​ | 5.5 | % | ​ | ​ | 76,722 | ​ | 6.5 | %
Retail, Restaurants and Entertainment | ​ | ​ | 64,628 | ​ | 8.7 | % | ​ | ​ | 58,086 | ​ | 8.9 | % | ​ | ​ | 125,831 | ​ | 8.7 | % | ​ | ​ | 117,477 | ​ | 9.9 | %
Multi-Family and Residential | ​ | ​ | 20,555 | ​ | 2.8 | % | ​ | ​ | 29,061 | ​ | 4.5 | % | ​ | ​ | 39,286 | ​ | 2.7 | % | ​ | ​ | 59,296 | ​ | 5.0 | %
Other | ​ | ​ | 15,935 | ​ | 2.0 | % | ​ | ​ | 27,129 | ​ | 4.2 | % | ​ | ​ | 37,538 | ​ | 2.6 | % | ​ | ​ | 50,059 | ​ | 4.2 | %
Total | ​ | $ | 743,468 | ​ | 100.0 | % | ​ | $ | 650,302 | ​ | 100.0 | % | ​ | $ | 1,443,599 | ​ | 100.0 | % | ​ | $ | 1,188,775 | ​ | 100.0 | %
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended June 30, | ​ | ​ | Six Months Ended June 30,
Revenue by Activity Type | ​ | 2020 | ​ | ​ | 2019 |  | ​ | 2020 | ​ | ​ | 2019 |
New Construction | ​ | $ | 377,433 | ​ | 50.8 | % | ​ | $ | 291,479 | ​ | 44.8 | % | ​ | $ | 724,833 | ​ | 50.2 | % | ​ | $ | 515,439 | ​ | 43.4 | %
Existing Building Construction | ​ | ​ | 225,103 | ​ | 30.3 | % | ​ | ​ | 199,398 | ​ | 30.7 | % | ​ | ​ | 432,269 | ​ | 29.9 | % | ​ | ​ | 381,694 | ​ | 32.1 | %
Service Projects | ​ | ​ | 58,378 | ​ | 7.8 | % | ​ | ​ | 58,808 | ​ | 9.0 | % | ​ | ​ | 110,026 | ​ | 7.6 | % | ​ | ​ | 109,192 | ​ | 9.2 | %
Service Calls, Maintenance and Monitoring | ​ | ​ | 82,554 | ​ | 11.1 | % | ​ | ​ | 100,617 | ​ | 15.5 | % | ​ | ​ | 176,471 | ​ | 12.3 | % | ​ | ​ | 182,450 | ​ | 15.3 | %
Total | ​ | $ | 743,468 | ​ | 100.0 | % | ​ | $ | 650,302 | ​ | 100.0 | % | ​ | $ | 1,443,599 | ​ | 100.0 | % | ​ | $ | 1,188,775 | ​ | 100.0 | %
Schedule of activity in allowance for credit losses | Activity in our allowance for credit losses consisted of the following (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | Service | ​ | Construction | ​ | Other | ​ | Total
Balance at beginning of year | $ | 3,192 | ​ | $ | 3,400 | ​ | $ | 315 | ​ | $ | 6,907
Impact of new accounting standard | ​ | 310 | ​ | ​ | 331 | ​ | ​ | 54 | ​ | ​ | 695
Bad debt expense (benefit) | ​ | 2,384 | ​ | ​ | 2,219 | ​ | ​ | (10) | ​ | ​ | 4,593
Deductions for uncollectible receivables written off, net of recoveries | ​ | (728) | ​ | ​ | (81) | ​ | ​ | — | ​ | ​ | (809)
Credit allowance of acquired companies on the acquisition date | ​ | — | ​ | ​ | 502 | ​ | ​ | — | ​ | ​ | 502
Purchase accounting adjustments | ​ | — | ​ | ​ | 72 | ​ | ​ | — | ​ | ​ | 72
Reclass to other current liabilities | ​ | — | ​ | ​ | — | ​ | ​ | (315) | ​ | ​ | (315)
Balance at June 30, 2020 | $ | 5,158 | ​ | $ | 6,443 | ​ | $ | 44 | ​ | $ | 11,645
Schedule of contract assets and liabilities | The following table presents the changes in contract assets and contract liabilities (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | Six Months Ended June 30, | ​ | ​ | 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 | ​ | 7,469 | ​ | ​ | 37,047 | ​ | ​ | 6,573 | ​ | ​ | 31,556
Change due to conditional versus unconditional | ​ | 13,389 | ​ | ​ | — | ​ | ​ | (14,050) | ​ | ​ | —
Change in timing for performance obligation to be satisfied | ​ | — | ​ | ​ | 22,082 | ​ | ​ | — | ​ | ​ | 4,376
Change related to credit allowance | ​ | (79) | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Balance at end of period | $ | 23,515 | ​ | $ | 226,047 | ​ | $ | 2,736 |  | $ | 166,918
​
Schedule of lease assets and liabilities | The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​
​ | June 30, 2020 | ​ | December 31, 2019
Lease right-of-use assets | $ | 97,586 | ​ | $ | 84,073
Lease liabilities: | ​ | ​ | ​ | ​ | ​
Other current liabilities | ​ | 16,701 | ​ | ​ | 14,016
Long-term lease liabilities | ​ | 83,753 | ​ | ​ | 72,697
Total lease liabilities | $ | 100,454 | ​ | $ | 86,713
Schedule of maturities of lease liabilities | The maturities of lease liabilities are as follows (in thousands): ​
​ | ​ | ​ | ​
Year ending December 31— | ​ | ​ | ​
2020 (excluding the six months ended June 30, 2020) | ​ | $ | 10,598
2021 | ​ | ​ | 19,113
2022 | ​ | ​ | 16,138
2023 | ​ | ​ | 13,767
2024 | ​ | ​ | 12,294
Thereafter | ​ | ​ | 46,744
Total Lease Payments | ​ | ​ | 118,654
Less—Present Value Discount | ​ | ​ | (18,200)
Present Value of Lease Liabilities | ​ | $ | 100,454
Schedule of supplemental information related to leases | Supplemental information related to leases was as follows (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | Three Months Ended June 30, | ​ | Six Months Ended June 30,
​ | 2020 | ​ | 2019 |  | 2020 | ​ | 2019
Cash paid for amounts included in the measurement of lease liabilities | $ | 5,305 | ​ | $ | 4,095 | ​ | $ | 9,778 | ​ | $ | 7,873
Lease right-of-use assets obtained in exchange for lease liabilities | $ | 19,922 | ​ | $ | 14,223 | ​ | $ | 22,200 | ​ | $ | 14,397

X
- Definition Tabular disclosure of lease assets and liabilities. + References No definition available. + Details
Name: | fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock
Namespace Prefix: | fix_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of supplemental information related to leases. + References No definition available. + Details
Name: | fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock
Namespace Prefix: | fix_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

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

X
- Definition Tabular disclosure of allowance for credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 326 -SubTopic 20 -Section 50 -Paragraph 13 -URI http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447 + Details
Name: | us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of contract balances and changes in contract balances. + 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=118956577&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=118956577&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 6 -URI http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration