XML 50 R40.htm IDEA: XBRL DOCUMENT
v3.23.2

Revenue Recognition and Related Balance Sheet Accounts - Revenue Disaggregated by Geographic Location and Contract Type (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended
--- | --- | ---
Jun. 30, 2023 | Jun. 30, 2022 | Jun. 30, 2023 | Jun. 30, 2022
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 5,048,610 | $ 4,232,003 | $ 9,477,436 | $ 8,197,528
Percent of total revenues (in percent) | 100.00% | 100.00% | 100.00% | 100.00%
United States |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 4,282,902 | $ 3,667,337 | $ 7,949,267 | $ 6,991,306
Percent of total revenues (in percent) | 84.80% | 86.70% | 83.90% | 85.20%
Canada |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 523,258 | $ 439,466 | $ 1,065,618 | $ 990,371
Percent of total revenues (in percent) | 10.40% | 10.40% | 11.20% | 12.10%
Australia |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 156,725 | $ 89,369 | $ 311,402 | $ 144,570
Percent of total revenues (in percent) | 3.10% | 2.10% | 3.30% | 1.80%
Others |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 85,725 | $ 35,831 | $ 151,149 | $ 71,281
Percent of total revenues (in percent) | 1.70% | 0.80% | 1.60% | 0.90%
Fixed price contracts |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 2,296,888 | $ 1,805,156 | $ 4,231,776 | $ 3,494,791
Percent of total revenues (in percent) | 45.50% | 42.70% | 44.70% | 42.60%
Unit-price contracts |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 1,697,629 | $ 1,451,905 | $ 3,195,023 | $ 2,809,507
Percent of total revenues (in percent) | 33.60% | 34.30% | 33.70% | 34.30%
Cost-plus contracts |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |
Revenues | $ 1,054,093 | $ 974,942 | $ 2,050,637 | $ 1,893,230
Percent of total revenues (in percent) | 20.90% | 23.00% | 21.60% | 23.10%

X
- Definition Percentage Of Total Revenues + References No definition available. + Details
Name: | pwr_PercentageOfTotalRevenues
Namespace Prefix: | pwr_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

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, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 924 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 11.L) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1 Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30 Reference 4: 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 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | srt_StatementGeographicalAxis=country_US
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementGeographicalAxis=country_CA
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementGeographicalAxis=country_AU
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementGeographicalAxis=pwr_OtherCountriesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=us-gaap_FixedPriceContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=pwr_UnitPriceContractsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=pwr_CostPlusContractMemberMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |