XML 59 R45.htm IDEA: XBRL DOCUMENT
v3.22.4

Revenue Recognition and Related Balance Sheet Accounts - Additional Information (Details) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2022 USD ($) Customer | Dec. 31, 2021 USD ($) Customer | Dec. 31, 2020 USD ($) Customer
Revenue Recognition [Line Items] |  |  |
Revenues recognized related to change orders and claims | $ 549,300 | $ 367,800 |
Change in contract estimates, favorable (unfavorable) impact on revenue, percent | 0.70% | 1.00% | 0.20%
Percent of total revenues recognized associated with revenue recognition method | 51.60% | 45.90% | 47.90%
Revenue recognized related to amounts in contract liabilities outstanding at the beginning of period | $ 695,100 | $ 433,300 | $ 491,500
Current retainage balances | 397,600 | 406,700 |
Non-current retainage balances | 136,200 | 93,900 |
Unbilled receivables | $ 823,900 | $ 679,000 | $ 472,300
Customer Concentration Risk |  |  |
Revenue Recognition [Line Items] |  |  |
Number of customers representing ten percent or more of revenues | Customer | 0 | 0 | 0
Accounts Receivable | Customer Concentration Risk | Renewable Energy Infrastructure Solutions |  |  |
Revenue Recognition [Line Items] |  |  |
Concentration risk, percentage | 13.00% | 11.00% |
Accounts Receivable | Customer Concentration Risk | Electric Power Infrastructure Solutions and Renewable Energy Infrastructure Solutions |  |  |
Revenue Recognition [Line Items] |  |  |
Concentration risk, percentage |  | 11.00% |
Blattner |  |  |
Revenue Recognition [Line Items] |  |  |
Contract liabilities |  | $ 227,040 |
Limetree Bay Refining, LLC |  |  |
Revenue Recognition [Line Items] |  |  |
Write-offs charged against the allowance net of recoveries of amounts previously written off | $ 31,700 |  |
Accounts payable and accrued expenses |  |  |
Revenue Recognition [Line Items] |  |  |
Unearned revenues | $ 59,600 | $ 51,800 | $ 53,600
Two Larger Pipleline Projects - Canada |  |  |
Revenue Recognition [Line Items] |  |  |
Change in contract estimates, (favorable) unfavorable impact on operating results, amount |  |  | 10,000
Larger Electric Transmission Project |  |  |
Revenue Recognition [Line Items] |  |  |
Change in contract estimates, (favorable) unfavorable impact on operating results, amount |  |  | (20,800)
Several Projects |  |  |
Revenue Recognition [Line Items] |  |  |
Change in contract estimates, (favorable) unfavorable impact on operating results, amount |  |  | $ 35,500
Projects In Progress |  |  |
Revenue Recognition [Line Items] |  |  |
Change in contract estimates, (favorable) unfavorable impact on operating results, percent | 5.00% | (5.70%) | 5.00%
Change in contract estimates, (favorable) unfavorable impact on operating results, amount |  | $ (111,500) |

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 Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract Liabilities + References No definition available. + Details
Name: | pwr_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractLiabilities
Namespace Prefix: | pwr_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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-types: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-types: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 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-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Revenue recognition. + References No definition available. + Details
Name: | pwr_RevenueRecognitionLineItems
Namespace Prefix: | pwr_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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

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 -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 42 -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -URI https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -URI https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -URI https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 4 -URI https://asc.fasb.org/extlink&oid=126919976&loc=SL49130534-203044 Reference 2: 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 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_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 -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 4 -URI https://asc.fasb.org/extlink&oid=126919976&loc=SL49130534-203044 Reference 2: 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 Reference 3: 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 + Details
Name: | us-gaap_ContractWithCustomerReceivableAfterAllowanceForCreditLossNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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 -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: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember
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_RenewableEnergyInfrastructureSolutionsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=pwr_BlattnerHoldingCompanyMember
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_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

X
- Details
Name: | us-gaap_TypeOfArrangementAxis=pwr_SeveralProjectsMember
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: |