XML 39 R23.htm IDEA: XBRL DOCUMENT
v2.4.1.9

Loans and Allowance for Loan Losses (Details) (USD $) In Thousands, unless otherwise specified | 3 Months Ended
--- | ---
Mar. 31, 2015 | Mar. 31, 2014
Allowance for Loan Losses |  |
Beginning balance | $ 4,173 us-gaap_LoansAndLeasesReceivableAllowance | $ 4,735 us-gaap_LoansAndLeasesReceivableAllowance
Charge-offs | (52)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs | (329)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
Recoveries | 100 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery | 89 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
Provision | 100 us-gaap_ProvisionForLoanLeaseAndOtherLosses | 100 us-gaap_ProvisionForLoanLeaseAndOtherLosses
Ending balance | 4,321 us-gaap_LoansAndLeasesReceivableAllowance | 4,595 us-gaap_LoansAndLeasesReceivableAllowance
Individually evaluated for impairment | 801 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 | 1,164 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
Collectively evaluated for impairment | 3,520 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment | 3,431 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
Loans |  |
Individually evaluated for impairment, beginning | 6,885 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment |
Collectively evaluated for impairment, beginning | 339,228 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment |
Loans, beginning | 346,113 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount |
Individually evaluated for impairment, ending | 5,956 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment |
Collectively evaluated for impairment, ending | 323,337 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment |
Loans, ending | 338,293 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount |
Agricultural [Member] |  |
Allowance for Loan Losses |  |
Beginning balance | 186 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember | 179 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember
Charge-offs |  |
Recoveries |  | 1 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember
Provision | 13 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember | 7 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember
Ending balance | 199 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember | 187 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember
Individually evaluated for impairment | 1 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember | 29 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember
Collectively evaluated for impairment | 198 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember | 158 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember
Loans |  |
Collectively evaluated for impairment, beginning | 41,098 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember |
Loans, beginning | 41,098 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember |
Individually evaluated for impairment, ending | 210 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember |
Collectively evaluated for impairment, ending | 35,329 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember |
Loans, ending | 35,539 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_AgriculturalMember |
Commercial and Industrial [Member] |  |
Allowance for Loan Losses |  |
Beginning balance | 527 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember | 562 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember
Charge-offs |  | (1)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember
Recoveries | 28 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember | 20 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember
Provision | 58 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember | 4 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember
Ending balance | 613 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember | 585 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember
Individually evaluated for impairment |  | 57 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember
Collectively evaluated for impairment | 613 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember | 528 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember
Loans |  |
Individually evaluated for impairment, beginning | 38 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember |
Collectively evaluated for impairment, beginning | 88,024 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember |
Loans, beginning | 88,062 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember |
Individually evaluated for impairment, ending | 5 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember |
Collectively evaluated for impairment, ending | 88,284 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember |
Loans, ending | 88,289 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = cofs_FinancingReceivableCommercialAndIndustrialMember |
Consumer [Member] |  |
Allowance for Loan Losses |  |
Beginning balance | 184 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 191 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Charge-offs | (51)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | (53)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Recoveries | 36 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 50 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Provision | 25 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | (1)us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Ending balance | 194 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 187 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Individually evaluated for impairment | 2 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 2 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Collectively evaluated for impairment | 192 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 185 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Loans |  |
Individually evaluated for impairment, beginning | 36 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember |
Collectively evaluated for impairment, beginning | 20,716 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember |
Loans, beginning | 20,752 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember |
Individually evaluated for impairment, ending | 26 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember |
Collectively evaluated for impairment, ending | 19,731 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember |
Loans, ending | 19,757 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember |
Commercial Real Estate [Member] |  |
Allowance for Loan Losses |  |
Beginning balance | 1,641 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 1,842 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Charge-offs |  | (185)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Recoveries | 6 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 14 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Provision | (149)us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | (7)us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Ending balance | 1,498 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 1,664 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Individually evaluated for impairment | 414 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 744 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Collectively evaluated for impairment | 1,084 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 920 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Loans |  |
Individually evaluated for impairment, beginning | 3,853 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember |
Collectively evaluated for impairment, beginning | 95,954 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember |
Loans, beginning | 99,807 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember |
Individually evaluated for impairment, ending | 3,031 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember |
Collectively evaluated for impairment, ending | 97,321 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember |
Loans, ending | 100,352 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember |
Construction Real Estate [Member] |  |
Allowance for Loan Losses |  |
Beginning balance | 9 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember | 12 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember
Charge-offs |  |
Recoveries |  |
Provision | 30 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember | (5)us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember
Ending balance | 39 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember | 7 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember
Collectively evaluated for impairment | 39 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember | 7 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember
Loans |  |
Collectively evaluated for impairment, beginning | 2,691 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember |
Loans, beginning | 2,691 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember |
Collectively evaluated for impairment, ending | 3,242 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember |
Loans, ending | 3,242 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConstructionLoansMember |
Residential Real Estate [Member] |  |
Allowance for Loan Losses |  |
Beginning balance | 1,193 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 1,626 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Charge-offs | (1)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | (90)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Recoveries | 30 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 4 us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Provision | 261 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 24 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Ending balance | 1,483 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 1,564 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Individually evaluated for impairment | 384 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 332 us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Collectively evaluated for impairment | 1,099 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 1,232 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Loans |  |
Individually evaluated for impairment, beginning | 2,958 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember |
Collectively evaluated for impairment, beginning | 90,745 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember |
Loans, beginning | 93,703 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember |
Individually evaluated for impairment, ending | 2,684 us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember |
Collectively evaluated for impairment, ending | 88,430 us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember |
Loans, ending | 91,114 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember |
Unallocated [Member] |  |
Allowance for Loan Losses |  |
Beginning balance | 433 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember | 323 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember
Charge-offs |  |
Recoveries |  |
Provision | (138)us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember | 78 us-gaap_ProvisionForLoanLeaseAndOtherLosses / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember
Ending balance | 295 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember | 401 us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember
Collectively evaluated for impairment | $ 295 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember | $ 401 us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_UnallocatedFinancingReceivablesMember

