XML 49 R38.htm IDEA: XBRL DOCUMENT
v3.20.2

Revenue Recognition - Other (Details) - USD ($) $ in Thousands | 6 Months Ended |
--- | --- | ---
Jun. 30, 2020 | Dec. 31, 2019
Revenue Recognition |  |
Customer contract period | 90 days |
Contract Liabilities |  |
Deferred revenue | $ 15,719 | $ 16,139
Receivables, net |  |
Contract Assets |  |
Receivables, unbilled | 53,120 | 57,153
Accrued liabilities |  |
Contract Liabilities |  |
Deferred revenue | $ 15,719 | $ 16,139

X
- Definition The general duration of contracts with customers. + References No definition available. + Details
Name: | bld_ContractWithCustomerDuration
Namespace Prefix: | bld_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Revenue Recognition Disclosure [Abstract]. + References No definition available. + Details
Name: | bld_RevenueRecognitionDisclosureAbstract
Namespace Prefix: | bld_
Data Type: | xbrli:stringItemType
Balance Type: | na
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 is conditioned on something other than passage of time, 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 1 -URI http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=118944033&loc=SL49130533-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 http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerAssetNetCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_ContractWithCustomerAssetNetCurrentAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_ContractWithCustomerLiabilityAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, 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 1 -URI http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-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 http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerLiabilityCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=bld_ReceivablesNetMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |