XML 55 R40.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Summary of Significant Accounting Policies and Estimates - Allowance for Credit Losses (Details) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |
Balance at beginning of year | $ 12,241 | $ 10,110 |
Bad debt expense (benefit) | 4,944 | 2,670 | $ (1,452)
Deductions for uncollectible receivables written off, net of recoveries | (4,013) | (1,206) |
Credit allowance of acquired receivables on the acquisition date | 205 | 667 |
Balance at end of period | 13,377 | 12,241 | 10,110
Service |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |
Balance at beginning of year | 5,245 | 3,294 |
Bad debt expense (benefit) | 2,113 | 2,431 |
Deductions for uncollectible receivables written off, net of recoveries | (1,658) | (804) |
Credit allowance of acquired receivables on the acquisition date |  | 324 |
Balance at end of period | 5,700 | 5,245 | 3,294
Construction |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |
Balance at beginning of year | 6,931 | 6,758 |
Bad debt expense (benefit) | 2,819 | 232 |
Deductions for uncollectible receivables written off, net of recoveries | (2,355) | (402) |
Credit allowance of acquired receivables on the acquisition date | 205 | 343 |
Balance at end of period | 7,600 | 6,931 | 6,758
Other. |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |
Balance at beginning of year | 65 | 58 |
Bad debt expense (benefit) | 12 | 7 |
Balance at end of period | $ 77 | $ 65 | $ 58

X
- Definition Represents the allowance for receivables acquired in a business acquisition. + References No definition available. + Details
Name: | fix_AllowanceForDoubtfulAccountsReceivableAcquired
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of allowance for credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 944 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(5)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(4)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of direct write-downs of accounts receivable charged against the allowance. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of expense (reversal of expense) for expected credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(5)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2 + Details
Name: | us-gaap_ProvisionForDoubtfulAccounts
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

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

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

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