XML 53 R45.htm IDEA: XBRL DOCUMENT
v3.20.1

Nature of Operations and Basis of Presentation - Narrative (Details) - USD ($) $ in Millions |  | 3 Months Ended
--- | --- | ---
Jan. 01, 2020 | Mar. 31, 2020
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |
Adoption of accounting standards (Note 1) |  | $ (660)
Accounting Standards Update 2016-13 [Member] | Retained Earnings [Member] |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |
Adoption of accounting standards (Note 1) | $ 660 |
GM Financial [Member] | Accounting Standards Update 2016-13 [Member] | Retained Earnings [Member] |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |
Adoption of accounting standards (Note 1) | 643 |
GM Financial [Member] | Accounting Standards Update 2016-13 [Member] | Credit Losses [Member] |  |
New Accounting Pronouncements or Change in Accounting Principle [Line Items] |  |
Adoption of accounting standards (Note 1) | $ 801 |

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_AccountingStandardsUpdate201613Member
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: | gm_BusinessGroupAxis=gm_GmFinancialMember
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: |