XML 41 R166.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans - Wholesale Loan Portfolio - Impaired Loans (Details) (Wholesale, USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Commercial and industrial
     
Impaired loans:      
With an allowance $ 174us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
$ 236us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Without an allowance 24us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
58us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Total impaired loans 198us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
294us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Allowance for loan losses related to impaired loans 34us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
75us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Unpaid principal balance of impaired loans 266us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
448us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Average impaired loans 243us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
412us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
873us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_CommercialAndIndustrialMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
Real estate
     
Impaired loans:      
With an allowance 193us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
258us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Without an allowance 87us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
109us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Total impaired loans 280us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
367us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Allowance for loan losses related to impaired loans 36us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
63us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Unpaid principal balance of impaired loans 345us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
454us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Average impaired loans 297us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
484us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
784us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_RealEstateMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
Financial institutions
     
Impaired loans:      
With an allowance 15us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
17us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Without an allowance 3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
8us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Total impaired loans 18us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
25us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Allowance for loan losses related to impaired loans 4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
16us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Unpaid principal balance of impaired loans 22us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
24us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Average impaired loans 20us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
17us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
17us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_FinancialInstitutionsMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
Government agencies
     
Impaired loans:      
With an allowance 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Without an allowance 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Total impaired loans 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
1us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Allowance for loan losses related to impaired loans 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Unpaid principal balance of impaired loans 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
1us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Average impaired loans 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
9us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_GovernmentAgenciesMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
Other
     
Impaired loans:      
With an allowance 89us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
85us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Without an allowance 52us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
73us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Total impaired loans 141us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
158us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Allowance for loan losses related to impaired loans 13us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
27us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Unpaid principal balance of impaired loans 202us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
241us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Average impaired loans 155us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
211us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
277us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= jpm_WholesaleOtherMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
Commercial loan
     
Impaired loans:      
With an allowance 471us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
597us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Without an allowance 166us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
248us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Total impaired loans 637us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
845us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Allowance for loan losses related to impaired loans 87us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
181us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Unpaid principal balance of impaired loans 835us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
1,168us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Average impaired loans $ 715us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
$ 1,124us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember
$ 1,960us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ jpm_PortfolioSegmentAxis
= us-gaap_CommercialPortfolioSegmentMember