XML 54 R41.htm IDEA: XBRL DOCUMENT
v3.23.3

Revenue Recognition and Related Balance Sheet Accounts - Additional Information (Details) $ in Thousands |  |  | 3 Months Ended | 9 Months Ended
--- | --- | --- | --- | ---
Sep. 30, 2023 USD ($) | Dec. 31, 2022 USD ($) | Sep. 30, 2023 USD ($) customer | Sep. 30, 2022 USD ($) customer | Sep. 30, 2023 USD ($) customer | Sep. 30, 2022 USD ($) customer
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Percent of total revenues recognized associated with revenue recognition method |  |  | 58.30% | 52.40% | 58.30% | 51.50%
Remaining performance obligation | $ 13,560,000 | $ 8,800,000 | $ 13,560,000 |  | $ 13,560,000 |
Revenues recognized related to change orders and claims | 799,500 | 549,300 | $ 799,500 |  | $ 799,500 |
Change in contract estimates, favorable (unfavorable) impact on revenue, percent |  |  | 0.70% | 1.70% | 0.30% | 0.90%
Change in contract estimates, (favorable) unfavorable impact on operating results, percent |  |  |  | (10.20%) |  | (5.80%)
Change in contract estimates, (favorable) unfavorable impact on operating results, amount |  |  |  | $ (70,600) |  | $ (108,100)
Revenue recognized related to amounts in contract liabilities outstanding at the beginning of period |  |  |  |  | $ 991,300 |
Write-offs charged against the allowance net of recoveries of amounts previously written off |  |  | $ (146) | (33,030) | (7,129) | (32,777)
Current retainage balances | 544,800 | 397,600 | 544,800 |  | 544,800 |
Non-current retainage balances | 173,400 | 136,200 | 173,400 |  | 173,400 |
Unbilled receivables | 957,900 | 823,900 | 957,900 |  | 957,900 |
Unearned revenues, current portion | $ 57,100 | $ 59,600 | $ 57,100 |  | $ 57,100 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01 |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Percent of remaining performance obligation expected to be recognized |  | 72.10% |  |  |  |
Recognition period for remaining performance obligation | 12 months |  | 12 months |  | 12 months |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01 |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Percent of remaining performance obligation expected to be recognized | 70.40% |  | 70.40% |  | 70.40% |
Recognition period for remaining performance obligation |  | 12 months |  |  |  |
Canada Transmission Project |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Change in contract estimates, (favorable) unfavorable impact on operating results, amount |  |  |  |  |  | $ 21,800
Projects In Progress |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Change in contract estimates, (favorable) unfavorable impact on operating results, percent |  |  | 5.00% |  | 5.00% |
Limetree Bay Refining, LLC |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Write-offs charged against the allowance net of recoveries of amounts previously written off |  |  |  | $ 31,700 |  |
Customer Concentration Risk |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Number of customers representing ten percent or more of revenues | customer |  |  | 0 | 0 | 0 | 0
Customer Concentration Risk | One Customer | Accounts Receivable | Renewable Energy |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |
Concentration risk percentage (in percent) | 14.00% | 13.00% |  |  |  |

X
- Definition Accounts Receivable, Allowance for Credit Loss, (Writeoff) Recovery + References No definition available. + Details
Name: | pwr_AccountsReceivableAllowanceForCreditLossWriteoffRecovery
Namespace Prefix: | pwr_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

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 Revenue + References No definition available. + Details
Name: | pwr_NumberOfCustomersRepresentingTenPercentOrMoreOfRevenue
Namespace Prefix: | pwr_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

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/2147482312/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=2023-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis=pwr_CanadaTransmissionProjectMember
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: | srt_MajorCustomersAxis=pwr_LimetreeBayRefiningLLCMember
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: |