XML 44 R44.htm IDEA: XBRL DOCUMENT v2.4.1.9
Financing Activities (Details 2) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Customer      
Financing Receivable, Impaired      
Recorded Investment With No Allowance Recorded $ 252us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
$ 446us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
$ 378us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Unpaid Principal Balance With No Allowance Recorded 250us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
443us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
377us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Related Allowance With No Allowance Recorded 0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Recorded Investment With An Allowance Recorded 362us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
193us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
221us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Unpaid Principal Balance With An Allowance Recorded 360us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
188us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
213us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Related Allowance 75us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
73us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
56us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Recorded Investment, Total 614us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
639us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
599us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Unpaid Principal Balance, Total 610us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
631us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
590us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Related Allowance, Total 75us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
73us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
56us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Average Recorded Investment With No Allowance Recorded 333us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
421us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
332us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Interest Income Recognized With No Allowance Recorded 11us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
12us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Average Recorded Investment With An Allowance Recorded 275us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
246us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
193us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Interest Income Recognized With An Allowance Recorded 12us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
5us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Average Recorded Investment, Total 608us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
667us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
525us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Interest Income Recognized, Total 23us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
18us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
11us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
Customer | North America      
Financing Receivable, Impaired      
Recorded Investment With No Allowance Recorded 14us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
23us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
28us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Unpaid Principal Balance With No Allowance Recorded 14us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
22us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
27us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Related Allowance With No Allowance Recorded 0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Recorded Investment With An Allowance Recorded 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
13us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
25us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Unpaid Principal Balance With An Allowance Recorded 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
13us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
23us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Related Allowance 1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
7us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Recorded Investment, Total 20us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
36us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
53us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Unpaid Principal Balance, Total 20us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
35us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
50us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Related Allowance, Total 1us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
7us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Average Recorded Investment With No Allowance Recorded 20us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
25us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
50us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Interest Income Recognized With No Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Average Recorded Investment With An Allowance Recorded 9us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
18us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
25us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Interest Income Recognized With An Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Average Recorded Investment, Total 29us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
43us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
75us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Interest Income Recognized, Total 1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
4us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
4us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_NorthAmericaMember
Customer | Europe      
Financing Receivable, Impaired      
Recorded Investment With No Allowance Recorded 44us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
48us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
45us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Unpaid Principal Balance With No Allowance Recorded 43us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
47us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
45us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Related Allowance With No Allowance Recorded 0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Recorded Investment With An Allowance Recorded 12us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
20us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
28us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Unpaid Principal Balance With An Allowance Recorded 12us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
19us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
26us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Related Allowance 4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
7us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
11us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Recorded Investment, Total 56us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
68us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
73us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Unpaid Principal Balance, Total 55us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
66us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
71us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Related Allowance, Total 4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
7us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
11us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Average Recorded Investment With No Allowance Recorded 47us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
49us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
45us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Interest Income Recognized With No Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Average Recorded Investment With An Allowance Recorded 21us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
22us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
27us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Interest Income Recognized With An Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Average Recorded Investment, Total 68us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
71us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
72us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Interest Income Recognized, Total 2us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
2us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_EMEAMember
Customer | Asia/Pacific      
Financing Receivable, Impaired      
Recorded Investment With No Allowance Recorded 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
7us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Unpaid Principal Balance With No Allowance Recorded 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
7us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Related Allowance With No Allowance Recorded 0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Recorded Investment With An Allowance Recorded 29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
17us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
19us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Unpaid Principal Balance With An Allowance Recorded 29us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
17us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
19us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Related Allowance 8us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Recorded Investment, Total 31us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
24us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
21us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Unpaid Principal Balance, Total 31us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
24us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
21us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Related Allowance, Total 8us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
2us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
4us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Average Recorded Investment With No Allowance Recorded 3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
4us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Interest Income Recognized With No Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Average Recorded Investment With An Allowance Recorded 23us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
18us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
15us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Interest Income Recognized With An Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Average Recorded Investment, Total 26us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
22us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
18us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Interest Income Recognized, Total 1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_AsiaPacificMember
Customer | Mining      
Financing Receivable, Impaired      
Recorded Investment With No Allowance Recorded 29us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
134us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Unpaid Principal Balance With No Allowance Recorded 29us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
134us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Related Allowance With No Allowance Recorded 0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Recorded Investment With An Allowance Recorded 138us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Unpaid Principal Balance With An Allowance Recorded 137us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Related Allowance 9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Recorded Investment, Total 167us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
134us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Unpaid Principal Balance, Total 166us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
134us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Related Allowance, Total 9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Average Recorded Investment With No Allowance Recorded 69us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
61us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
8us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Interest Income Recognized With No Allowance Recorded 3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Average Recorded Investment With An Allowance Recorded 90us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Interest Income Recognized With An Allowance Recorded 7us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Average Recorded Investment, Total 159us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
62us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
8us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Interest Income Recognized, Total 10us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
3us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_MiningMember
Customer | Latin America      
Financing Receivable, Impaired      
Recorded Investment With No Allowance Recorded 34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
11us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
7us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Unpaid Principal Balance With No Allowance Recorded 34us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
11us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
7us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Related Allowance With No Allowance Recorded 0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Recorded Investment With An Allowance Recorded 42us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
33us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
36us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Unpaid Principal Balance With An Allowance Recorded 42us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
33us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
36us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Related Allowance 12us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
10us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Recorded Investment, Total 76us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
44us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
43us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Unpaid Principal Balance, Total 76us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
44us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
43us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Related Allowance, Total 12us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
9us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
10us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Average Recorded Investment With No Allowance Recorded 30us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
11us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Interest Income Recognized With No Allowance Recorded 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Average Recorded Investment With An Allowance Recorded 36us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
52us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
32us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Interest Income Recognized With An Allowance Recorded 1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Average Recorded Investment, Total 66us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
63us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
38us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Interest Income Recognized, Total 1us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
2us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= us-gaap_LatinAmericaMember
Customer | Caterpillar Power Finance      
Financing Receivable, Impaired      
Recorded Investment With No Allowance Recorded 129us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
223us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
295us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Unpaid Principal Balance With No Allowance Recorded 128us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
222us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
295us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Related Allowance With No Allowance Recorded 0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0cfsc_ImpairedFinancingReceivableNoRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Recorded Investment With An Allowance Recorded 135us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
110us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
113us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Unpaid Principal Balance With An Allowance Recorded 134us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
106us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
109us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Related Allowance 41us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
51us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
24us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Recorded Investment, Total 264us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
333us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
408us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Unpaid Principal Balance, Total 262us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
328us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
404us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Related Allowance, Total 41us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
51us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
24us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Average Recorded Investment With No Allowance Recorded 164us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
271us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
220us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Interest Income Recognized With No Allowance Recorded 6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
5us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Average Recorded Investment With An Allowance Recorded 96us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
135us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
94us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Interest Income Recognized With An Allowance Recorded 2us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
1us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Average Recorded Investment, Total 260us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
406us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
314us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Interest Income Recognized, Total 8us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
6us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
2us-gaap_ImpairedFinancingReceivableInterestIncomeCashBasisMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CustomerMember
/ cfsc_ImpairedFinancingReceivableAxis
= cfsc_CaterpillarPowerFinanceMember
Dealer      
Financing Receivable, Impaired      
Recorded Investment, Total 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
Average Recorded Investment, Total 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_DealerMember
Caterpillar Purchased Receivables      
Financing Receivable, Impaired      
Recorded Investment, Total 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
Average Recorded Investment, Total $ 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
$ 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember
$ 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cfsc_CaterpillarPurchasedReceivablesMember