XML 32 R81.htm IDEA: XBRL DOCUMENT v2.4.1.9
Cat Financial Financing Activities (Details 5) (USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Contracts
Mar. 31, 2014
Contracts
Dec. 31, 2014
Customer      
Finance receivables modified as TDRs      
Number of Contracts (in contracts) 5us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
9us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Pre-TDR Outstanding Recorded Investment $ 84us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
$ 48us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Post-TDR Outstanding Recorded Investment 81us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
46us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
TDRs with a payment default which had been modified within twelve months prior to the default date      
Number of Contracts (in contracts) 5us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
14us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Post-TDR Recorded Investment 1us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
2us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Customer | North America      
Finance receivables modified as TDRs      
Number of Contracts (in contracts) 3us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
3us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Pre-TDR Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Post-TDR Outstanding Recorded Investment 1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
TDRs with a payment default which had been modified within twelve months prior to the default date      
Number of Contracts (in contracts) 4us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
7us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Post-TDR Recorded Investment 1us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Customer | Europe      
Finance receivables modified as TDRs      
Number of Contracts (in contracts) 0us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
3us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Pre-TDR Outstanding Recorded Investment 0us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
5us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Post-TDR Outstanding Recorded Investment 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
5us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
TDRs with a payment default which had been modified within twelve months prior to the default date      
Number of Contracts (in contracts) 0us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
7us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Post-TDR Recorded Investment 0us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Customer | Mining      
Finance receivables modified as TDRs      
Number of Contracts (in contracts) 0us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Pre-TDR Outstanding Recorded Investment 0us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
11us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Post-TDR Outstanding Recorded Investment 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
10us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Customer | Latin America      
Finance receivables modified as TDRs      
Number of Contracts (in contracts) 0us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Pre-TDR Outstanding Recorded Investment 0us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
29us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Post-TDR Outstanding Recorded Investment 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
28us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
TDRs with a payment default which had been modified within twelve months prior to the default date      
Number of Contracts (in contracts) 1us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Post-TDR Recorded Investment 0us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Customer | Caterpillar Power Finance      
Finance receivables modified as TDRs      
Number of Contracts (in contracts) 2us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Pre-TDR Outstanding Recorded Investment 83us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
1us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Post-TDR Outstanding Recorded Investment 80us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
1us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Dealer      
Finance receivables modified as TDRs      
Number of Contracts (in contracts) 0us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
   
Finance Receivable [Member] | Customer      
Finance receivables modified as TDRs      
Remaining Commitments $ 0us-gaap_LoansAndLeasesReceivableImpairedCommitmentToLend
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= cat_FinanceReceivableMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  $ 0us-gaap_LoansAndLeasesReceivableImpairedCommitmentToLend
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= cat_FinanceReceivableMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember