Quarterly report pursuant to Section 13 or 15(d)

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

v2.4.1.9
Outstanding Loans and Leases - Credit Card and Other Consumer - Renegotiated TDRs Entered into During the Period by Program Type (Details) (Credit card and other consumer, USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Financing Receivable, Modifications [Line Items]    
Carrying Value $ 127us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 $ 179us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
Direct/Indirect Consumer
   
Financing Receivable, Modifications [Line Items]    
Carrying Value 5us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
9us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
Percent expected to be in payment default within 12 months after modification 12.00%bac_FinancingReceivableModificationSubsequentDefaultPercentExpectedtoBeinPaymentDefaultWithin12MonthsAfterModification
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
 
Trouble debt restructurings entered payment default that were modified during the preceding twelve months 1us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
2us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
Other consumer
   
Financing Receivable, Modifications [Line Items]    
Carrying Value   2us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
United States | Credit Card Receivable
   
Financing Receivable, Modifications [Line Items]    
Carrying Value 76us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
100us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Percent expected to be in payment default within 12 months after modification 14.00%bac_FinancingReceivableModificationSubsequentDefaultPercentExpectedtoBeinPaymentDefaultWithin12MonthsAfterModification
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Trouble debt restructurings entered payment default that were modified during the preceding twelve months 12us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
13us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Non United States | Credit Card Receivable
   
Financing Receivable, Modifications [Line Items]    
Carrying Value 46us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
68us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
Percent expected to be in payment default within 12 months after modification 83.00%bac_FinancingReceivableModificationSubsequentDefaultPercentExpectedtoBeinPaymentDefaultWithin12MonthsAfterModification
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
 
Trouble debt restructurings entered payment default that were modified during the preceding twelve months 41us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
56us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
Internal Programs    
Financing Receivable, Modifications [Line Items]    
Carrying Value 52us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
78us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
Internal Programs | Direct/Indirect Consumer    
Financing Receivable, Modifications [Line Items]    
Carrying Value 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
3us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
Internal Programs | Other consumer    
Financing Receivable, Modifications [Line Items]    
Carrying Value   2us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
Internal Programs | United States | Credit Card Receivable    
Financing Receivable, Modifications [Line Items]    
Carrying Value 51us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= country_US
70us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= country_US
Internal Programs | Non United States | Credit Card Receivable    
Financing Receivable, Modifications [Line Items]    
Carrying Value 1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
3us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_InternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
External Programs    
Financing Receivable, Modifications [Line Items]    
Carrying Value 27us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
34us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
External Programs | Direct/Indirect Consumer    
Financing Receivable, Modifications [Line Items]    
Carrying Value 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
External Programs | Other consumer    
Financing Receivable, Modifications [Line Items]    
Carrying Value   0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
External Programs | United States | Credit Card Receivable    
Financing Receivable, Modifications [Line Items]    
Carrying Value 25us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= country_US
30us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= country_US
External Programs | Non United States | Credit Card Receivable    
Financing Receivable, Modifications [Line Items]    
Carrying Value 2us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
3us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_ExternalProgramsMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
Other    
Financing Receivable, Modifications [Line Items]    
Carrying Value 48us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
67us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
Other | Direct/Indirect Consumer    
Financing Receivable, Modifications [Line Items]    
Carrying Value 5us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
5us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_DirectandIndirectFinancingReceivableMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
Other | Other consumer    
Financing Receivable, Modifications [Line Items]    
Carrying Value   0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= bac_OtherFinancingReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
Other | United States | Credit Card Receivable    
Financing Receivable, Modifications [Line Items]    
Carrying Value 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
/ us-gaap_StatementGeographicalAxis
= country_US
0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
/ us-gaap_StatementGeographicalAxis
= country_US
Other | Non United States | Credit Card Receivable    
Financing Receivable, Modifications [Line Items]    
Carrying Value $ 43us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember
$ 62us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ bac_FinancingReceivablePortfolioSegmentAxis
= bac_CreditCardandOtherConsumerPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= us-gaap_CreditCardReceivablesMember
/ bac_LoanRestructuringModificationNameAxis
= bac_OtherProgramMember
/ us-gaap_StatementGeographicalAxis
= bac_NonUnitedStatesMember