XML 59 R48.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Significant Accounting Policies (Details) | 9 Months Ended
--- | ---
Sep. 30, 2018
GM Financial [Member] | Minimum [Member] | Vehicles [Member] |
Equipment on Operating Leases, net [Abstract] |
Leasing arrangements, contract term | 2 years
GM Financial [Member] | Maximum [Member] | Vehicles [Member] |
Equipment on Operating Leases, net [Abstract] |
Leasing arrangements, contract term | 5 years
GM Financial [Member] | Retail Finance Receivables [Member] |
Revenue Recognition [Abstract] |
Past due threshold term for suspending accrual of finance charge income | 60 days
GM Financial [Member] | Commercial Finance Receivables [Member] |
Revenue Recognition [Abstract] |
Past due threshold term for suspending accrual of finance charge income | 90 days
Automotive [Member] |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |
Revenue recognition term, separate and bundled services (less than) | 3 years
Automotive [Member] | Vehicles [Member] |
Equipment on Operating Leases, net [Abstract] |
Leasing arrangements, contract term | 7 months

X
- Definition Equipment on Operating Leases, net [Abstract] + References No definition available. + Details
Name: | gm_EquipmentOnOperatingLeasesNetAbstract
Namespace Prefix: | gm_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Maximum period past due before the accrual of finance charge income is suspended. + References No definition available. + Details
Name: | gm_MaximumPeriodPastDuebeforeSuspensionofAccrualofFinanceChargeIncome
Namespace Prefix: | gm_
Data Type: | us-types:durationStringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Revenue Recognition, Separate and Bundled Services, Term + References No definition available. + Details
Name: | gm_RevenueRecognitionSeparateandBundledServicesTerm
Namespace Prefix: | gm_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Term of lessor's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 30 -Section 50 -Paragraph 3 -Subparagraph (a)(3) -URI http://asc.fasb.org/extlink&oid=77888428&loc=SL77919359-209981 + Details
Name: | us-gaap_LessorOperatingLeaseTermOfContract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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

X
- Details
Name: | gm_BusinessGroupAxis=gm_GmFinancialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_MajorPropertyClassAxis=us-gaap_VehiclesMember
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_FinancingReceivablePortfolioSegmentAxis=us-gaap_ConsumerPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivablePortfolioSegmentAxis=us-gaap_CommercialPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | gm_BusinessGroupAxis=gm_AutomotiveMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |