|
Outstanding Loans and Leases - Home Loans - TDRs Entered into During the Period (Details) (USD $)
In Millions, unless otherwise specified |
12 Months Ended | ||
|---|---|---|---|
|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
|
| Financing Receivable, Modifications [Line Items] | |||
| Threshold period past due for nonperforming status of financing receivables | 90 days | ||
| Residential Portfolio Segment | |||
| Financing Receivable, Modifications [Line Items] | |||
| Unpaid Principal Balance |
$ 6,803bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
$ 12,111bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
$ 16,809bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
| Carrying Value |
5,712us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
10,537us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
13,086us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
| Pre-Modification Interest Rate |
5.12%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
5.30%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
5.49%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
| Post-Modification Interest Rate |
4.73%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
4.24%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
4.66%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
| Net Charge-offs |
171us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
427us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
1,239us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember |
| Residential Portfolio Segment | Residential Mortgage | |||
| Financing Receivable, Modifications [Line Items] | |||
| Threshold period considered past due after modification | 90 days | ||
| Unpaid Principal Balance |
5,940bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
11,233bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
15,088bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
| Carrying Value |
5,120us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
10,016us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
12,228us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
| Pre-Modification Interest Rate |
5.28%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
5.30%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
5.52%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
| Post-Modification Interest Rate |
4.93%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
4.27%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
4.70%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
| Net Charge-offs |
72us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
235us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
523us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
| Principal Forgiveness |
53bac_FinancingReceivableModificationsPrincipalForgiveness / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
467bac_FinancingReceivableModificationsPrincipalForgiveness / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
778bac_FinancingReceivableModificationsPrincipalForgiveness / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember |
| Residential Portfolio Segment | Home equity lines of credit | |||
| Financing Receivable, Modifications [Line Items] | |||
| Unpaid Principal Balance |
863bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
878bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
1,721bac_FinancingReceivableModificationsPostModificationUnpaidPrincipalBalance / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
| Carrying Value |
592us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
521us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
858us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
| Pre-Modification Interest Rate |
4.00%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
5.29%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
5.22%bac_FinancingReceivableModificationsPreModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
| Post-Modification Interest Rate |
3.33%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
3.92%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
4.39%bac_FinancingReceivableModificationsPostModificationInterestRate / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
| Net Charge-offs |
99us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
192us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
716us-gaap_FinancingReceivablesImpairedTroubledDebtRestructuringWriteDown / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
| Principal Forgiveness |
1bac_FinancingReceivableModificationsPrincipalForgiveness / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
9bac_FinancingReceivableModificationsPrincipalForgiveness / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember |
|
| Chapter Seven Bankruptcy | Residential Portfolio Segment | |||
| Financing Receivable, Modifications [Line Items] | |||
| Carrying Value |
710us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
1,429us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
3,534us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
| Chapter Seven Bankruptcy | Residential Portfolio Segment | Residential Mortgage | |||
| Financing Receivable, Modifications [Line Items] | |||
| Carrying Value |
521us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
1,151us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
2,936us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
| Chapter Seven Bankruptcy | Residential Portfolio Segment | Home equity lines of credit | |||
| Financing Receivable, Modifications [Line Items] | |||
| Carrying Value |
$ 189us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
$ 278us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
$ 598us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationNameAxis = bac_ChapterSevenBankruptcyMember |
| Nonperforming Financing Receivable | Chapter Seven Bankruptcy | |||
| Financing Receivable, Modifications [Line Items] | |||
| Threshold period past due for nonperforming status of financing receivables | 90 days | ||
| X | ||||||||||
|
- Definition
Financing Receivable, Modifications, Post-Modification Interest Rate No definition available.
|
| X | ||||||||||
|
- Definition
Financing Receivable, Modifications, Unpaid Principal Balance No definition available.
|
| X | ||||||||||
|
- Definition
Financing Receivable, Modifications, Pre-Modification Interest Rate No definition available.
|
| X | ||||||||||
|
- Definition
This represents the amount of principal forgiven in a troubled debt restructuring modification. No definition available.
|
| X | ||||||||||
|
- Definition
Threshold Period Past Due after Modification of Financing Receivable No definition available.
|
| X | ||||||||||
|
- Definition
Threshold Period Past Due for Nonperforming Status of Financing Receivables No definition available.
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Definition
Post-modification amount of investment in financing receivables modified by troubled debt restructurings. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Reflects the amount of the write-down related to a troubled debt restructuring. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|