XML 52 R41.htm IDEA: XBRL DOCUMENT
v3.24.3

Revenue Recognition and Related Balance Sheet Accounts - Additional Information (Details) $ in Millions |  |  | 3 Months Ended | 9 Months Ended
--- | --- | --- | --- | ---
Sep. 30, 2024 USD ($) pool customer | Dec. 31, 2023 USD ($) | Sep. 30, 2024 USD ($) customer pool | Sep. 30, 2023 customer | Sep. 30, 2024 USD ($) customer pool | Sep. 30, 2023 USD ($) customer
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Percent of total revenues recognized associated with revenue recognition method |  |  | 61.40% | 58.30% | 59.30% | 58.30%
Remaining performance obligation | $ 15,610.0 | $ 13,890.0 | $ 15,610.0 |  | $ 15,610.0 |
Revenues recognized related to change orders and claims | $ 738.2 | 778.9 | $ 738.2 |  | $ 738.2 |
Change in contract estimates, favorable (unfavorable) impact on revenue, percent |  |  | 0.70% | 0.70% | 0.30% | 0.30%
Revenue recognized related to amounts in contract liabilities outstanding at the beginning of period |  |  |  |  | $ 1,350.0 | $ 991.3
Number of risk pools used for calculation historical credit loss experience | pool | 2 |  | 2 |  | 2 |
Current retainage balances | $ 758.8 | 610.0 | $ 758.8 |  | $ 758.8 |
Non-current retainage balances | 144.3 | 78.7 | 144.3 |  | 144.3 |
Unbilled receivables | 993.3 | 743.6 | 993.3 |  | 993.3 |
Unearned revenues, current portion | $ 68.7 | $ 58.6 | $ 68.7 |  | $ 68.7 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01 |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Percent of remaining performance obligation expected to be recognized |  | 66.90% |  |  |  |
Recognition period for remaining performance obligation |  | 12 months |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01 |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Percent of remaining performance obligation expected to be recognized | 68.40% |  | 68.40% |  | 68.40% |
Recognition period for remaining performance obligation | 12 months |  | 12 months |  | 12 months |
Projects In Progress |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Change in contract estimates, (favorable) unfavorable impact on operating results, percent |  |  | 5.00% | 5.00% | 5.00% | 5.00%
Projects In Process, Increased Costs | United States Solar Facility |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Change in contract estimates, unfavorable impact on operating results, amount |  |  |  |  | $ 38.8 |
Projects In Progress, Decreased Productivity | United States Solar Facility |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Change in contract estimates, unfavorable impact on operating results, amount |  |  |  |  | $ 22.8 |
Customer Concentration Risk |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Number of customers representing ten percent or more of revenues | customer |  |  | 0 | 0 | 0 | 0
Number of customers representing ten percent or more of accounts receivable | customer | 0 |  |  |  |  |
Customer Concentration Risk | One Customer | Accounts Receivable | Renewable Energy |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Concentration risk percentage (in percent) |  | 10.00% |  |  |  |
Credit Concentration Risk | Financial Instruments | Secondary Pool |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Concentration risk percentage (in percent) | 14.00% |  |  |  |  |

X
- Definition Contract With Customer, Cumulative Catch-Up Adjustment, Revenue, Change In Estimate, Percent + References No definition available. + Details
Name: | pwr_ContractWithCustomerCumulativeCatchUpAdjustmentRevenueChangeInEstimatePercent
Namespace Prefix: | pwr_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Contract With Customer, Cumulative Catch-Up Adjustment To Gross Profit, Change In Estimate + References No definition available. + Details
Name: | pwr_ContractWithCustomerCumulativeCatchUpAdjustmentToGrossProfitChangeInEstimate
Namespace Prefix: | pwr_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Contract With Customer, Cumulative Catch-Up Adjustment, To Gross Profit, Change In Estimate, Percent + References No definition available. + Details
Name: | pwr_ContractWithCustomerCumulativeCatchUpAdjustmentToGrossProfitChangeInEstimatePercent
Namespace Prefix: | pwr_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Contract With Customer, Liability, Deferred Revenues, Current + References No definition available. + Details
Name: | pwr_ContractWithCustomerLiabilityDeferredRevenuesCurrent
Namespace Prefix: | pwr_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Revenue Recognized, Related To Unapproved Change Orders And Claims + References No definition available. + Details
Name: | pwr_ContractWithCustomerRevenueRecognizedRelatedToUnapprovedChangeOrdersAndClaims
Namespace Prefix: | pwr_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Number Of Customers Representing Ten Percent Or More Of Accounts Receivable + References No definition available. + Details
Name: | pwr_NumberOfCustomersRepresentingTenPercentOrMoreOfAccountsReceivable
Namespace Prefix: | pwr_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number Of Customers Representing Ten Percent Or More Of Revenue + References No definition available. + Details
Name: | pwr_NumberOfCustomersRepresentingTenPercentOrMoreOfRevenue
Namespace Prefix: | pwr_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number Of Risk Pools + References No definition available. + Details
Name: | pwr_NumberOfRiskPools
Namespace Prefix: | pwr_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Revenue From Contract With Customer, Percentage Of Revenue Recognized Over Time + References No definition available. + Details
Name: | pwr_RevenueFromContractWithCustomerPercentageOfRevenueRecognizedOverTime
Namespace Prefix: | pwr_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20 + Details
Name: | us-gaap_ConcentrationRiskPercentage1
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8 + Details
Name: | us-gaap_ContractWithCustomerLiabilityRevenueRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right to consideration is unconditional, classified as current. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479837/606-10-45-4 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8 + Details
Name: | us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLossCurrent
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 to consideration is unconditional, classified as noncurrent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479837/606-10-45-4 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8 + Details
Name: | us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLossNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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 Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 8: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(1) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(1) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

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 -Topic 912 -SubTopic 310 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478345/912-310-45-2 + Details
Name: | us-gaap_UnbilledContractsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-10-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TypeOfArrangementAxis=pwr_ProjectsInProgressMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TypeOfArrangementAxis=pwr_ProjectsInProcessIncreasedCostsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis=pwr_UnitedStatesSolarFacilityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TypeOfArrangementAxis=pwr_ProjectsInProgressDecreasedProductivityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CreditConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=pwr_FinancialInstrumentsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | pwr_CreditRiskGroupAxis=pwr_SecondaryPoolMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |