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

Long-Term Debt - Key Terms of Credit Agreement (Details) - USD ($) $ in Thousands | 6 Months Ended |  |
--- | --- | --- | ---
Jun. 30, 2023 | Jul. 25, 2023 | Dec. 31, 2022
Revolving Facility |  |  |
Long-Term Debt |  |  |
Availability | $ 500,000 |  | $ 500,000
Credit Agreement |  |  |
Long-Term Debt |  |  |
Availability |  | $ 300,000 |
Additional delayed draw term loan | 300,000 |  |
Additional term loan and/or revolver capacity available under incremental facility | $ 300,000 |  |
Scheduled maturity date | Oct. 07, 2026 |  |
Credit Agreement | Base Rate Borrowings | Minimum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 0.00% |  |
Credit Agreement | Base Rate Borrowings | Maximum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 1.50% |  |
Credit Agreement | Base Rate Borrowings | Federal Funds Rate |  |  |
Long-Term Debt |  |  |
Basis spread | 0.50% |  |
Credit Agreement | Base Rate Borrowings | SOFR |  |  |
Long-Term Debt |  |  |
Basis spread | 1.00% |  |
Maturity of the reference rate | 1 month |  |
Credit Agreement | SOFR Rate Borrowings |  |  |
Long-Term Debt |  |  |
Interest rate floor (as a percent) | 0.00% |  |
Credit Agreement | SOFR Rate Borrowings | Minimum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 1.00% |  |
Credit Agreement | SOFR Rate Borrowings | Maximum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 2.50% |  |
Credit Agreement | Revolving Facility |  |  |
Long-Term Debt |  |  |
Availability | $ 500,000 |  |
Sublimit for issuance of letters of credit under Revolving Facility* | 100,000 |  |
Sublimit for swingline loans under Revolving Facility* | $ 35,000 |  |
Interest rate | 6.20% |  |
Credit Agreement | Term Loan Facility |  |  |
Long-Term Debt |  |  |
Availability | $ 300,000 |  |

X
- Definition Represents the applicable margin based on the total leverage ratio per the terms of the credit agreement. + References No definition available. + Details
Name: | bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio
Namespace Prefix: | bld_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The debt instrument percentage rate floor. + References No definition available. + Details
Name: | bld_DebtInstrumentInterestRatePercentageFloor
Namespace Prefix: | bld_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The maturity of the reference rate. + References No definition available. + Details
Name: | bld_DebtInstrumentReferenceRateMaturityPeriod
Namespace Prefix: | bld_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the additional borrowing capacity available, subject to certain conditions. + References No definition available. + Details
Name: | bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The additional borrowing capacity available through delayed draw feature. + References No definition available. + Details
Name: | bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Represents the sublimit available for the issuance of letters of credit under the credit facility. + References No definition available. + Details
Name: | bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Represents the sublimit available for swingline loans under the credit facility. + References No definition available. + Details
Name: | bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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 Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium. + 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://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2 Reference 3: 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.22(a)(1)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-6 + Details
Name: | us-gaap_DebtInstrumentInterestRateEffectivePercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
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 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 Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format. + References Reference 1: 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 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (bbb)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(2)) -SubTopic 10 -Topic 210 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_DebtInstrumentMaturityDate
Namespace Prefix: | us-gaap_
Data Type: | xbrli:dateItemType
Balance Type: | na
Period Type: | duration

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
- Details
Name: | us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementDecember2022Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditFacilityAxis=bld_BaseRateBorrowingsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=bld_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_CreditFacilityAxis=bld_SofrRateBorrowingsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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