XML 53 R45.htm IDEA: XBRL DOCUMENT v2.4.1.9
Financing Activities (Details 3) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Receivables [Abstract]      
Period after which unpaid installments are considered as past due 30 days    
Period after which collection of future income is considered as not probable 120 days    
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due $ 208cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue $ 258cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue $ 206cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
61-90 Days Past Due 91cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue 134cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue 73cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
91 Plus Days Past Due 403cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue 384cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue 436cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
Total Past Due 702us-gaap_FinancingReceivableRecordedInvestmentPastDue 776us-gaap_FinancingReceivableRecordedInvestmentPastDue 715us-gaap_FinancingReceivableRecordedInvestmentPastDue
Current 28,773us-gaap_FinancingReceivableRecordedInvestmentCurrent 28,290us-gaap_FinancingReceivableRecordedInvestmentCurrent 27,853us-gaap_FinancingReceivableRecordedInvestmentCurrent
Total gross finance receivables 29,475us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome 29,066us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome 28,568us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
91 Plus, Still Accruing 38cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing 33cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing 37cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
Investment in loans and finance leases on non-accrual status 468us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest 456us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest 528us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
North America      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 12,526us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
11,186us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
10,271us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Europe      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 3,581us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
3,871us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
3,539us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Asia/Pacific      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 3,931us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
4,492us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
5,282us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Mining      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 2,126us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
2,148us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1,974us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Latin America      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 4,141us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
4,269us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
4,319us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Caterpillar Power Finance      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 3,170us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
3,100us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
3,183us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Customer      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 21,068us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
20,720us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
19,868us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Customer | North America      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 46cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
37cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
35cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
61-90 Days Past Due 8cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
12cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
8cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91 Plus Days Past Due 27cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
24cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
52cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total Past Due 81us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
73us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
95us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Current 7,291us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
6,507us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
5,889us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total gross finance receivables 7,372us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
6,580us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
5,984us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91 Plus, Still Accruing 4cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
6cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
3cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Investment in loans and finance leases on non-accrual status 27us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
26us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
59us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Customer | Europe      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 16cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
26cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
23cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
61-90 Days Past Due 23cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
15cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
9cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91 Plus Days Past Due 29cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
29cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
36cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total Past Due 68us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
70us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
68us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Current 2,607us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2,805us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2,487us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total gross finance receivables 2,675us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2,875us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2,555us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91 Plus, Still Accruing 6cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
8cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
9cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Investment in loans and finance leases on non-accrual status 28us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
28us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
38us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Customer | Asia/Pacific      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 29cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
55cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
53cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
61-90 Days Past Due 22cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
46cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
19cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91 Plus Days Past Due 69cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
59cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
54cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total Past Due 120us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
160us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
126us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Current 2,773us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
3,158us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
3,343us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total gross finance receivables 2,893us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
3,318us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
3,469us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91 Plus, Still Accruing 16cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
11cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
18cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Investment in loans and finance leases on non-accrual status 54us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
50us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
36us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Customer | Mining      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 28cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
3cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
91 Plus Days Past Due 11cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
12cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
12cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Total Past Due 39us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
15us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
13us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Current 2,084us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
2,128us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1,960us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Total gross finance receivables 2,123us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
2,143us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1,973us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Investment in loans and finance leases on non-accrual status 62us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
23us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
12us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Customer | Latin America      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 55cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
54cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
62cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
61-90 Days Past Due 23cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
25cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
19cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91 Plus Days Past Due 196cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
196cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
153cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total Past Due 274us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
275us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
234us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Current 2,583us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2,438us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2,481us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total gross finance receivables 2,857us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2,713us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2,715us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91 Plus, Still Accruing 8cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
5cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Investment in loans and finance leases on non-accrual status 201us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
210us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
163us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Customer | Caterpillar Power Finance      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 1cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
55cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
15cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
61-90 Days Past Due 4cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
30cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
14cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
91 Plus Days Past Due 64cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
60cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
126cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Total Past Due 69us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
145us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
155us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Current 3,079us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
2,946us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
3,017us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Total gross finance receivables 3,148us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
3,091us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
3,172us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
91 Plus, Still Accruing 1cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
4cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Investment in loans and finance leases on non-accrual status 96us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
119us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
220us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Dealer      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 5,169us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
5,254us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
5,586us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
Investment in loans and finance leases on non-accrual status 0us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
0us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
0us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
Dealer | North America      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Current 3,209us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
3,034us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2,931us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total gross finance receivables 3,209us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
3,034us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2,931us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Dealer | Europe      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Current 467us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
569us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
652us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total gross finance receivables 467us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
569us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
652us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Dealer | Asia/Pacific      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Current 637us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
706us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
945us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total gross finance receivables 637us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
706us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
945us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Dealer | Mining      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Current 3us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
5us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Total gross finance receivables 3us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
5us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Dealer | Latin America      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Current 853us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
940us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
1,057us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total gross finance receivables 853us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
940us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
1,057us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Dealer | Caterpillar Power Finance      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Current 0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Total gross finance receivables 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Caterpillar Purchased Receivables      
Financing Receivable, Recorded Investment, Past Due      
Total gross finance receivables 3,238us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
3,092us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
3,114us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
Investment in loans and finance leases on non-accrual status   0us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
0us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
Caterpillar Purchased Receivables | North America      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 23cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
26cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
17cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
61-90 Days Past Due 5cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
5cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
3cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91 Plus Days Past Due 1cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total Past Due 29us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
33us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
22us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Current 1,916us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1,539us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1,334us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Total gross finance receivables 1,945us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1,572us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1,356us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
91 Plus, Still Accruing 1cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
2cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Caterpillar Purchased Receivables | Europe      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 4cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
61-90 Days Past Due 1cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91 Plus Days Past Due 5cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total Past Due 10us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
4us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Current 429us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
423us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
331us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Total gross finance receivables 439us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
427us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
332us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
91 Plus, Still Accruing 1cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Investment in loans and finance leases on non-accrual status 4us-gaap_LoansAndLeasesReceivableImpairedNonperformingAccrualOfInterest
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
   
Caterpillar Purchased Receivables | Asia/Pacific      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Current 401us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
468us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
868us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Total gross finance receivables 401us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
468us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
868us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Caterpillar Purchased Receivables | Mining      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Current 0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Total gross finance receivables 0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Caterpillar Purchased Receivables | Latin America      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 6cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
61-90 Days Past Due 5cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91 Plus Days Past Due 0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total Past Due 11us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Current 420us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
616us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
547us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Total gross finance receivables 431us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
616us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
547us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
91 Plus, Still Accruing 0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Caterpillar Purchased Receivables | Caterpillar Power Finance      
Financing Receivable, Recorded Investment, Past Due      
31-60 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment31To60DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
61-90 Days Past Due 0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_FinancingReceivableRecordedInvestment61To90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
91 Plus Days Past Due 1cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
1cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
1cfsc_FinancingReceivableRecordedInvestmentGreaterThan91DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Total Past Due 1us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
1us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
1us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Current 21us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
8us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
10us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Total gross finance receivables 22us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
9us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
11us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
91 Plus, Still Accruing $ 1cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
$ 1cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
$ 1cfsc_FinancingReceivableRecordedInvestment91DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember