XML 23 R78.htm IDEA: XBRL DOCUMENT v2.4.1.9
Cat Financial Financing Activities (Details 2) (USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Dec. 31, 2014
Receivables [Abstract]    
Period after which Unpaid Installments are Considered as Past Due (in days) 30 days  
Period after which collection of future income is considered as not probable (in days) 120 days  
Aging related to loans and finance leases    
31-60 Days Past Due $ 274cat_FinancingReceivableRecordedInvestment31To60DaysPastDue $ 175cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
61-90 Days Past Due 119cat_FinancingReceivableRecordedInvestment61To90DaysPastDue 80cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
91+ Days Past Due 495cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue 396cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
Total Past Due 888us-gaap_FinancingReceivableRecordedInvestmentPastDue 651us-gaap_FinancingReceivableRecordedInvestmentPastDue
Current 22,234us-gaap_FinancingReceivableRecordedInvestmentCurrent 23,415us-gaap_FinancingReceivableRecordedInvestmentCurrent
Total Finance Receivables 23,122us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome 24,066us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
91+ Still Accruing 90cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing 35cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
North America    
Aging related to loans and finance leases    
Total Finance Receivables 9,531us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
9,462us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Europe    
Aging related to loans and finance leases    
Total Finance Receivables 2,554us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2,828us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Asia Pacific    
Aging related to loans and finance leases    
Total Finance Receivables 2,771us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
3,002us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Mining    
Aging related to loans and finance leases    
Total Finance Receivables 1,989us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
2,123us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Latin America    
Aging related to loans and finance leases    
Total Finance Receivables 3,117us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
3,503us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Caterpillar Power Finance    
Aging related to loans and finance leases    
Total Finance Receivables 3,160us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
3,148us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Customer    
Aging related to loans and finance leases    
Total Finance Receivables 19,584us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
20,512us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Investment in loans and finance leases on non-accrual status 598us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
468us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Customer | North America    
Aging related to loans and finance leases    
31-60 Days Past Due 37cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
46cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
61-90 Days Past Due 14cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
8cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91+ Days Past Due 35cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
27cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total Past Due 86us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
81us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Current 7,170us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
7,192us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total Finance Receivables 7,256us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
7,273us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91+ Still Accruing 9cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
4cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Investment in loans and finance leases on non-accrual status 31us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
27us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Customer | Europe    
Aging related to loans and finance leases    
31-60 Days Past Due 26cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
16cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
61-90 Days Past Due 15cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
23cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91+ Days Past Due 43cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
29cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total Past Due 84us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
68us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Current 2,335us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2,607us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total Finance Receivables 2,419us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2,675us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91+ Still Accruing 6cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
6cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Investment in loans and finance leases on non-accrual status 43us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
28us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Customer | Asia Pacific    
Aging related to loans and finance leases    
31-60 Days Past Due 73cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
29cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
61-90 Days Past Due 32cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
22cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91+ Days Past Due 64cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
69cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total Past Due 169us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
120us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Current 2,073us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
2,316us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total Finance Receivables 2,242us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
2,436us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91+ Still Accruing 24cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
16cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Investment in loans and finance leases on non-accrual status 44us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
54us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Customer | Mining    
Aging related to loans and finance leases    
31-60 Days Past Due 20cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
28cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
61-90 Days Past Due 10cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
91+ Days Past Due 76cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
11cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Total Past Due 106us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
39us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Current 1,883us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
2,084us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Total Finance Receivables 1,989us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
2,123us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
91+ Still Accruing 50cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Investment in loans and finance leases on non-accrual status 124us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
62us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Customer | Latin America    
Aging related to loans and finance leases    
31-60 Days Past Due 100cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
55cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
61-90 Days Past Due 47cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
23cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91+ Days Past Due 190cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
196cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total Past Due 337us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
274us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Current 2,181us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2,583us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total Finance Receivables 2,518us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2,857us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91+ Still Accruing 0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
8cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Investment in loans and finance leases on non-accrual status 213us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
201us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Customer | Caterpillar Power Finance    
Aging related to loans and finance leases    
31-60 Days Past Due 17cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
1cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
61-90 Days Past Due 1cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
4cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
91+ Days Past Due 87cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
64cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Total Past Due 105us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
69us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Current 3,055us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
3,079us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Total Finance Receivables 3,160us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
3,148us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
91+ Still Accruing 1cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
1cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Investment in loans and finance leases on non-accrual status 143us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
96us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Dealer    
Aging related to loans and finance leases    
Total Finance Receivables 3,538us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
3,554us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
Investment in loans and finance leases on non-accrual status 0us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
0us-gaap_LoansAndLeasesReceivableImpairedNonperformingNonaccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
Dealer | North America    
Aging related to loans and finance leases    
31-60 Days Past Due 0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
61-90 Days Past Due 0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91+ Days Past Due 0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Current 2,275us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2,189us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total Finance Receivables 2,275us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2,189us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91+ Still Accruing 0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Dealer | Europe    
Aging related to loans and finance leases    
31-60 Days Past Due 0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
61-90 Days Past Due 0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91+ Days Past Due 0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Current 135us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
153us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total Finance Receivables 135us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
153us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91+ Still Accruing 0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Dealer | Asia Pacific    
Aging related to loans and finance leases    
31-60 Days Past Due 1cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
61-90 Days Past Due 0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91+ Days Past Due 0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total Past Due 1us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Current 528us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
566us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total Finance Receivables 529us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
566us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91+ Still Accruing 0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Dealer | Mining    
Aging related to loans and finance leases    
31-60 Days Past Due 0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
61-90 Days Past Due 0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
91+ Days Past Due 0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Current 0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Total Finance Receivables 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
91+ Still Accruing 0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Dealer | Latin America    
Aging related to loans and finance leases    
31-60 Days Past Due 0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cat_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
61-90 Days Past Due 0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cat_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91+ Days Past Due 0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cat_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Current 599us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
646us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total Finance Receivables 599us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
646us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91+ Still Accruing 0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cat_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Dealer | Caterpillar Power Finance    
Aging related to loans and finance leases    
Total Finance Receivables $ 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
$ 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember