|
Outstanding Loans and Leases - Credit Card and Other Consumer - Renegotiated TDRs by Program Type (Details) (Credit card and other consumer, USD $) In Millions, unless otherwise specified
|
Mar. 31, 2015
|
Dec. 31, 2014
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
$ 1,020us-gaap_FinancingReceivableModificationsRecordedInvestment
|
$ 1,141us-gaap_FinancingReceivableModificationsRecordedInvestment
|
| Percent of balances current or less than 30 days past due |
80.19%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue
|
79.51%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue
|
|
Internal Programs
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
480us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember
|
541us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember
|
|
External Programs
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
402us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember
|
447us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember
|
|
Other
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
138us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember
|
153us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember
|
|
Credit Card Receivable | United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
779us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US
|
856us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US
|
| Percent of balances current or less than 30 days past due |
85.86%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US
|
84.99%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US
|
|
Credit Card Receivable | Non United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
152us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
168us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
| Percent of balances current or less than 30 days past due |
47.71%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
47.56%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
|
Credit Card Receivable | Internal Programs | United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
412us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember / us-gaap_StatementGeographicalAxis = country_US
|
450us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember / us-gaap_StatementGeographicalAxis = country_US
|
|
Credit Card Receivable | Internal Programs | Non United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
33us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
41us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
|
Credit Card Receivable | External Programs | United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
364us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember / us-gaap_StatementGeographicalAxis = country_US
|
397us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember / us-gaap_StatementGeographicalAxis = country_US
|
|
Credit Card Receivable | External Programs | Non United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
14us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
16us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
|
Credit Card Receivable | Other | United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
3us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember / us-gaap_StatementGeographicalAxis = country_US
|
9us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember / us-gaap_StatementGeographicalAxis = country_US
|
|
Credit Card Receivable | Other | Non United States
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
105us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
111us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_CreditCardReceivablesMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember
|
|
Direct/Indirect Consumer
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
89us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember
|
117us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember
|
| Percent of balances current or less than 30 days past due |
86.05%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember
|
85.21%bac_FinancingReceivableModificationsRecordedInvestmentPercentofBalanceCurrentorLessThanThirtyDaysPastDue / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember
|
|
Direct/Indirect Consumer | Internal Programs
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
35us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember
|
50us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember / bac_LoanRestructuringModificationNameAxis = bac_InternalProgramsMember
|
|
Direct/Indirect Consumer | External Programs
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
24us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember
|
34us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember / bac_LoanRestructuringModificationNameAxis = bac_ExternalProgramsMember
|
|
Direct/Indirect Consumer | Other
|
|
|
| Financing Receivable, Modifications [Line Items] |
|
|
| Renegotiated TDRs |
$ 30us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember
|
$ 33us-gaap_FinancingReceivableModificationsRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = bac_CreditCardandOtherConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = bac_DirectandIndirectFinancingReceivableMember / bac_LoanRestructuringModificationNameAxis = bac_OtherProgramMember
|