Outstanding Loans and Leases - Credit Card and Other Consumer - Impaired Loans (Details) (Consumer Portfolio Segment, USD $)
In Millions, unless otherwise specified |
12 Months Ended | ||
---|---|---|---|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
|
Financing Receivable, Impaired [Line Items] | |||
Fixed payment plan period for loans modified | 60 months | ||
Threshold period past due for write-off of financing receivable | 180 days | ||
Threshold period past due for write-off of financing receivable after placed on fixed payment plan | 120 days | ||
Direct/Indirect Consumer
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With no recorded allowance |
$ 59us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
$ 75us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
|
With an allowance recorded |
76us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
242us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
|
Total |
135us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
317us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With no recorded allowance |
25us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
32us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
|
With an allowance recorded |
92us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
282us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
|
Total |
117us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
314us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
|
Related Allowance |
24us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
84us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With no recorded allowance |
27us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
42us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
58us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
With an allowance recorded |
180us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
456us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
929us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
Total |
207us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
498us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
987us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With no recorded allowance |
0bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
0bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
0bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
With an allowance recorded |
9bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
24bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
50bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
Total |
9bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
24bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
50bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_DirectandIndirectFinancingReceivableMember |
Other consumer
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With no recorded allowance |
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
|
With an allowance recorded |
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
27us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
|
Total |
0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
61us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With no recorded allowance |
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
|
With an allowance recorded |
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
26us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
|
Total |
0us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
60us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
|
Related Allowance |
0us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
9us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With no recorded allowance |
33us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
35us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
With an allowance recorded |
23us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
28us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
Total |
56us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
62us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
64us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With no recorded allowance |
2bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
2bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
2bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
With an allowance recorded |
1bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
2bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
2bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
Total |
3bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
4bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
4bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_OtherFinancingReceivablesMember |
United States | Credit Card Receivable
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With an allowance recorded |
804us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
1,384us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
|
Total |
804us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
1,384us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With an allowance recorded |
856us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
1,465us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
|
Total |
856us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
1,465us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
|
Related Allowance |
207us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
337us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With an allowance recorded |
1,148us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
2,144us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
4,085us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
Total |
1,148us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
2,144us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
4,085us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With an allowance recorded |
71bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
134bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
253bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
Total |
71bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
134bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
253bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = country_US |
Non United States | Credit Card Receivable
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With an allowance recorded |
132us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
200us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Total |
132us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
200us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With an allowance recorded |
168us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
240us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Total |
168us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
240us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Related Allowance |
108us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
149us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With an allowance recorded |
210us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
266us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
464us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
Total |
210us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
266us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
464us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With an allowance recorded |
6bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
7bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
10bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
Total |
$ 6bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
$ 7bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
$ 10bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ConsumerPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CreditCardReceivablesMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
X | ||||||||||
- Definition
Financing Receivable, Fixed Payment Plan Period for Loans Modified No definition available.
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Impaired Financing Receivable, Interest Income, Accrual Method and Cash Method No definition available.
|
X | ||||||||||
- Definition
Impaired Financing Receivable, with No Related Allowance, Interest Income, Accrual Method and Cash Method No definition available.
|
X | ||||||||||
- Definition
Impaired Financing Receivable, with Related Allowance, Interest Income, Accrual Method and Cash Method No definition available.
|
X | ||||||||||
- Definition
Threshold Period Past Due for Write-off of Financing Receivable after Placed on Fixed Payment Plan No definition available.
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Average amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of allowance for credit losses related to recorded investment. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of unpaid principal balance of impaired financing receivables with related allowance for credit losses and without related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of average investment of impaired financing receivables for which there is no related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of investment in impaired financing receivables for which there is no related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of unpaid principal balance of impaired financing receivables for which there is no related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of average investment of impaired financing receivables for which there is a related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of investment in impaired financing receivables for which there is a related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Unpaid principal balance of impaired financing receivables for which there is a related allowance for credit losses. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Threshold period past due for financing receivable to write off as uncollectible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. No definition available.
|