XML 22 R37.htm IDEA: XBRL DOCUMENT
v3.20.1

Segment Information - Narrative (Details) | 3 Months Ended
--- | ---
Mar. 31, 2020 employee segment
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 No definition available. + 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: |