XML 44 R34.htm IDEA: XBRL DOCUMENT
v3.23.3

Revenue Recognition - Disaggregation (Details) - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended
--- | --- | ---
Sep. 30, 2023 | Sep. 30, 2022 | Sep. 30, 2023 | Sep. 30, 2022
Revenue Recognition |  |  |  |
Net sales | $ 1,326,120 | $ 1,300,998 | $ 3,908,620 | $ 3,744,201
Insulation and accessories |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 1,106,885 | 1,079,459 | 3,247,968 | 3,107,015
Glass and windows |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 62,763 | 60,375 | 195,046 | 168,692
Gutters |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 66,924 | 69,591 | 193,799 | 202,200
All other |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 89,548 | 91,573 | 271,807 | 266,294
Residential |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 861,689 | 853,021 | 2,519,087 | 2,441,211
Commercial and Industrial |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 464,431 | 447,977 | 1,389,533 | 1,302,990
Operating Segment | Installation |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 821,673 | 783,056 | 2,397,818 | 2,208,717
Operating Segment | Installation | Insulation and accessories |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 658,765 | 619,613 | 1,893,456 | 1,746,054
Operating Segment | Installation | Glass and windows |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 62,763 | 60,375 | 195,046 | 168,692
Operating Segment | Installation | Gutters |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 28,215 | 28,729 | 85,895 | 78,926
Operating Segment | Installation | All other |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 71,930 | 74,339 | 223,421 | 215,045
Operating Segment | Installation | Residential |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 689,232 | 662,005 | 2,003,107 | 1,859,386
Operating Segment | Installation | Commercial and Industrial |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 132,441 | 121,051 | 394,711 | 349,331
Operating Segment | Specialty Distribution |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 571,009 | 583,543 | 1,703,871 | 1,715,196
Operating Segment | Specialty Distribution | Insulation and accessories |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 506,420 | 516,214 | 1,522,384 | 1,514,481
Operating Segment | Specialty Distribution | Gutters |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 46,131 | 48,972 | 130,062 | 146,481
Operating Segment | Specialty Distribution | All other |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 18,458 | 18,357 | 51,425 | 54,234
Operating Segment | Specialty Distribution | Residential |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 227,245 | 245,549 | 678,824 | 729,787
Operating Segment | Specialty Distribution | Commercial and Industrial |  |  |  |
Revenue Recognition |  |  |  |
Net sales | 343,764 | 337,994 | 1,025,047 | 985,409
Eliminations |  |  |  |
Revenue Recognition |  |  |  |
Net sales | (66,562) | (65,601) | (193,069) | (179,712)
Eliminations | Insulation and accessories |  |  |  |
Revenue Recognition |  |  |  |
Net sales | (58,300) | (56,368) | (167,872) | (153,520)
Eliminations | Gutters |  |  |  |
Revenue Recognition |  |  |  |
Net sales | (7,422) | (8,110) | (22,158) | (23,207)
Eliminations | All other |  |  |  |
Revenue Recognition |  |  |  |
Net sales | (840) | (1,123) | (3,039) | (2,985)
Eliminations | Residential |  |  |  |
Revenue Recognition |  |  |  |
Net sales | (54,788) | (54,533) | (162,844) | (147,962)
Eliminations | Commercial and Industrial |  |  |  |
Revenue Recognition |  |  |  |
Net sales | $ (11,774) | $ (11,068) | $ (30,225) | $ (31,750)

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_ProductOrServiceAxis=bld_InsulationAndAccessoriesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=bld_GlassAndWindowsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=bld_RainGuttersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=bld_AllOtherProductsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=bld_ResidentialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=bld_CommercialAndIndustrialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

X
- Details
Name: | srt_ConsolidationItemsAxis=bld_EliminationsAndReconcilingItemsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |