XML 75 R39.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Summary of Significant Accounting Policies - Revenue Recognition (Details) - USD ($) $ in Thousands | 12 Months Ended |  |
--- | --- | --- | ---
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017
Contracts in progress |  |  |
Costs incurred on contracts in progress | $ 2,518,581 | $ 1,574,460 |
Estimated earnings, net of losses | 405,891 | 300,514 |
Less-Billings to date | (3,033,112) | (1,958,567) |
Less-Unbilled accounts receivable | (55,542) | (37,180) |
Contracts in progress | (164,182) | (120,773) |
Costs and estimated earnings in excess of billings | 2,736 | 10,213 | $ 30,116
Billings in excess of costs and estimated earnings | $ (166,918) | (130,986) | $ (106,005)
Period during which progress billings or contract price can be withheld until completion of work | 6 months |  |
Retention receivable | $ 111,700 | 80,800 |
Retention payable | $ 15,800 | $ 13,700 |
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 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 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 Amounts owed to vendors and subcontractors that have been withheld because of retainage provisions in a contract to be paid in the next fiscal year following the latest fiscal year. 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_RetentionPayableDueInNextTwelveMonths
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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 Amount billed to customers under long-term contracts or programs that have been withheld because of retainage provisions in a contract to be collected in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(3)(c)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 910 -SubTopic 310 -Section 50 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=118388040&loc=d3e49370-109356 + Details
Name: | us-gaap_ContractReceivableRetainageDueOneYearOrLess
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 http://asc.fasb.org/extlink&oid=118944033&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 http://asc.fasb.org/extlink&oid=118944033&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 http://asc.fasb.org/extlink&oid=118956577&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 http://asc.fasb.org/extlink&oid=118944033&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 http://asc.fasb.org/extlink&oid=118944033&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 http://asc.fasb.org/extlink&oid=118956577&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://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.3(c)) -URI http://asc.fasb.org/extlink&oid=6877327&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 http://asc.fasb.org/extlink&oid=118956577&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://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 912 -SubTopic 310 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=118261985&loc=d3e55302-109406 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.3(c)(3)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + 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: |