Outstanding Loans and Leases - Commerical Loans - Impaired Loans (Details) (Commercial, USD $)
In Millions, unless otherwise specified |
3 Months Ended | ||
---|---|---|---|
Mar. 31, 2015
|
Mar. 31, 2014
|
Dec. 31, 2014
|
|
Financing Receivable, Impaired [Line Items] | |||
Real estate acquired through foreclosure | $ 264us-gaap_RealEstateAcquiredThroughForeclosure | $ 67us-gaap_RealEstateAcquiredThroughForeclosure | |
U.S. Commercial
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With no recorded allowance |
626us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
668us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
With an allowance recorded |
1,061us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
1,139us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Total |
1,687us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
1,807us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With no recorded allowance |
605us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
650us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
With an allowance recorded |
827us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
839us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Total |
1,432us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
1,489us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Related Allowance |
76us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
75us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With no recorded allowance |
628us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
519us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
With an allowance recorded |
818us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
1,306us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Total |
1,446us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
1,825us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With no recorded allowance |
3bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
2bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
With an allowance recorded |
13bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
15bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Total |
16bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
17bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = country_US |
|
Non United States
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With no recorded allowance |
8us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
||
With an allowance recorded |
123us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
47us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Total |
131us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
47us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With no recorded allowance |
8us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
||
With an allowance recorded |
114us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
44us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Total |
122us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
44us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Related Allowance |
18us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
1us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With no recorded allowance |
4us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
10us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
With an allowance recorded |
66us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
71us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Total |
70us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
81us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With no recorded allowance |
0bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
0bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
With an allowance recorded |
1bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
1bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Total |
1bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
1bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_StatementGeographicalAxis = bac_NonUnitedStatesMember |
|
Commercial Real Estate
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With no recorded allowance |
110us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
60us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
With an allowance recorded |
425us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
678us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Total |
535us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
738us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With no recorded allowance |
93us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
48us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
With an allowance recorded |
230us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
495us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Total |
323us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
543us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Related Allowance |
26us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
48us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With no recorded allowance |
71us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
220us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
With an allowance recorded |
332us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
702us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Total |
403us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
922us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With no recorded allowance |
1bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
1bac_ImpairedFinancingReceivablewithNoRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
With an allowance recorded |
3bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
7bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Total |
4bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
8bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_RealEstateLoanMember |
|
Small Business Commercial
|
|||
Impaired Financing Receivable, Unpaid Principal Balance [Abstract] | |||
With an allowance recorded |
105us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
133us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Total |
105us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
133us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Impaired Financing Receivable, Recorded Investment [Abstract] | |||
With an allowance recorded |
118us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
122us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Total |
118us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
122us-gaap_ImpairedFinancingReceivableRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Related Allowance |
35us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
35us-gaap_ImpairedFinancingReceivableRelatedAllowance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Impaired Financing Receivable, Average Recorded Investment [Abstract] | |||
With an allowance recorded |
121us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
170us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Total |
121us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
170us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Impaired Financing Receivable, Interest Income, Accrual and Cash Basis Method [Abstract] | |||
With an allowance recorded |
0bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
1bac_ImpairedFinancingReceivablewithRelatedAllowanceInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
|
Total |
$ 0bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
$ 1bac_ImpairedFinancingReceivableInterestIncomeAccrualMethodandCashMethod / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_CommercialPortfolioSegmentMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = bac_SmallBusinessFinancingReceivableMember |
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 | ||||||||||
- 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
Carrying amount as of the balance sheet date of land and buildings obtained through foreclosure proceedings or defeasance in full or partial satisfaction of a debt arrangement. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|