X
- Details
Name: | cofs_AllowanceForLoanAndLeaseLossesRollForwardAbstract
Namespace Prefix: | cofs_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The valuation allowance for financing receivables that are expected to be uncollectible that were collectively evaluated for impairment. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (g) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 + Details
Name: | us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of valuation allowance for financing receivables that are expected to be uncollectible that were individually evaluated for impairment. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (g) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 + Details
Name: | us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of recovery of financing receivables doubtful of collection that were previously charged off. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (c)(4) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 + Details
Name: | us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of direct write-downs of financing receivables charged against the allowance. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (c)(3) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 + Details
Name: | us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The balance of financing receivables that were collectively evaluated for impairment. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (h) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 + Details
Name: | us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The balance of financing receivables that were individually evaluated for impairment. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (h) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 + Details
Name: | us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of allowance to cover probable credit losses on loans and leases. Includes carryover of or adjustments to the allowance for loan losses in connection with business combinations. Excludes allowance for loans and leases covered under loss sharing agreements. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03.7(d)) -URI http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (c)(1) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (g) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (b)(1)(ii) -URI http://asc.fasb.org/extlink&oid=6379141&loc=d3e15032-111544 Reference 5: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Staff Accounting Bulletin (SAB) -Number Topic 6 -Section L -Subsection 1 + Details
Name: | us-gaap_LoansAndLeasesReceivableAllowance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount before allowance of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Includes deferred interest and fees, undisbursed portion of loan balance, unamortized costs and premiums and discounts from face amounts. Excludes loans and leases covered under loss sharing agreements. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=28367877&loc=d3e4428-111522 + Details
Name: | us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_LoansAndLeasesReceivableGrossCarryingAmountAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of expense related loan transactions, lease transactions, credit loss from transactions other than loan and lease transactions, and other loss based on assessment of uncollectability from the counterparty to reduce the account to their net realizable value. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=56944662&loc=d3e3602-108585 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 225 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04.11) -URI http://asc.fasb.org/extlink&oid=6879574&loc=d3e536633-122882 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 11B -Subparagraph (c)(2) -URI http://asc.fasb.org/extlink&oid=49124121&loc=SL6953423-111524 + Details
Name: | us-gaap_ProvisionForLoanLeaseAndOtherLosses
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cofs_AgriculturalMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cofs_FinancingReceivableCommercialAndIndustrialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_CommercialRealEstatePortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_ConstructionLoansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_ConsumerPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_ResidentialPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_UnallocatedFinancingReceivablesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |