XML 57 R45.htm IDEA: XBRL DOCUMENT
v3.19.2

Nature of Operations and Basis of Presentation - Narrative (Details) - USD ($) $ in Millions |  | 3 Months Ended
--- | --- | ---
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 |

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: |