XML 217 R161.htm IDEA: XBRL DOCUMENT
v3.20.4

Employee Benefit Plans (Employee Savings Plans) (Details) - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Defined Benefit Plan Disclosure [Line Items] |  |  |
Matching contribution percentage | 100.00% |  |
Eligible pay percentage | 6.00% |  |
Additional contribution percentage for employees not participating in defined pension plans | 4.00% |  |
Employer contributions | $ 213 | $ 214 | $ 213
Vesting period | 3 years |  |
Duke Energy Carolinas |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Employer contributions | $ 67 | 66 | 68
Progress Energy |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Employer contributions | 57 | 58 | 58
Duke Energy Progress |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Employer contributions | 38 | 38 | 40
Duke Energy Florida |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Employer contributions | 19 | 20 | 19
Duke Energy Ohio |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Employer contributions | 5 | 5 | 4
Duke Energy Indiana |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Employer contributions | 11 | 11 | 10
Piedmont |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Employer contributions | $ 13 | $ 13 | $ 12
Minimum | Piedmont |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Additional contribution percentage for employees not participating in defined pension plans | 3.00% |  |
Maximum | Piedmont |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |
Additional contribution percentage for employees not participating in defined pension plans | 5.00% |  |

X
- Definition Percentage of eligible pay per period contributed to an employee's 401(k) account in lieu of participation in Duke Energy's defined pension plans. + References No definition available. + Details
Name: | duk_DefinedContributionPlanAdditionalContributionPercentageForEmployeesNotParticipatingInDefinedPensionPlans
Namespace Prefix: | duk_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Defined Contribution Plan Additional Contribution Percentage For Employees Not Participating In Defined Pension Plans, Vesting Period + References No definition available. + Details
Name: | duk_DefinedContributionPlanAdditionalContributionPercentageForEmployeesNotParticipatingInDefinedPensionPlansVestingPeriod
Namespace Prefix: | duk_
Data Type: | xbrli:durationItemType
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_DefinedBenefitPlanDisclosureLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost for defined contribution plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 70 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942 + Details
Name: | us-gaap_DefinedContributionPlanCostRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage employer matches of the employee's percentage contribution matched. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

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

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

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

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

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

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

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

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
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: |