Employee Benefit Plans - Components of Periodic Benefit Cost (Details) (USD $)
In Millions, unless otherwise specified |
12 Months Ended | ||
---|---|---|---|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
|
Qualified Pension Plan | |||
Components of net periodic benefit cost | |||
Service cost |
$ 0us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
$ 0us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
$ 236us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Interest cost |
665us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
623us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
681us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Expected return on plan assets |
(1,018)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
(1,024)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
(1,246)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Amortization of prior service cost (credits) |
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
9us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Amortization of net actuarial loss (gain) |
111us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
242us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
469us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Recognized loss due to settlements and curtailments |
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
17us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
58us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Net periodic benefit cost (income) |
(242)us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
(142)us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
207us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Weighted-average assumptions used to determine net cost for years ended December 31 | |||
Discount rate |
4.85%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
4.95%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Expected return on plan assets |
6.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
6.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
Rate of compensation increase |
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_QualifiedPensionPlansMember |
||
Non-U.S. Pension Plans | |||
Components of net periodic benefit cost | |||
Service cost |
29us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
32us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
40us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Interest cost |
109us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
98us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
97us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Expected return on plan assets |
(137)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
(121)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
(137)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Amortization of prior service cost (credits) |
1us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Amortization of net actuarial loss (gain) |
3us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
2us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
(9)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Recognized loss due to settlements and curtailments |
2us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
(7)us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Net periodic benefit cost (income) |
7us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
4us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
(9)us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Weighted-average assumptions used to determine net cost for years ended December 31 | |||
Discount rate |
4.30%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
4.23%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
4.87%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Expected return on plan assets |
5.52%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
5.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
6.65%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Rate of compensation increase |
4.91%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
4.37%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
4.42%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_ForeignPensionPlansDefinedBenefitMember |
Nonqualified and Other Pension Plans | |||
Components of net periodic benefit cost | |||
Service cost |
1us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
1us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
1us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Interest cost |
133us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
120us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
138us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Expected return on plan assets |
(124)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
(109)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
(152)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Amortization of transition obligation |
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Amortization of prior service cost (credits) |
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
(3)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Amortization of net actuarial loss (gain) |
25us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
25us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
8us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Recognized loss due to settlements and curtailments |
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
2us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Net periodic benefit cost (income) |
35us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
39us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
(8)us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Weighted-average assumptions used to determine net cost for years ended December 31 | |||
Discount rate |
4.55%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
3.65%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
4.65%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Expected return on plan assets |
4.60%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
3.75%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
5.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Rate of compensation increase |
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_NonqualifiedAndOtherPensionPlansMember |
Postretirement Health and Life Plans | |||
Components of net periodic benefit cost | |||
Service cost |
8us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
9us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
13us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Interest cost |
58us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
54us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
71us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Expected return on plan assets |
(4)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
(5)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
(8)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Amortization of transition obligation |
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
32us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Amortization of prior service cost (credits) |
4us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
4us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
4us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Amortization of net actuarial loss (gain) |
(89)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
(42)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
(38)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Recognized loss due to settlements and curtailments |
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
6us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlementsAndCurtailments1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Net periodic benefit cost (income) |
$ (23)us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
$ 26us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
$ 74us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Weighted-average assumptions used to determine net cost for years ended December 31 | |||
Discount rate |
4.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
3.65%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
4.65%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
Expected return on plan assets |
6.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
6.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = bac_PostretirementHealthCoverageandLifeInsuranceMember |
X | ||||||||||
- Definition
The amount of gains or losses recognized in net periodic benefit cost. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The amount of the prior service cost or credit recognized in net periodic benefit cost relating to benefit changes attributable to plan participants' prior service pursuant to a plan amendment or a plan initiation. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The amount of the transition obligation or asset recognized in net periodic benefit cost. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The interest rate used to adjust for the time value of money. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
An assumption as to the rate of return on plan assets reflecting the average rate of earnings expected on the funds invested or to be invested to provide for the benefits included in the benefit obligation. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Expected rate of compensation increases (for pay-related plans). Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
An amount calculated as a basis for determining the extent of delayed recognition of the effects of changes in the fair value of assets. The expected return on plan assets is determined based on the expected long-term rate of return on plan assets and the market-related value of plan assets. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The increase in a defined benefit pension plan's projected benefit obligation or a defined benefit postretirement plan's accumulated postretirement benefit obligation due to the passage of time. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The total amount of net periodic benefit cost for defined benefit plans for the period. Periodic benefit costs include the following components: service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) due to settlements or curtailments. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of net gain (loss) recognized in net periodic benefit cost due to settlements and curtailments. Curtailments result from an event that significantly reduces the expected years of future service of present employees or eliminates for a significant number of employees the accrual of defined benefits for some or all of their future services. Settlements result from an irrevocable action that relieves the employer (or the plan) of primary responsibility for a benefit obligation and eliminates significant risks related to the obligation and the assets used to effect the settlement. Examples of transactions that constitute a settlement include, but are not limited to, lump-sum cash payments to plan participants in exchange for their rights to receive specified benefits and purchasing nonparticipating annuity contracts to cover vested benefits. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The actuarial present value of benefits attributed by the pension benefit formula to services rendered by employees during the period. The portion of the expected postretirement benefit obligation attributed to employee service during the period. The service cost component is a portion of the benefit obligation and is unaffected by the funded status of the plan. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|