Annual report pursuant to Section 13 and 15(d)

Outstanding Loans and Leases - Credit Card and Other Consumer - Renegotiated TDRs Entered into During the Period (Details)

v2.4.1.9
Outstanding Loans and Leases - Credit Card and Other Consumer - Renegotiated TDRs Entered into During the Period (Details) (Consumer Portfolio Segment, USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Financing Receivable, Modifications [Line Items]      
Unpaid Principal Balance $ 394bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance $ 488bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance $ 761bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
Carrying Value 426us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 522us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 728us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
Pre-Modification Interest Rate 18.32%bac_FinancingReceivableModificationsPreModificationInterestRate 18.89%bac_FinancingReceivableModificationsPreModificationInterestRate 18.68%bac_FinancingReceivableModificationsPreModificationInterestRate
Post-Modification Interest Rate 4.03%bac_FinancingReceivableModificationsPostModificationInterestRate 4.37%bac_FinancingReceivableModificationsPostModificationInterestRate 4.79%bac_FinancingReceivableModificationsPostModificationInterestRate
Net Charge-offs 142us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown 183us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown 287us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
Direct/Indirect Consumer
     
Financing Receivable, Modifications [Line Items]      
Unpaid Principal Balance 27bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
47bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
160bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
Carrying Value 19us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
38us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
113us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
Pre-Modification Interest Rate 8.66%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
11.53%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
9.59%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
Post-Modification Interest Rate 4.90%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
4.74%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
5.72%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
Net Charge-offs 14us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
15us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
52us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
Other consumer
     
Financing Receivable, Modifications [Line Items]      
Unpaid Principal Balance   8bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
9bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
Carrying Value   8us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
9us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
Pre-Modification Interest Rate   9.28%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
9.97%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
Post-Modification Interest Rate   5.25%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
6.44%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
Net Charge-offs   0us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
0us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
United States | Credit Card Receivable
     
Financing Receivable, Modifications [Line Items]      
Unpaid Principal Balance 276bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
299bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
396bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Carrying Value 301us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
329us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
400us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Pre-Modification Interest Rate 16.64%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
16.84%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
17.59%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Post-Modification Interest Rate 5.15%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
5.84%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
6.36%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Net Charge-offs 37us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
30us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
45us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Non United States | Credit Card Receivable
     
Financing Receivable, Modifications [Line Items]      
Unpaid Principal Balance 91bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
134bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
196bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
Carrying Value 106us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
147us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
206us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
Pre-Modification Interest Rate 24.90%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
25.90%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
26.19%bac_FinancingReceivableModificationsPreModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
Post-Modification Interest Rate 0.68%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
0.95%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
1.15%bac_FinancingReceivableModificationsPostModificationInterestRate
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
Net Charge-offs $ 91us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
$ 138us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
$ 190us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown
/ bac_FinancingReceivablePortfolioSegmentAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember