Fair Value Option - Changes in FV of Assets and Liabilities (Details) (USD $) In Millions, unless otherwise specified
|
3 Months Ended |
Mar. 31, 2015
|
Mar. 31, 2014
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
$ 469us-gaap_FairValueOptionChangesInFairValueGainLoss1
|
$ (29)us-gaap_FairValueOptionChangesInFairValueGainLoss1
|
Federal funds sold and securities borrowed or purchased under agreements to resell |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(64)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
|
(20)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember
|
Loans reported as trading account assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Fair value option, changes in borrower specific credit risk, gains (losses) on assets |
8us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember
|
0us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(101)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember
|
34us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember
|
Trading inventory – other |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(14)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember
|
(168)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember
|
Loans and leases |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Fair value option, changes in borrower specific credit risk, gains (losses) on assets |
(28)us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember
|
36us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(48)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember
|
57us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember
|
Loans held-for-sale |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Fair value option, changes in borrower specific credit risk, gains (losses) on assets |
39us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember
|
27us-gaap_FairValueOptionCreditRiskGainsLossesOnAssets / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
208us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember
|
194us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember
|
Other assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
8us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember
|
(2)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember
|
Long-term deposits |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(9)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember
|
4us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember
|
Federal funds purchased and securities loaned or sold under agreements to repurchase |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
54us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
|
(2)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember
|
Unfunded loan commitments |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
118us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember
|
9us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember
|
Short-term borrowings |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(1)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember
|
36us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember
|
Long-term debt |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
318us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember
|
(171)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember
|
Trading Account Profits (Losses) |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
111us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(471)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Federal funds sold and securities borrowed or purchased under agreements to resell |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(64)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(20)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Loans reported as trading account assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(101)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
34us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Trading inventory – other |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(14)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(168)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Loans and leases |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
35us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
5us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Loans held-for-sale |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(47)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(1)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Other assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Long-term deposits |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(4)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
13us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Federal funds purchased and securities loaned or sold under agreements to repurchase |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
54us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(2)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Unfunded loan commitments |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Short-term borrowings |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(1)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
36us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Long-term debt |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
253us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(368)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Mortgage Banking Income (Loss) |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
192us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
155us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Federal funds sold and securities borrowed or purchased under agreements to resell |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Loans reported as trading account assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Trading inventory – other |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Loans and leases |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Loans held-for-sale |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
192us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
155us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Other assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Long-term deposits |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Federal funds purchased and securities loaned or sold under agreements to repurchase |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Unfunded loan commitments |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Short-term borrowings |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Long-term debt |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Other Income (Loss) |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
166us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
287us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Federal funds sold and securities borrowed or purchased under agreements to resell |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Loans reported as trading account assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Trading inventory – other |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_TradingInventoryOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Loans and leases |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(83)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
52us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Loans held-for-sale |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
63us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
40us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Other assets |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
8us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
(2)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Long-term deposits |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
(5)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
(9)us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_LongTermDepositsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Federal funds purchased and securities loaned or sold under agreements to repurchase |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FederalFundsPurchasedAndSecuritiesSoldUnderAgreementsToRepurchaseMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Unfunded loan commitments |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
118us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
9us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = bac_UnfundedLoanCommitmentMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Short-term borrowings |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other Income (Loss) | Long-term debt |
|
|
Fair Value, Option, Quantitative Disclosures [Line Items] |
|
|
Gains (Losses) Relating to Assets and Liabilities Accounted for Under the Fair Value Option |
$ 65us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
$ 197us-gaap_FairValueOptionChangesInFairValueGainLoss1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|