XML 48 R36.htm IDEA: XBRL DOCUMENT
v3.20.2

Segment Information - Narrative (Details) | 9 Months Ended
--- | ---
Sep. 30, 2020 segment employee
Segment Reporting Information [Line Items] |
Number of reportable segments | segment | 3
Number of operating segments which do not meet reportable unit quantitative threshold | segment | 2
Minimum | Corporate |
Segment Reporting Information [Line Items] |
Customer segments, customer employee headcount | employee | 250
Maximum | Small Business |
Segment Reporting Information [Line Items] |
Customer segments, customer employee headcount | employee | 250

X
- Definition Number of Operating Segments, Reportable Unit Quantitative Threshold Not Met + References No definition available. + Details
Name: | cdw_NumberofOperatingSegmentsReportableUnitQuantitativeThresholdNotMet
Namespace Prefix: | cdw_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Segment Reporting, Customer Segments, Customer Employee Headcount + References No definition available. + Details
Name: | cdw_SegmentReportingCustomerSegmentsCustomerEmployeeHeadcount
Namespace Prefix: | cdw_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 18 -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599 + Details
Name: | us-gaap_NumberOfReportableSegments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

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 No definition available. + Details
Name: | us-gaap_SegmentReportingInformationLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cdw_CorporateSegmentPrivateSectorBusinessMember
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_StatementBusinessSegmentsAxis=cdw_SmallBusinessMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |