XML 33 R77.htm IDEA: XBRL DOCUMENT v2.4.1.9
Cat Financial Financing Activities (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Dec. 31, 2014
Receivables [Abstract]      
Period after which collection of future income is considered as not probable (in days) 120 days    
Customer      
Impaired finance receivables      
Recorded Investment With No Allowance Recorded $ 401us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  $ 251us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Unpaid Principal Balance With No Allowance Recorded 400us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  249us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Related Allowance With No Allowance Recorded 0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Recorded Investment With An Allowance Recorded 262us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  362us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Unpaid Principal Balance With An Allowance Recorded 261us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  360us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Related Allowance With An Allowance Recorded 74us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  75us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Recorded Investment, Total 663us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  613us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Unpaid Principal Balance, Total 661us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  609us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Related Allowance, Total 74us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
  75us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
Average Recorded Investment With No Allowance Recorded 330us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
435us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Interest Income Recognized With No Allowance Recorded 3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
5us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Average Recorded Investment With An Allowance Recorded 283us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
173us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Interest Income Recognized With An Allowance Recorded 2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Average Recorded Investment, Total 613us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
608us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Interest Income Recognized, Total 5us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
6us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
 
Customer | North America      
Impaired finance receivables      
Recorded Investment With No Allowance Recorded 13us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  14us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Unpaid Principal Balance With No Allowance Recorded 13us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  14us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Related Allowance With No Allowance Recorded 0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Recorded Investment With An Allowance Recorded 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Unpaid Principal Balance With An Allowance Recorded 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Related Allowance With An Allowance Recorded 2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Recorded Investment, Total 19us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  20us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Unpaid Principal Balance, Total 19us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  20us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Related Allowance, Total 2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
  1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Average Recorded Investment With No Allowance Recorded 14us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
25us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Interest Income Recognized With No Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Average Recorded Investment With An Allowance Recorded 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
10us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Interest Income Recognized With An Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Average Recorded Investment, Total 20us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
35us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Interest Income Recognized, Total 0us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
 
Customer | Europe      
Impaired finance receivables      
Recorded Investment With No Allowance Recorded 43us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  44us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Unpaid Principal Balance With No Allowance Recorded 43us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  43us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Related Allowance With No Allowance Recorded 0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Recorded Investment With An Allowance Recorded 17us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  12us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Unpaid Principal Balance With An Allowance Recorded 17us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  12us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Related Allowance With An Allowance Recorded 4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Recorded Investment, Total 60us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  56us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Unpaid Principal Balance, Total 60us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  55us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Related Allowance, Total 4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
  4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Average Recorded Investment With No Allowance Recorded 44us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
48us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Interest Income Recognized With No Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Average Recorded Investment With An Allowance Recorded 14us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
19us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Interest Income Recognized With An Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Average Recorded Investment, Total 58us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
67us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Interest Income Recognized, Total 0us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
 
Customer | Asia Pacific      
Impaired finance receivables      
Recorded Investment With No Allowance Recorded 5us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Unpaid Principal Balance With No Allowance Recorded 5us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Related Allowance With No Allowance Recorded 0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Recorded Investment With An Allowance Recorded 25us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Unpaid Principal Balance With An Allowance Recorded 24us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Related Allowance With An Allowance Recorded 8us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  8us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Recorded Investment, Total 30us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  30us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Unpaid Principal Balance, Total 29us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  30us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Related Allowance, Total 8us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
  8us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Average Recorded Investment With No Allowance Recorded 3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
 
Interest Income Recognized With No Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
 
Average Recorded Investment With An Allowance Recorded 26us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
14us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
 
Interest Income Recognized With An Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
 
Average Recorded Investment, Total 29us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
20us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
 
Interest Income Recognized, Total 0us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
 
Customer | Mining      
Impaired finance receivables      
Recorded Investment With No Allowance Recorded 119us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  29us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Unpaid Principal Balance With No Allowance Recorded 119us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  29us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Related Allowance With No Allowance Recorded 0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Recorded Investment With An Allowance Recorded 43us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  138us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Unpaid Principal Balance With An Allowance Recorded 43us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  137us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Related Allowance With An Allowance Recorded 6us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Recorded Investment, Total 162us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  167us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Unpaid Principal Balance, Total 162us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  166us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Related Allowance, Total 6us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
  9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
Average Recorded Investment With No Allowance Recorded 102us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
134us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Interest Income Recognized With No Allowance Recorded 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Average Recorded Investment With An Allowance Recorded 63us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
24us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Interest Income Recognized With An Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Average Recorded Investment, Total 165us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
158us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Interest Income Recognized, Total 3us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
2us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_MiningMember
 
Customer | Latin America      
Impaired finance receivables      
Recorded Investment With No Allowance Recorded 32us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Unpaid Principal Balance With No Allowance Recorded 32us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Related Allowance With No Allowance Recorded 0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Recorded Investment With An Allowance Recorded 48us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  42us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Unpaid Principal Balance With An Allowance Recorded 48us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  42us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Related Allowance With An Allowance Recorded 16us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  12us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Recorded Investment, Total 80us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  76us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Unpaid Principal Balance, Total 80us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  76us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Related Allowance, Total 16us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
  12us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Average Recorded Investment With No Allowance Recorded 32us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
17us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Interest Income Recognized With No Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Average Recorded Investment With An Allowance Recorded 46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
24us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Interest Income Recognized With An Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Average Recorded Investment, Total 78us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
41us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Interest Income Recognized, Total 1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
 
Customer | Caterpillar Power Finance      
Impaired finance receivables      
Recorded Investment With No Allowance Recorded 189us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  129us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Unpaid Principal Balance With No Allowance Recorded 188us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  128us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Related Allowance With No Allowance Recorded 0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  0cat_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Recorded Investment With An Allowance Recorded 123us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  135us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Unpaid Principal Balance With An Allowance Recorded 123us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  134us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Related Allowance With An Allowance Recorded 38us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  41us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Recorded Investment, Total 312us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  264us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Unpaid Principal Balance, Total 311us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  262us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Related Allowance, Total 38us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
  41us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
Average Recorded Investment With No Allowance Recorded 135us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
205us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Interest Income Recognized With No Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Average Recorded Investment With An Allowance Recorded 128us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
82us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Interest Income Recognized With An Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Average Recorded Investment, Total 263us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
287us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Interest Income Recognized, Total 1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
3us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_CustomerMember
/ cat_ImpairedFinancingReceivableAxis
= cat_CaterpillarPowerFinanceMember
 
Dealer      
Impaired finance receivables      
Recorded Investment, Total 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
  0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
Average Recorded Investment, Total $ 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember
$ 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cat_DealerMember