XML 57 R43.htm IDEA: XBRL DOCUMENT
v3.22.4

Revenue from Contracts with Customers - Revenue Recognition (Details) - USD ($) $ in Thousands | 12 Months Ended |
--- | --- | ---
Dec. 31, 2022 | Dec. 31, 2021
Contracts in progress |  |
Costs incurred on contracts in progress | $ 4,801,264 | $ 3,723,715
Estimated earnings, net of losses | 796,260 | 589,286
Less-Billings to date | (5,953,973) | (4,527,801)
Less-Unbilled accounts receivable | (77,030) | (61,881)
Less-Unbilled accounts receivable credit allowance | (1,011) | (715)
Contracts in progress | (434,490) | (277,396)
Costs and estimated earnings in excess of billings | 27,211 | 29,900
Plus-Costs and estimated earnings in excess of billings credit allowance | 80 | 84
Billings in excess of costs and estimated earnings | $ (461,781) | (307,380)
Period during which progress billings or contract price can be withheld until completion of work | 6 months |
Retention receivable | $ 193,600 | 139,500
Retention payable | $ 29,800 | $ 24,000
Revenue, Performance Obligation, Description of Payment Terms | We typically invoice our customers with payment terms of net due in 30 days |
Receivable payment terms (in days) | 30 days |
Minimum |  |
Contracts in progress |  |
Receivable payment terms (in days) | 45 days |
Payments received term (in days) | 30 days |
Maximum |  |
Contracts in progress |  |
Receivable payment terms (in days) | 60 days |
Payments received term (in days) | 90 days |

X
- Definition Billed contract receivables, contracts in progress. + References No definition available. + Details
Name: | fix_BilledContractReceivablesContractsInProgress
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amounts owed to vendors and subcontractors that have been withheld because of retainage provisions in a contract to be paid. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References No definition available. + Details
Name: | fix_ConstructionContractorRetainagePayable
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Represents the net receivable (liability), as of the balance sheet date, for contracts in process in which contracts with billings in excess of costs are netted against contracts with costs in excess of billings. + References No definition available. + Details
Name: | fix_ContractReceivablesContractsInProcessNetReceivableLiability
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of allowance for credit losses on receivable reflecting the cost incurred on uncompleted contracts in excess of related billings which is expected to be collected within one year or the normal operating cycle, if longer. + References No definition available. + Details
Name: | fix_CostsInExcessOfBillingsAllowanceForCreditLosses
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The amount of the offset related to government or other customer advances received on a contract when the expected advances will be applied in payment to those particular charges of the receivable. + References No definition available. + Details
Name: | fix_CustomerAdvancesAndProgressPaymentsForLongTermContractOrProgram
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The number of days in which the entity receives payment from customers. + References No definition available. + Details
Name: | fix_PaymentsReceivedTerm
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition The payment terms for receivables in days. + References No definition available. + Details
Name: | fix_ReceivableDueTerm
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the period during which progress billings or the contract price can be withheld by customers until after the completion of work on the project. + References No definition available. + Details
Name: | fix_RetentionProvisionsConstructionContractsHoldingPeriod
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition The amount of allowance for credit losses on unbilled receivable. + References No definition available. + Details
Name: | fix_UnbilledAccountsReceivableAllowanceForCreditLoss
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 910 -SubTopic 10 -Section 50 -Paragraph 7 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126937589&loc=SL119991598-234733 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(3)(c)(1)) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_ConstructionContractorReceivableRetainage
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 3 -URI https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerAssetNetCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerLiabilityCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount to be collected within one year of the balance sheet date (or one operating cycle, if longer) from customers in accordance with the contractual provisions of long-term contracts or programs including amounts billed and unbilled as of the balance sheet date. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(3)(c)) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_ReceivablesLongTermContractsOrPrograms
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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

X
- Definition Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045 + Details
Name: | us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Unbilled amounts due for services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the entity and, at a minimum, one other party. An example would be amounts associated with contracts or programs where the recognized revenue for performance thereunder exceeds the amounts billed under the terms thereof as of the date of the balance sheet. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 912 -SubTopic 310 -Section 45 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=126938201&loc=d3e55302-109406 + Details
Name: | us-gaap_UnbilledContractsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |