XML 54 R38.htm IDEA: XBRL DOCUMENT
v3.24.0.1

REVENUE (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
Revenue |
Disaggregation of revenue | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | For the Year Ended
​ | ​ | December 31,
​ |  | 2023 |  | 2022 |  | 2021
Sales to do-it-yourself customers | ​ | $ | 8,248,213 | ​ | $ | 7,903,359 | ​ | $ | 7,643,832
Sales to professional service provider customers |  | ​ | 7,245,747 |  | ​ | 6,170,239 |  | ​ | 5,368,657
Other sales and sales adjustments |  | ​ | 318,290 |  | ​ | 336,262 |  | ​ | 315,074
Total sales | ​ | $ | 15,812,250 | ​ | $ | 14,409,860 | ​ | $ | 13,327,563

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 -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 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types: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