Employee Benefit Plans - Fair Value Measurements Rollforward (Details) (USD $)
In Millions, unless otherwise specified |
12 Months Ended | ||
---|---|---|---|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
|
Change in fair value of plan assets | |||
Fair value, December 31 | $ 24,133us-gaap_DefinedBenefitPlanFairValueOfPlanAssets | $ 23,525us-gaap_DefinedBenefitPlanFairValueOfPlanAssets | |
U.S. government and government agency securities | |||
Change in fair value of plan assets | |||
Fair value, December 31 |
4,166us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember |
3,847us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember |
|
Non-U.S. debt securities | |||
Change in fair value of plan assets | |||
Fair value, December 31 |
1,114us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
1,055us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
|
Private real estate | |||
Change in fair value of plan assets | |||
Fair value, December 31 |
127us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember |
119us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember |
|
Real estate commingled/mutual funds | |||
Change in fair value of plan assets | |||
Fair value, December 31 |
636us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember |
469us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember |
|
Limited partnerships | |||
Change in fair value of plan assets | |||
Fair value, December 31 |
187us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember |
262us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember |
|
Other investments | |||
Change in fair value of plan assets | |||
Fair value, December 31 |
618us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember |
797us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember |
|
Level 3 | |||
Change in fair value of plan assets | |||
Fair value, January 1 |
879us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
817us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
739us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Actual Return on Plan Assets Still Held at the Reporting Date |
31us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
19us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
25us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Purchases |
159us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
166us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
80us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Sales and Settlements |
(103)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(95)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(28)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Transfers into/ (out of) Level 3 |
(4)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(28)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
1us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Fair value, December 31 |
962us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
879us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
817us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Level 3 | U.S. government and government agency securities | |||
Change in fair value of plan assets | |||
Fair value, January 1 |
12us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
13us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
13us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Actual Return on Plan Assets Still Held at the Reporting Date |
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Purchases |
0us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Sales and Settlements |
(1)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(1)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Transfers into/ (out of) Level 3 |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Fair value, December 31 |
11us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
12us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
13us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_USTreasuryAndGovernmentMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Level 3 | Non-U.S. debt securities | |||
Change in fair value of plan assets | |||
Fair value, January 1 |
6us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
10us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
10us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Actual Return on Plan Assets Still Held at the Reporting Date |
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(2)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(1)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Purchases |
0us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
1us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Sales and Settlements |
(2)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(2)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(1)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Transfers into/ (out of) Level 3 |
(4)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
1us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Fair value, December 31 |
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
6us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
10us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Level 3 | Private real estate | |||
Change in fair value of plan assets | |||
Fair value, January 1 |
119us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
110us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
113us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Actual Return on Plan Assets Still Held at the Reporting Date |
5us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
4us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(2)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Purchases |
5us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
7us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
2us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Sales and Settlements |
(2)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(2)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(3)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Transfers into/ (out of) Level 3 |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Fair value, December 31 |
127us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
119us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
110us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_PrivateRealEstateMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Level 3 | Real estate commingled/mutual funds | |||
Change in fair value of plan assets | |||
Fair value, January 1 |
462us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
324us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
249us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Actual Return on Plan Assets Still Held at the Reporting Date |
20us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
15us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
13us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Purchases |
150us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
123us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
62us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Sales and Settlements |
0bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Transfers into/ (out of) Level 3 |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Fair value, December 31 |
632us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
462us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
324us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_RealEstateCommingledMutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Level 3 | Limited partnerships | |||
Change in fair value of plan assets | |||
Fair value, January 1 |
145us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
231us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
232us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Actual Return on Plan Assets Still Held at the Reporting Date |
5us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
8us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
8us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Purchases |
3us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
23us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
11us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Sales and Settlements |
(88)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(89)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(20)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Transfers into/ (out of) Level 3 |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(28)us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Fair value, December 31 |
65us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
145us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
231us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = bac_LimitedPartnershipsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Level 3 | Other investments | |||
Change in fair value of plan assets | |||
Fair value, January 1 |
135us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
129us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
122us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Actual Return on Plan Assets Still Held at the Reporting Date |
1us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(6)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
7us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Purchases |
1us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
13us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
4us-gaap_DefinedBenefitPlanBusinessCombinationsAndAcquisitionsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Sales and Settlements |
(10)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(1)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
(4)bac_DefinedBenefitPlanDivestituresandSettlementsPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Transfers into/ (out of) Level 3 |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
0us-gaap_DefinedBenefitPlanTransfersBetweenMeasurementLevels / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
Fair value, December 31 |
$ 127us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
$ 135us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
$ 129us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_OtherInvestmentsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Sales, and settlements of plan assets that occurred during the period. No definition available.
|
X | ||||||||||
- Definition
Actual return on plan assets, separately identifying the amount related to assets still held at the reporting date. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The amount of increase in the plan assets attributed to a business combination. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Assets, usually stocks, bonds, and other investments, that have been segregated and restricted (usually in a trust) to provide benefits, at their fair value as of the measurement date. Plan assets include amounts contributed by the employer (and by employees for a contributory plan) and amounts earned from investing the contributions, less benefits paid. If a plan has liabilities other than for benefits, those non-benefit obligations may be considered as reductions of plan assets. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Transfers in and out of Level 3. For example, transfers due to changes in the observability of significant inputs. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|