XML 42 R70.htm IDEA: XBRL DOCUMENT v2.4.1.9
Derivative financial instruments and risk management (Details 4) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Designated derivatives | Fair Value Hedges      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives $ (41)us-gaap_ChangeInUnrealizedGainLossOnFairValueHedgingInstruments1
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
$ (107)us-gaap_ChangeInUnrealizedGainLossOnFairValueHedgingInstruments1
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
$ (20)us-gaap_ChangeInUnrealizedGainLossOnFairValueHedgingInstruments1
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Gains (Losses) on Borrowings 23us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
114us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
36us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Designated derivatives | Fair Value Hedges | Interest rate contracts | Financial Products | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives (41)us-gaap_ChangeInUnrealizedGainLossOnFairValueHedgingInstruments1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
(107)us-gaap_ChangeInUnrealizedGainLossOnFairValueHedgingInstruments1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
(20)us-gaap_ChangeInUnrealizedGainLossOnFairValueHedgingInstruments1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
Gains (Losses) on Borrowings 23us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
114us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
36us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
Designated derivatives | Cash Flow Hedges      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Recognized in AOCI (Effective Portion) (187)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
(6)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
(77)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Amount of Gains (Losses) Reclassified from AOCI to Earnings (6)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
(66)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
(26)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Recognized in Earnings (Ineffective Portion) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
(1)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Designated derivatives | Cash Flow Hedges | Foreign exchange contracts | Machinery, Energy & Transportation      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Recognized in AOCI (Effective Portion) (118)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
(4)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
(78)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
Designated derivatives | Cash Flow Hedges | Foreign exchange contracts | Machinery, Energy & Transportation | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Reclassified from AOCI to Earnings 5us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
(57)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
(30)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
Recognized in Earnings (Ineffective Portion) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
Gains (Losses) reclassified from AOCI to earnings for derivatives dedesignated as related transactions are no longer probable to occur   (3)us-gaap_GainLossOnDiscontinuationOfCashFlowHedgeDueToForecastedTransactionProbableOfNotOccurringNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
(7)us-gaap_GainLossOnDiscontinuationOfCashFlowHedgeDueToForecastedTransactionProbableOfNotOccurringNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
Designated derivatives | Cash Flow Hedges | Interest rate contracts | Machinery, Energy & Transportation      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Recognized in AOCI (Effective Portion) (63)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
 
Designated derivatives | Cash Flow Hedges | Interest rate contracts | Machinery, Energy & Transportation | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Reclassified from AOCI to Earnings   (3)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
 
Recognized in Earnings (Ineffective Portion)   0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
 
Designated derivatives | Cash Flow Hedges | Interest rate contracts | Machinery, Energy & Transportation | Interest expense      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Reclassified from AOCI to Earnings (5)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
   
Recognized in Earnings (Ineffective Portion) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
   
Designated derivatives | Cash Flow Hedges | Interest rate contracts | Financial Products      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Recognized in AOCI (Effective Portion) (6)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
(2)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
1us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
Designated derivatives | Cash Flow Hedges | Interest rate contracts | Financial Products | Interest expense      
Derivative Instruments Gain (Loss)      
Amount of Gains (Losses) Reclassified from AOCI to Earnings (6)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
(6)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
4us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
Recognized in Earnings (Ineffective Portion) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
1us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
(1)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
Undesignated derivatives      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives Not Designated as Hedging Instruments (120)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
18us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
72us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Undesignated derivatives | Foreign exchange contracts | Machinery, Energy & Transportation | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives Not Designated as Hedging Instruments (60)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
17us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
62us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
Undesignated derivatives | Foreign exchange contracts | Financial Products | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives Not Designated as Hedging Instruments (47)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
8us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
6us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
Undesignated derivatives | Interest rate contracts | Machinery, Energy & Transportation | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives Not Designated as Hedging Instruments 2us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
(1)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
2us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
Undesignated derivatives | Interest rate contracts | Financial Products | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives Not Designated as Hedging Instruments 0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
(3)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_FinancialProductsMember
Undesignated derivatives | Commodity contracts | Machinery, Energy & Transportation | Other Income (Expense)      
Derivative Instruments Gain (Loss)      
Gains (Losses) on Derivatives Not Designated as Hedging Instruments $ (15)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
$ (3)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember
$ 2us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= cat_OtherIncomeExpenseMember
/ us-gaap_StatementBusinessSegmentsAxis
= cat_MachineryEnergyTransportationMember