XML 50 R40.htm IDEA: XBRL DOCUMENT
v3.8.0.1

SEGMENT INFORMATION - Narrative (Details) $ in Millions | 3 Months Ended | 9 Months Ended
--- | --- | ---
Sep. 30, 2017 USD ($) | Sep. 30, 2017 USD ($) segment
Segment Reporting Information [Line Items] |  |
Number of reportable segments | segment |  | 2
Service revenues, percent of total revenues |  | 1.00%
UNITED STATES [Member] |  |
Segment Reporting Information [Line Items] |  |
Intersegment sales increase | $ | $ 12 | $ 40

X
- Definition Increase in Intersegment Sales for the respective Reporting Segment. + References No definition available. + Details
Name: | gww_IntersegmentSalesIncrease
Namespace Prefix: | gww_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Grainger's Service Fee Revenue as a percentage of sales. + References No definition available. + Details
Name: | gww_ServiceFeeRevenue
Namespace Prefix: | gww_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

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: | us-gaap_StatementBusinessSegmentsAxis=country_US
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |