XML 108 R88.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Derivative Financial Instruments Balance Sheet Location of Cumulative Basis Adjustments (Details) - Fair Value Hedges [Member] - Long-term Debt [Member] - GM Financial [Member] $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2018 USD ($)
Derivatives, Fair Value [Line Items] |
Carrying Amount of Hedged Items | $ 17,923
Cumulative Amount of Fair Value Hedging Adjustments | 459
Cumulative fair value adjustment on discontinued hedging relationships | $ 247

X
- Definition Derivative Liabilities, Fair Value Adjustment + References No definition available. + Details
Name: | gm_DerivativeLiabilitiesFairValueAdjustment
Namespace Prefix: | gm_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Derivative Liabilities, Fair Value Adjustment on Discontinued Hedging Relationships + References No definition available. + Details
Name: | gm_DerivativeLiabilitiesFairValueAdjustmentonDiscontinuedHedgingRelationships
Namespace Prefix: | gm_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Derivative Liability, Less Par Value + References No definition available. + Details
Name: | gm_DerivativeLiabilityLessParValue
Namespace Prefix: | gm_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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_DerivativesFairValueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_FairValueHedgingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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