XML 69 R50.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Debt - Credit Facility (Details) - USD ($) $ in Thousands | 12 Months Ended |  |  |
--- | --- | --- | --- | ---
Dec. 31, 2023 | Jun. 30, 2023 | Sep. 27, 2021 | Sep. 29, 2017
Debt Instrument [Line Items] |  |  |  |
Current and long-term portion of term loans under credit facility | $ 487,500 |  |  |
Standby Letters of Credit | $ 16,000 |  |  |
Term SOFR adjustment | 0.10% |  |  |
Federal Funds Rate [Member] |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Debt Instrument, Basis Spread on Variable Rate | 0.50% |  |  |
Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Debt Instrument, Basis Spread on Variable Rate | 1.00% |  |  |
Debt Instrument, Interest Rate Margins on Variable Rates, Minimum | 1.425% |  |  |
Debt Instrument, Interest Rate Margins on Variable Rates, minimum | 0.91% |  |  |
Canadian Dealer Offered Rate [Member] |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Debt Instrument, Basis Spread on Variable Rate | 1.00% |  |  |
Base Rate [Member] |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Debt Instrument, Interest Rate Margins on Variable Rates, Minimum | 0.00% |  |  |
Debt Instrument, Interest Rate Margins on Variable Rate, Maximum | 0.425% |  |  |
Line of Credit, Including Term Loan |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Line of Credit, maximum borrowing capacity | $ 1,250,000 |  |  |
Unsecured Syndicated Senior Credit Facility [Member] |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Line of Credit, maximum borrowing capacity |  |  |  | $ 750,000
Term Facility Total of Quarterly Principal Payments | 20.00% |  |  |
Line of Credit Facility, Amount Outstanding | $ 740,000 |  |  |
Line of credit facility, remaining borrowing capacity | $ 481,500 |  |  |
Weighted average effective interest rate (in hundredths) | 4.70% |  |  |
Term loan under credit facility |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Line of Credit, maximum borrowing capacity | $ 500,000 |  |  |
Line of Credit, Accounts Securitization |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Line of Credit, maximum borrowing capacity |  | $ 500,000 | $ 350,000 |
Swingline Commitment [Member] |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Line of Credit, maximum borrowing capacity |  | 50,000 |  |
Euro Comittment |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Line of Credit, maximum borrowing capacity |  | 50,000 |  |
CAD Commitment |  |  |  |
Debt Instrument [Line Items] |  |  |  |
Line of Credit, maximum borrowing capacity |  | $ 50,000 |  |

X
- Definition Credit facility term SOFR adjustment + References No definition available. + Details
Name: | pool_CreditFacilityTermSOFRAdjustment
Namespace Prefix: | pool_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Current and long-term portion of term loans under credit facility + References No definition available. + Details
Name: | pool_CurrentAndLongTermPortionOfTermLoansUnderCreditFacility
Namespace Prefix: | pool_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Minimum Interest Rate Margin added to Variable Rates on Other borrowings + References No definition available. + Details
Name: | pool_DebtInstrumentInterestRateMarginsOnVariableRatesMaximum
Namespace Prefix: | pool_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Debt Instrument, Interest Rate Margins on Variable Rates, minimum + References No definition available. + Details
Name: | pool_DebtInstrumentInterestRateMarginsOnVariableRatesMinimum
Namespace Prefix: | pool_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Maximum Interest Rate Margin on Variable Rate on Other Borrowings + References No definition available. + Details
Name: | pool_DebtInstrumentInterestRateMarginsonVariableRateMaximum
Namespace Prefix: | pool_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition LineofCreditFacilityQuarterlyPaymentPrincipalPercentageTotal + References No definition available. + Details
Name: | pool_LineofCreditFacilityQuarterlyPaymentPrincipalPercentageTotal
Namespace Prefix: | pool_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Percentage points added to the reference rate to compute the variable rate on the debt instrument. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
Namespace Prefix: | us-gaap_
Data Type: | dtr-types: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 835 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(f)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69B -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69C -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69E -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E Reference 8: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69F -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 11: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (h) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1D -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1D -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1D -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1E -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1E -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1E -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (b)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1I -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I + Details
Name: | us-gaap_DebtInstrumentLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The total amount of the contingent obligation under letters of credit outstanding as of the reporting date. + References No definition available. + Details
Name: | us-gaap_LettersOfCreditOutstandingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(22)) -SubTopic 10 -Topic 210 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 944 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(16)(a)(2)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03(16)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1 + Details
Name: | us-gaap_LineOfCredit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The effective interest rate at the end of the reporting period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(b),22(b)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(b),22(b)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(b),22(b)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_VariableRateAxis=pool_FederalFundsRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=pool_CanadianDealerOfferedRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=us-gaap_BaseRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=pool_LineOfCreditIncludingTermLoanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=pool_TermLoanUnderCreditFacilityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=pool_LineOfCreditAccountsSecuritizationMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=pool_SwinglineCommitmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=pool_EuroComittmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=pool_CADCommitmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |