Securitizations and Other Variable Interest Entities - First Lien Mortgages VIE (Details) (USD $)
In Millions, unless otherwise specified |
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
Dec. 31, 2011
|
---|---|---|---|---|
On-balance sheet assets | ||||
Trading account assets | $ 191,785us-gaap_TradingSecurities | $ 200,993us-gaap_TradingSecurities | ||
Debt securities carried at fair value | 320,695bac_DebtSecuritiesCarriedAtFairValue | 268,795bac_DebtSecuritiesCarriedAtFairValue | ||
Held-to-maturity securities | 59,766us-gaap_HeldToMaturitySecurities | 55,150us-gaap_HeldToMaturitySecurities | ||
Loans and leases | 881,391us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome | 928,233us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome | ||
Allowance for loan and lease losses | (14,419)us-gaap_LoansAndLeasesReceivableAllowance | (17,428)us-gaap_LoansAndLeasesReceivableAllowance | (24,179)us-gaap_LoansAndLeasesReceivableAllowance | (33,783)us-gaap_LoansAndLeasesReceivableAllowance |
All other assets | 112,063us-gaap_OtherAssets | 124,090us-gaap_OtherAssets | ||
Total assets | 2,104,534us-gaap_Assets | 2,102,273us-gaap_Assets | ||
On-balance sheet liabilities | ||||
Long-term debt | 243,139us-gaap_LongTermDebt | 249,674us-gaap_LongTermDebt | ||
Total liabilities | 1,861,063us-gaap_Liabilities | 1,869,588us-gaap_Liabilities | ||
Unpaid principal balance of mortgage loans eligible for repurchase | 635bac_UnpaidPrincipalBalanceofMortgageLoansEligibleforRepurchase | 1,600bac_UnpaidPrincipalBalanceofMortgageLoansEligibleforRepurchase | ||
Principal amount that would be payable to the securitization vehicles | 635bac_PrincipalAmountThatWouldBePayableToSecuritizationVehiclesUnderRepurchaseOption | 1,600bac_PrincipalAmountThatWouldBePayableToSecuritizationVehiclesUnderRepurchaseOption | ||
Unconsolidated VIEs | Agency | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
14,918us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
21,140us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Residual interests held |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
All other assets |
24us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
27us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Total assets |
14,918us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
21,140us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Principal balance outstanding |
397,055us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
437,765us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Agency | Senior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
584us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
650us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
13,473bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
19,451bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
837us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
1,012us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Agency | Junior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Prime | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
1,288us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
1,527us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Residual interests held |
10us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
13us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
All other assets |
56us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
71us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Total assets |
897us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
1,087us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Principal balance outstanding |
20,167us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
25,104us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Prime | Senior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
3us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
816bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
988bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Prime | Junior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
12bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
15bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Subprime | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
3,167us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
591us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Residual interests held |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
All other assets |
1us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
1us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Total assets |
2,831us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
236us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Principal balance outstanding |
32,592us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
36,854us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Subprime | Senior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
14us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
1us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
2,811bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
220bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Subprime | Junior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
8us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
5bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
6bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Alt-A | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
710us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
437us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Residual interests held |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
All other assets |
245us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
325us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Total assets |
710us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
437us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Principal balance outstanding |
50,054us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
56,454us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Alt-A | Senior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
81us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
3us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
383bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
109bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Non-agency | Alt-A | Junior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
1us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Commercial Mortgage | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
352us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
432us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Residual interests held |
22us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
16us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
All other assets |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Total assets |
325us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
402us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Principal balance outstanding |
20,593us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
19,730us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Commercial Mortgage | Senior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
54us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
14us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
76bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
306bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
42us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Unconsolidated VIEs | Commercial Mortgage | Junior Lien | ||||
On-balance sheet assets | ||||
Trading account assets |
58us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
13us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Debt securities carried at fair value |
58bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
53bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Held-to-maturity securities |
15us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember |
||
Consolidated VIEs | Agency | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
38,345us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
42,420us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Trading account assets |
1,538us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
1,640us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Loans and leases |
36,187us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
40,316us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Allowance for loan and lease losses |
(2)us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
(3)us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other assets |
623us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
474us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total assets |
38,346us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
42,427us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet liabilities | ||||
Long-term debt |
1us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
7us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other liabilities |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total liabilities |
1us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
7us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Consolidated VIEs | Non-agency | Prime | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
77us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
79us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Loans and leases |
130us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
140us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other assets |
6us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total assets |
136us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
140us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet liabilities | ||||
Long-term debt |
56us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
61us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other liabilities |
3us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total liabilities |
59us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
61us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Consolidated VIEs | Non-agency | Subprime | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
206us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
183us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Trading account assets |
30us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Loans and leases |
768us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
803us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other assets |
15us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
7us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total assets |
813us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
810us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet liabilities | ||||
Long-term debt |
770us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
803us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other liabilities |
13us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
7us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total liabilities |
783us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
810us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Consolidated VIEs | Non-agency | Alt-A | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Loans and leases |
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other assets |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total assets |
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet liabilities | ||||
Long-term debt |
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other liabilities |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total liabilities |
0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Consolidated VIEs | Commercial Mortgage | ||||
Variable Interest Entity [Line Items] | ||||
Maximum loss exposure |
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet assets | ||||
Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Loans and leases |
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other assets |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total assets |
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
On-balance sheet liabilities | ||||
Long-term debt |
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
All other liabilities |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
||
Total liabilities |
$ 0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
$ 0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember |
X | ||||||||||
- Definition
Debt Securities Carried at Fair Value No definition available.
|
X | ||||||||||
- Definition
Principal amount, included in All other liabilities, that would be payable to the securitization vehicles if the Corporation were to exercise the repurchase option No definition available.
|
X | ||||||||||
- Definition
Unpaid principal balance of mortgage loans eligible for repurchase from unconsolidated residential mortgage securitization vehicles, principally guaranteed by GNMA, included in All other assets No definition available.
|
X | ||||||||||
- Definition
Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Principal amount of transferred financial assets in which the transferor has continuing involvement with the assets underlying the transaction. Continuing involvement includes, but is not limited to, servicing, recourse, and restrictions on transferor's interests in transferred financial assets. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount after other than temporary impairment (OTTI) accretion, of investments in debt securities classified as held-to-maturity. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of allowance to cover probable credit losses on loans and leases. Includes carryover of or adjustments to the allowance for loan losses in connection with business combinations. Excludes allowance for loans and leases covered under loss sharing agreements. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount before allowance and after deduction of deferred interest and fees, unamortized costs and premiums and discounts from face amounts, of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Excludes loans and leases covered under loss sharing agreements. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Carrying amount of long-term debt, net of unamortized discount or premium, including current and noncurrent amounts. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The aggregate carrying amounts, as of the balance sheet date, of assets not separately disclosed in the balance sheet. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The aggregate carrying amount, as of the balance sheet date, of liabilities not separately disclosed in the balance sheet. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Fair value portion of interest continued to be held by a transferor after transferring financial assets to a third party. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of investments in debt and equity securities and other forms of securities that provide ownership interests classified as trading. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The reporting entity's maximum amount of exposure to loss as a result of its involvement with the Variable Interest Entity (VIE). Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|