XML 66 R46.htm IDEA: XBRL DOCUMENT
v3.19.3

Nature of Operations and Basis of Presentation - Narrative (Details) - USD ($) $ in Millions |  |  | 3 Months Ended
--- | --- | --- | ---
Jan. 01, 2020 | Jan. 01, 2019 | Mar. 31, 2018
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |  |
Adoption of accounting standards |  |  | $ (1,144)
Accounting Standards Update 2016-02 [Member] | Right-of-use Assets [Member] |  |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |  |
Adoption of accounting standards |  | $ 1,000 |
Accounting Standards Update 2016-02 [Member] | Noncancelable Operating Lease Obligations [Member] |  |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |  |
Adoption of accounting standards |  | $ 1,000 |
Forecast [Member] | Minimum [Member] | Accounting Standards Update 2016-13 [Member] | Credit Losses [Member] |  |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |  |
Adoption of accounting standards | $ 700 |  |
Forecast [Member] | Minimum [Member] | Accounting Standards Update 2016-13 [Member] | Retained Earnings [Member] |  |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |  |
Adoption of accounting standards | (500) |  |
Forecast [Member] | Maximum [Member] | Accounting Standards Update 2016-13 [Member] | Credit Losses [Member] |  |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |  |
Adoption of accounting standards | 900 |  |
Forecast [Member] | Maximum [Member] | Accounting Standards Update 2016-13 [Member] | Retained Earnings [Member] |  |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |  |
Adoption of accounting standards | $ (700) |  |

X
- Definition Represents the quantification of the effect of adopting the new accounting standard or change in accounting principle expected by the entity to have a significant effect on the entity's financial statements. + References No definition available. + Details
Name: | us-gaap_NewAccountingPronouncementOrChangeInAccountingPrincipleEffectOfAdoptionQuantification
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=gm_RightofUseAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=gm_NoncancelableOperatingLeaseObligationsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementScenarioAxis=srt_ScenarioForecastMember
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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201613Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=gm_FinancingReceivableAllowanceforCreditLossMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=us-gaap_RetainedEarningsMember
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: |