XML 190 R146.htm IDEA: XBRL DOCUMENT
v3.22.0.1

PROPERTY, PLANT, AND EQUIPMENT - Additional Information (Narrative) (Details) - Nuclear Outage | 12 Months Ended
--- | ---
Dec. 31, 2021
Plant Farley | Alabama Power |
Property, Plant and Equipment [Line Items] |
Regulatory asset amortization period | 18 months
Plant Vogtle Units 1 and 2 | Georgia Power |
Property, Plant and Equipment [Line Items] |
Regulatory asset amortization period | 18 months
Plant Hatch Units 1 and 2 | Georgia Power | Maximum |
Property, Plant and Equipment [Line Items] |
Regulatory asset amortization period | 24 months

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_PropertyPlantAndEquipmentLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amortization period for the recovery of regulatory asset, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_RegulatoryAssetAmortizationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_JointlyOwnedUtilityPlantAxis=so_PlantFarleyMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_RegulatoryAssetAxis=so_NuclearOutageMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_JointlyOwnedUtilityPlantAxis=so_PlantVogtleNuclearUnitsOneAndTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_JointlyOwnedUtilityPlantAxis=so_PlantHatchNuclearMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |