XML 90 R35.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Revenue (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2019
Revenue |
Disaggregation of revenue | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | For the Year Ended
​ | ​ | December 31,
​ |  | 2019 |  | 2018 |  | 2017
Sales to do-it-yourself customers | ​ | $ | 5,612,390 | ​ | $ | 5,351,035 | ​ | $ | 5,113,288
Sales to professional service provider customers |  | ​ | 4,369,541 |  | ​ | 4,035,898 |  | ​ | 3,724,220
Other sales and sales adjustments |  | ​ | 168,054 |  | ​ | 149,495 |  | ​ | 140,218
Total sales | ​ | $ | 10,149,985 | ​ | $ | 9,536,428 | ​ | $ | 8,977,726

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

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