XML 270 R226.htm IDEA: XBRL DOCUMENT
v3.22.0.1

DERIVATIVES - Cumulative Basis Adjustments for Fair Value Hedges (Details) - Fair Value Hedging - USD ($) $ in Millions | Dec. 31, 2021 | Dec. 31, 2020
--- | --- | ---
Securities due within one year |  |
Derivative Instruments, Gain (Loss) [Line Items] |  |
Carrying Amount of the Hedged Item | $ 0 | $ (1,509)
Cumulative Amount of Fair Value Hedging Adjustment included in Carrying Amount of the Hedged Item | 0 | (10)
Long-term debt |  |
Derivative Instruments, Gain (Loss) [Line Items] |  |
Carrying Amount of the Hedged Item | (3,280) | 0
Cumulative Amount of Fair Value Hedging Adjustment included in Carrying Amount of the Hedged Item | 9 | 0
Long-term debt | Southern Company Gas |  |
Derivative Instruments, Gain (Loss) [Line Items] |  |
Carrying Amount of the Hedged Item | (493) | 0
Cumulative Amount of Fair Value Hedging Adjustment included in Carrying Amount of the Hedged Item | $ 2 | $ 0

X
- Definition Derivative, Cumulative Amount of Fair Value Hedging Adjustment Included in Carrying Amount + References No definition available. + Details
Name: | so_DerivativeCumulativeAmountofFairValueHedgingAdjustmentIncludedinCarryingAmount
Namespace Prefix: | so_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of hedged item in hedging relationship. Excludes hedged asset or liability. + References No definition available. + Details
Name: | us-gaap_DerivativeAmountOfHedgedItem
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
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_DerivativeInstrumentsGainLossLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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

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: | dei_LegalEntityAxis=so_SouthernCompanyGasMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |