Outstanding Loans and Leases - Consumer Real Estate - TDRs Entering Payment Default That Were Modified During the Preceding 12 Months (Details) (Consumer Real Estate, USD $)
|
3 Months Ended |
Mar. 31, 2015
|
Mar. 31, 2014
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
$ 2,033,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
|
$ 1,331,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
|
Residential Mortgage
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Number of missing payments causing default |
3bac_FinancingReceivableModificationsNumberofMissingPaymentsCausingDefault / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember
|
|
Threshold period past due after modification of financing receivable |
90 days
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
1,986,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember
|
1,326,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember
|
Home equity
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
47,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember
|
5,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember
|
Modifications under government programs
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
108,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_GovernmentModificationsMember
|
159,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_GovernmentModificationsMember
|
Modifications under government programs | Residential Mortgage
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
107,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_GovernmentModificationsMember
|
158,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_GovernmentModificationsMember
|
Modifications under government programs | Home equity
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
1,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_GovernmentModificationsMember
|
1,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_GovernmentModificationsMember
|
Modifications under proprietary programs
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
52,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_ProprietaryModificationsMember
|
272,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_ProprietaryModificationsMember
|
Modifications under proprietary programs | Residential Mortgage
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
40,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_ProprietaryModificationsMember
|
272,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_ProprietaryModificationsMember
|
Modifications under proprietary programs | Home equity
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
12,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_ProprietaryModificationsMember
|
0us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_ProprietaryModificationsMember
|
Loans discharged in Chapter 7 bankruptcy
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
81,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_ChapterSevenBankruptcyMember
|
122,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_ChapterSevenBankruptcyMember
|
Loans discharged in Chapter 7 bankruptcy | Residential Mortgage
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
71,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_ChapterSevenBankruptcyMember
|
121,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_ChapterSevenBankruptcyMember
|
Loans discharged in Chapter 7 bankruptcy | Home equity
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
10,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_ChapterSevenBankruptcyMember
|
1,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_ChapterSevenBankruptcyMember
|
Trial modifications
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
1,792,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_TrialModificationsMember
|
778,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_TrialModificationsMember
|
Loans in which customer did not response with payment to Department of Justice mailings |
1,400,000,000bac_FinancingReceivableModificationsSubsequentDefaultRecordedInvestmentDepartmentofJusticeMailingsWithNoCustomerResponse / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / bac_LoanRestructuringModificationAxis = bac_TrialModificationsMember
|
|
Trial modifications | Residential Mortgage
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
1,768,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_TrialModificationsMember
|
775,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_ResidentialMortgageMember / bac_LoanRestructuringModificationAxis = bac_TrialModificationsMember
|
Trial modifications | Home equity
|
|
|
Financing Receivable, Modifications [Line Items] |
|
|
Trouble debt restructurings entered payment default that were modified during the preceding twelve months |
$ 24,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_TrialModificationsMember
|
$ 3,000,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 / bac_FinancingReceivablePortfolioSegmentAxis = us-gaap_ResidentialPortfolioSegmentMember / us-gaap_FinancingReceivableTroubledDebtRestructuringAxis = us-gaap_HomeEquityMember / bac_LoanRestructuringModificationAxis = bac_TrialModificationsMember
|