XML 264 R220.htm IDEA: XBRL DOCUMENT
v3.22.0.1

DERIVATIVES - Interest Rate Derivatives (Details) - Interest rate derivatives $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2021 USD ($)
Derivative [Line Items] |
Notional Amount | $ 1,900
Fair Value Gain (Loss) December 31, 2021 | (10)
Southern Company | Fair Value Hedges of Existing Debt | March 2028 |
Derivative [Line Items] |
Notional Amount | $ 400
Interest Rate Received | 1.75%
Weighted Average Interest Rate Paid | 0.68%
Fair Value Gain (Loss) December 31, 2021 | $ (5)
Southern Company | Fair Value Hedges of Existing Debt | April 2030 |
Derivative [Line Items] |
Notional Amount | $ 1,000
Interest Rate Received | 3.70%
Weighted Average Interest Rate Paid | 2.36%
Fair Value Gain (Loss) December 31, 2021 | $ (6)
SOUTHERN Co GAS | Fair Value Hedges of Existing Debt |
Derivative [Line Items] |
Notional Amount | $ 500
Interest Rate Received | 1.75%
Weighted Average Interest Rate Paid | 0.38%
Fair Value Gain (Loss) December 31, 2021 | $ 1

X
- Definition Fair value gain (Loss). + References No definition available. + Details
Name: | so_FairValueGainLoss
Namespace Prefix: | so_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Notional amount of interest rate derivatives, interest rate paid. + References No definition available. + Details
Name: | so_NotionalAmountofInterestRateDerivativesInterestRatePaid
Namespace Prefix: | so_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Notional amount of interest rate derivatives, interest rate received. + References No definition available. + Details
Name: | so_NotionalAmountofInterestRateDerivativesInterestRateReceived
Namespace Prefix: | so_
Data Type: | dtr-types:percentItemType
Balance Type: | na
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_DerivativeLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Nominal or face amount used to calculate payment on derivative. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 1B -URI http://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 1A -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959 + Details
Name: | us-gaap_DerivativeNotionalAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | dei_LegalEntityAxis=so_SouthernCompanyMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | so_HedgingMaturityDateAxis=so_HedgingMaturityDateOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | so_HedgingMaturityDateAxis=so_HedgingMaturityDateTwoMember
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: |